Welcome to the user manual for the BrainMapper software.
Contents - Calculation
Go back to home pageOne of the fundamental points of this project is to be able to apply several calculations and operations on one or a set of nifti files. These operations can aim to establish statistics between different files (Average, linear combinations), or to cross information between different files (Intersection, union), to extract information more easily in a file (calculation centers of gravity or entropy) or to apply transformations on a file to improve the quality of the data and to suppress the noise for example (Mathematical Morphologies)
The data contained in the nifti files are extracted using the NiBabel library which retrieves the 3D matrix do voxels. Then we store in a table all the voxels whose intensity is strictly positive. We thus succeed in reducing all the voxels considered. This table is a numpy.array of dimension 4 (x, y, z, i) where x, y, z are the coordinates of the voxels in the matrix and i the intensity of the voxel
To optimize the speed of computation, we use the numpy library which makes it possible to reduce by a ratio 100 the execution time of the calculations thanks to a parralelization procedure which makes it possible to distribute the computations to each processor of the computer in question.
To further improve the results we decrease the search space related to the extraction of positive voxels. To be done instead of running a bare course in the 3 dimensiosn that are x, y and z in the dataset of the Nifti file which would be about 4,000,000 voxels to visit we reduce this to a cube that includes all of them voxels whose intensity is strictly positive. Thus the extraction process becomes much faster. We go from an extraction that lasts more than 2 minutes to an instantaneous extraction of less than half a second
The Addition algorithm make a addition with a collection of nifti makes the term some term of each voxel
The Boolean intersection takes a set of files and returns a binary file of 0 and 1. A voxel with 1 value means that for every file this voxels have strictely positive intensity
The Boolean union takes a set of files and returns a binary file of 0 and 1. A voxel with 1 value means that there exists in at least some files nifti a voxel whose intensity is strictly positive
This algorithm calculates the centroid of each cluster present in one or a set of nifti files
In mathematical morphology, the closing of a set (binary image) A by a structuring element B is the erosion of the dilation of that set, A * B = ( A (+) B ) (-) B, denote the dilation and erosion, respectively. In image processing, closing is, together with opening, the basic workhorse of morphological noise removal. Opening removes small objects, while closing removes small holes.
Dilation (usually represented by (+)) is one of the basic operations in mathematical morphology. Originally developed for binary images, it has been expanded first to grayscale images, and then to complete lattices. The dilation operation usually uses a structuring element for probing and expanding the shapes contained in the input image.
The entropy of an image is a decimal value that allows to characterize the degree of disorganization, or unpredictability of the information content of a system.
Erosion (usually represented by (-)) is one of two fundamental operations (the other being dilation) in morphological image processing from which all other morphological operations are based. It was originally defined for binary images, later being extended to grayscale images, and subsequently to complete lattices.
The Mean process averages a set of nifti files. The algorithm performs the sum for all voxels present in each file the divides the value obtained by the number of files
The normalization algorithm creates one nifti file result for each input nifti file. This algorithm create a file where the values for each voxel are between 0 and 1. Different ways exit to normalize a nifti file, you can select in the options panel the desired method
In morphological opening ( A (-) B ) (+) B, erosion operation removes objects that are smaller than structuring element B and dilation operation restores the shape of remaining objects. However, restoring accuracy in dilation operation highly depends on the type of structuring element and the shape of restoring objects. The opening by reconstruction method is able to restore the objects completely after erosion applied.
The threshold operation allows you to store only voxels whose intensity value is between the min and max parameters. All voxels that do not meet this criterion have their intensity that becomes zero. If no value is assigned to min and max then their values will be less the infinite and the less infinite respectively.
Select one or more colifenings from nifti in the home view. Note that you need at least one collection to access the calculation view
For each algorithm there is a brief description of it to allow the user to know exactly what each algorithm corresponds to. Finally for some algorithm there are parameters that must be entered and can be modified to allow the user to have more flexibility in the use of these.
Once the user has selected a calculation and initialized all the parameters, he can execute it using the "Calculate" button located at the bottom right of the calculation view.
When the calculation has successfully run the user to a console return that allows him to have a summary of the calculation that was done with all the input file, the parameters, the nature of the file or output. .. etc. Finally, it is proposed to the user to record or not the calculation result (s).
Once you have saved your calculation result as a set, you can access it by returning to the home view in the calculation tab. You can then, for example, view the rendering in the edition view. Like the two pictures below :