Neuroimaging, Software, and Communication
eBook - ePub

Neuroimaging, Software, and Communication

The Social Code of Source Code

Edison Bicudo

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Neuroimaging, Software, and Communication

The Social Code of Source Code

Edison Bicudo

Book details
Book preview
Table of contents
Citations

About This Book

This book analyses the social contexts in which programmers design neuroimaging software used in brain studies. It shows that in the same way people engage in everyday communication, programmers are involved in a series of communicative processes to realize the negotiations and discussions generated by software development. In this way, highly technical activities such as computer code writing are also underpinned by values, preferences, and power relations.
At the same time, the book sheds new light on scientists' increasing dependence on software. On the one hand, many scientific tasks can no longer be performed without the help of computational technologies. On the other hand, most scientists have only superficial computing knowledge. As a result, inequalities emerge whereby some scientists take the most strategic methodological decisions whereas other scientists can only rely on the technical help provided by user-friendly computer applications.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Neuroimaging, Software, and Communication an online PDF/ePUB?
Yes, you can access Neuroimaging, Software, and Communication by Edison Bicudo in PDF and/or ePUB format, as well as other popular books in Biological Sciences & Neuroscience. We have over one million books available in our catalogue for you to explore.

Information

Year
2019
ISBN
9789811370601
2ndPartCodifying Society
© The Author(s) 2019
Edison BicudoNeuroimaging, Software, and Communicationhttps://doi.org/10.1007/978-981-13-7060-1_4
Begin Abstract

chapterFour ( Owning Code: Institutional Aspects of Software Development ) {

Edison Bicudo1, 2
(1)
School of Global Studies, University of Sussex, Brighton, UK
(2)
Department of Sociology, University of Sao Paulo, Sao Paulo, Brazil
Edison Bicudo
End Abstract
% social code
% source code
1 function out = spm_run_coreg_estwrite_MIBCA(varargin)
2 % SPM job execution function
3 % takes a harvested job data structure and call SPM functions to perform
4 % computations on the data.
5 % Input:
6 % job - harvested job data structure (see matlabbatch help)
7 % Output:
8 % out - computation results, usually a struct variable.
9 %___________________________________________________________________
10 %Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging
11
12 % $Id: spm_run_coreg_estwrite.m 4380 2011-07-05 11:27:12Z volkmar $
13
14 job = varargin{1];
15 if isempty(job.other{1])
16 job.other = {];
17 end
18
19 x = spm_coreg_MIBCA(char(job.ref), char(job.source),job.eoptions);
20
21 M = spm_matrix(x);
22 PO = [job.source(:); job.other(:)];
23 MM = zeros(4,4,numel(PO));
24 for j=1:numel(PO),
25 MM(:,:,j) = spm_get_space(PO{j});
26 end
27 for j=1:numel(PO),
28 spm_get_space(PO{j], M\MM(:,:,j));
29 end
30
31 P = char(job.ref{:],job.source{:],job.other{:]);
32 flags.mask = job.roptions.mask;
33 flags.mean = 0;
34 flags.interp = job.roptions.interp;
35 flags.which = 1;
36 flags.wrap = job.roptions.wrap;
37 flags.prefix = job.roptions.prefix;
38
39 spm_reslice(P,flags);
40 out.cfiles = PO;
41 out.M = M;
42 out.rfiles = cell(size(out.cfiles));
43 for i=1:numel(out.cfiles),
44 [pth,nam,ext,num] = spm_fileparts(out.cfiles{i]);
45 out.rfiles{i} = fullfile(pth,[job.roptions.prefix, nam, ext, num]);
46 end;
47 return;
The piece of computer code presented above belongs to a software package called MIBCA (for Multimodal Imaging Brain Connectivity Analysis).1 Its main producers are Dr. AndrĂ© Ribeiro and Dr. LuĂ­s Lacerda, who started the project as students of the Institute of Biophysics and Biomedical Engineering, University of Lisbon, Portugal. I would like to draw attention to seven lines in this code written in the MATLAB language: 12, 19, 21, 25, 28, 39, and 44. The reader will note that in all those lines, AndrĂ© and LuĂ­s used some functions whose names begin with “spm_”. SPM is the world’s most widely used neuroimaging software package. To be precise, MIBCA is not truly a software package; it is an application that allows researchers to combine several functionalities present in other open source packages such as FSL, FreeSurfer, and SPM. So in the aforementioned code lines, the authors wrote code to use some functionalities available in the SPM package. In the MatLab language, comments are introduced by the percentage symbol (%). In lines 3 and 4, it is explained that MIBCA takes some neuroimaging data and process them by recurring to functions available in SPM. Interestingly, in line 10 another comment acknowledges the authorship of the Wellcome Trust Centre for Neuroimaging, the institution responsible for the SPM project.
Two aspects of software development need to be carefully pointed to. On the one hand, computer code, even if it is published as open source code, never ceases to be somehow attached to some people or institutions. On the other hand, issues of ownership and code control are always present, as illustrated by the history of MIBCA [ hist, mibca ].
  • [ hist, mibca ]
  • Dr. LuĂ­s Lacerda, formed a biomedical engineer, did the Master’s Degree at the Institute of Biophysics and Biomedical Engineering, Univ of Lisbon, Portugal, under the supervision of Professor Hugo Ferreira. He developed a toolbox for the analysis of neuroimaging data. He then met AndrĂ© Ribeiro, another Master’s Degree student who was being supervised by professor Hugo and who developed another neuroimaging toolbox. The students had the idea of joining the two applications, an initiative that was promptly supported by their supervisor. Satisfied with the outcome, they decided to do some further work on the application, including the use of functionalities present in some popular neuroimaging packages. LuĂ­s worked in close collaboration with AndrĂ©, also relying on some occasional coding inputs from professor Hugo Ferreira. At a certain point, LuĂ­s left the Institute and went to London for a PhD program. Shortly after, AndrĂ© also went to London for the same reason. The two students decided to carry on working on MIBCA, having frequent meetings and continuing to have some occasional support from their former supervisor. When both students completed their PhDs and obtained their first academic positions, the work had to be stopped. Nowadays, MIBCA is still attached to the Portuguese university. In this way, professor Hugo Ferreira continues to make the code available to his new PhD students, so the application can be further improved. In his interview, LuĂ­s recalled the original insights behind the application’s development. He said that some original things had to be implemented, but functionalities available in other packages could also be reused.
  • “[
] in the beginning, we didn’t want to create an original thing but we wanted to use what had been done. But
 We didn’t want to replace everything, but at least some things that, according to our view, we could adjust better to our needs, and then we could have more control. So it was more a question of learning what was behind and also to have better control over the inputs we had, the outputs, and how all of that happened in the whole code.
  • That is, today, if I have a look at the code of MIBCA, I’ll find in there its code (the original code of MIBCA) and code
 and other code.
  • Yes. Yes.
  • And is it possible to say what is the percentage of original code and

  • [
] Much of MIBCA’s code is for liaising the different toolboxes and also to manage the platform, but all the visualization part and statistical tests, which are very important in the toolbox, is all original code. And this part is still quite big [
] I’m not sure, but at least 50%.”
Like MIBCA, there are many software packages that are left behind when their initial developers move to a new institution. It is not rare that the institution takes possession of the coding work so other students and researchers add new functionalities, turning the personal project into an institutional one. In this chapterFour, it is precisely this metamorphosis through which personal code becomes institutional code, as well as its political and geographical implications, that will be stressed. For so doing, six phenomena will be analysed: commercial and non-commercial aspects of software development; personal and institutional contents of computer code; the role played by universities; the consequences of institutional code ownership; the political and geographical hierarchies of software development; and the example of the SPM package.

section11 ( Institutional Barriers, Code Shields ) {

The BrainVoyager neuroimaging software package constitutes an interesting case because, in a field dominated by open source, it has been a successful project managed by a company [ hist, bvgr ].
  • [ hist, bvgr ]
  • The BrainVoyager project began through the initiative of a young and most talented programmer, Rainer Goebel. In the mid-1990s, working as a post-doc researcher of the Max Plank Institute for Brain Research, Germany, he felt the need to develop an analysis software that could be, at the same time, efficient, quick, user-friendly, and visually attractive. He combined the development of this new tool with the conduct of his neuroimaging studies. In 1996 Rainer had the first version ready for release. When he presented his product at the Human Brain Mapping Conference, in the United States, much surprise and excitement followed, because of the application’s beauty and speediness. Recognizing BrainVoyager’s commercial potentiality, Siemens approached Rainer and offered a large sum to acquire the right the explore the software commercially. The Max Plank Institute did not allow Rainer to sell the software but supported him to launch his own commercial initiative. In 1998 the Brain Innovation company was founded. Thanks to his academic success, Rainer was subsequently invited to join the Maastricht University. In 2000, he, his wife, and the company moved to the Netherlands where he continues to be a professor, in addition to being the CEO and main developer of Brain Innovation.
  • “ So I think that BrainVoyager is the most popular software produced by a company (in the world). Why do you think that the project has been so successful?
  • I think that the reason is because it makes a difficult task, namely to, you know, analyse complex data from brain scanners, in a quite, you know, easy, transparent, non-black box way [
] You can select menu items. And it has a lot of tools, but they’re all integrated in the same spirit, in the same interface, right? So they [users] get good speed (quite fast) without having to learn multiple tools [
].”
The history of BrainVoyager [ hist, bvgr ] helps see the importance of code ownership. Initially, the code belongs to its writer, in this case Rainer Goebel. However, the programmer works in an institution, which may have some control of what happens with code. In the case of BrainVoyger, the Max Plank Institute prevented Siemens from acquiring the rights to explore the software. Because code ownership can generate financial rewards, it can underpin the creation of new companies, which happened with Brain Innovation.
  • “So I expose indeed the code but there’s a shield. That means, it’s documented, it’s open source, so to say, but it’s precisely determined by me. So you cannot kind of read the real C++ code. It is C++ but it’s kind of
 We call it an API. So any commercial software, like Apple or Google, they do the same thing. They expose their code via a so-called API, application programming interface, which documents what you can and what you cannot do, right? So I control what people can do. But I do it very liberal.”
  • Professor Rainer Goebel (Brain Innovation, Netherlands)
Companies generally need to keep some secrets and pursue financial goals quite adamantly, so they fail to follow the collaborative schemes reviewed in chapterTwo. To be sure, a company like Brain Innovation cannot simply ignore some fundamental features of the scientific domain. For example, some of Brain Innovation’s programmers are PhD students who want their coding productions to be open source. This is why part of the package’s source code is made available on the internet. Professor Goebel claims to appreciate this model, “because it helps to make the stuff we do more transparent to the outside.” At the same time, he is preparing a book where many of the algorithms used in the BrainVoyager package will be disclosed. However, Brain Innovation cannot help assuming, on strategic points, the protective stance typical of companies. In this way, Rainer’s book will not reveal the most distinctive characteristics of his package. For instance, he will not disclose the coding strategies that make BrainVoyager have a processing speed superior to most neuroimaging packages. In his words, “I will not give away the speciality of BrainVoyager.” Furthermore, even if users are allowed to program toolboxes for the package, this functionality is offered in a tightly controlled way, so that people cannot gain the knowledge of the package’s most basic coding features.
For many hackers, and especially those committed to open source, the strategies adopted by Brain Innovation and other software companies would be an example of “hoarding of technology” (Torvalds and Diamond 2001, p. 194), a practice typical of “gate keepers for code” (von Hippel and von Krogh 2003, p. 219). For people voicing this kind of concern, the social and economic benefits of software development are maximized whenever programmers share all their coding productions “without attempting to make them excludable” (Schwarz and Takhteyev 2010, p. 624). This concern has been so strong that software development became one of the few domains with instruments aimed to prevent productions from being patented or copyrighted. For example, the Berkeley Software Distribution (BSD) License determines that a certain software package must be open but does not...

Table of contents