MRIs and Volumes Display

Buttons

Mouse

Changing Isosurface value

Keyboard

Menus

Filters menu
Options menu

Technical points

Initial background threshold value
Guessing what the volume actually is
Searching for the orientation
'Depth shifting' trick
Talairach coordinates in MRI

MRI - Buttons

Rendering 

Toggles between 4 display modes (see here for basic explanations on rendering):

Change the Isosurface cutting value 

Dynamically adjust the isosurface cutting value (or background threshold value). By holding the mouse's right button down, moving upward increases the isosurface cutting value (therefor "shrinking" the volume appearance), and the opposite when moving downward.

During this process, only a low resolution version of the volume is displayed, to gain speed. Only when releasing the button the full resolution isosurface will be computed, and displayed. You can have a short time lag before the final isosurface appears, due to this computationally expensive process. Also, some geometrical details hidden in the low resolution display will appear in the higher resolution. You will get use to it, and you can re-adjust very quickly by again using the mouse, or with the options menu .

For those interested in technical details, up to 6 volumes are cached by the isosurface functions. The first access to the isosurface will copy the volume, then filters it, and later calls will only use this cache, again, for an overall gain in speed.

Colorize the exterior surface 

Usually, the exterior surface of a volume appears with a predefined exterior color (kind of shiny, silver-like). When activating this button, you can assign a color of your choice to the exterior surface. This can be helpful to discriminate between different volumes (or just because you like colors).

The colors at your disposal are the ones in the current Color Table , so you may have to change it to have the right colors. The exterior surface actually "has a value" set to the current Isosurface cutting value, so its color is the one picked in the color table with this value. This means that changing the Isosurface cutting value will also change the color (no headache, this is intuitive). Also, changing  the Brightness level (or the Contrast level) will also affect the color chosen, and this is rather the way to go.

 

Here is an example, with the same Isosurface cut, first without the colorization, then with colorization and with two different brighness levels:

And another example with the same brightness level, but with increased Isosurface cutting values:

And finally, if a volume has been detected as a ROI volume , many exterior colors are used, one for each underlying ROI values:

Editing / cutting into the volume 

You have here a set of tools (currently 5) to help you edit / cut / remove some unwanted parts of the current volume:

 

You switch between these tools by repeatedly pressing on the cutting button . And you quit the editing mode after the last tool, or after pressing the Esc key.

Every tool will graphically display itself as some sort of reddish, semi-transparent object . The tool will adapt itself in real time to the current position your pointing at.

There will also be some hint showing up at the bottom of the display, to remind you in which editing mode you currently are.

Finally, simply Middle-clicking with the mouse will apply the tool at your current position, deleting all data inside.

Deleting Centered Sphere

A reddish sphere appears:

 

Useful to delete big floating blobs, or clipping some round regions in the volume: 

Blurring Centered Sphere

3 concentric reddish spheres appear:

 

Very useful to anonymize a full head, so that the individual's face could not be recognizable anymore. You might have to apply the filter a few times to achieve the desired level of blurriness, while changing location a bit while doing so. And of course, work on a copy of the original head!

Note that the internal parts of the MRI get also blurred, and not only the face, which might also affect the brain itself. So don't attempt to extract the brain on the blurred head, the latter is merely for display and not other processing !

Deleting Cylinder perpendicular to surface

A reddish cylinder appears:

 

This is useful to punch all sorts of holes that are not spherically shaped:

Deleting Sphere perpendicular to surface

A reddish sphere appears:

 

This sphere differs from the first one by how it lands on the data. First one is centered on the position you point. While this one simply touches the surface of the volume. This is useful to delete stuff floating outside of an object of interest (which will remain intact):

Deleting below plane perpendicular to surface

A reddish plane appears, shown as a big disk:

 

This will cut all data on the one side of the plane shown by the gradient vector:

Other hints

Clipping plane Coronal 

Select a Coronal clipping ("cutting") plane (see below).

Clipping plane Transverse 

Select a Transverse clipping ("cutting") plane (see below).

Clipping plane Sagittal 

Select a Sagittal clipping ("cutting") plane.

 

If in the slice rendering modes, it simply toggles the planes on or off:

If in the volume rendering modes, it cuts the volume, showing one half first, then the second half, and then off again:

In the case above the clippping planes can also be cumulated, then only the intersection of the 2 or 3 planes are clipped (note that it will become more computationally demanding):

All in all, you have 8 clipping combinations, 2 in each axis, allowing to clip any octant.

See also the related topic of searching and displaying the orientation .

Slice mode 

You switch to a serie of 2D slices:


By pressing many times on the button, you have access to coronal, transverse and sagittal displays.

The previous 3D display is still used (and might be modified as well), following the last slice, as to give an idea of  where the slices are actually cutting.

You can still rotate the slices, if the orientation does not fit your taste.

More or less slices 

While keeping the first and last slices position fixed, this will either add or remove intermediate slices. If pressing the Shift key at the same time, it either add all the slices between the current extremes, or remove all slices at once.

Move first slice 

Move the first slice forward or backward, the meaning of it being dependent of what is the current slice mode (coronal, transverse or sagittal). If pressing the Shift key at the same time, it will step faster each time.

Move last slice 

Move the last slice forward or backward, the meaning of it being dependent of what is the current slice mode (coronal, transverse or sagittal). If pressing the Shift key at the same time, it will step faster each time.

Show Max 

Draws a symbol at the maximum position, which can be either:

The slices are not automatically positionned at the max. If you want to do that use the Find Max position button (below).

Find Max position 

This will position the current cutting plane(s) at the maximum position.

It will not automatically show where the max is on the cutting plane, though. To that aim, use the Show Max button (above).

 

Here the max is shown as a 3D cross, and the Find Max position is not activated (top pictures), then activated (bottom pictures):

 

Brightness 

Only when you have some clipping planes active, it changes the brightness of the slices displayed. It also works in the special case of isosurface coloring .

Technically, there is a mapping from values to colors, and increasing the brightness decreases the maximum value (indicated above the color scale) mapped to the maximum color, therefor making lower values appear brighter:

Contrast 

Contrast does not change the maximum value mapped to the maximum color, but changes the slope of the mapping, increasing or decreasing the color differences between low and high values.

Low contrast is achieved through a linear mapping of the values to the colors. Higher contrasts are done by an exponential mapping (as a Gamma correction), making low values appear dimmer, and high values appear brighter:

Note in the pictures above, that the maximum mapped value has not changed. Though the appearance of the color scale (on the right) has changed, correctly reflecting the non-linear color mapping (more colors for higher values when increasing contrast).

Color auto scaling 

Sets the maximum volume value to the maximum color value. Put it another way: automatically sets the brightness to match and correctly display the data. Consequently, the brightness buttons become inactive, but still the contrast can be adjusted.

Color modes 

Cycles through different color tables (black to white, white to black, black to yellow to white, etc...):

MRI - Mouse

Go here for the mouse actions common to all views.

Changing the Isosurface cutting value

While in Isosurface mode, by holding the mouse's right button down, moving upward will increase the isosurface cutting value, therefore "shrinking" the volume. Conversely, moving downward will increase the isosurface cutting value, "inflating" the volume.

 

The visual hints associated with the isosurface:

MRI - Keyboard

See the general 3D keyboard and basic window keyboard actions.

MRI - Menus

Filters menu

A whole bunch of filters are here for you to play with, enjoy!

The filters apply to the current MRI at its current state. Here are the main families of filters:

 

Options menu

MRI - Technical points

Initial background threshold value

When opening (or modifying) a volume, it is needed to estimate the value below which is only noise (or null data), and above which are significant data. This value is called the background threshold value, and is also used as the inital isosurface cutting value .

Though it seems very intuitive to you when a looking at the data, remember you are using a very complex image analysis processing called the human visual system. But when it comes to an automatic process, things get tougher, so here is the method currently in use:

Cartool first computes a downsampled histogram of the volume, then cuts at the first valley following the first peak. The first peak usually designates the background voxels values, which are more or less the most numerous low values voxels. So cutting just after the peak end usually leads to the best results.

Remarks:

Background threshold value can be modified later on, either through this option, or by the interactive isosurface process.

Background threshold value is implicitly used when searching for the orientation, and can therefor affect its proper detection.

Guessing what the volume actually is

Though not a vital point, Cartool tries to guess what the heck is that volume you just opened! It has absolutely no influence on the content itself , and it will not modify anything in it! However, Cartool uses its guess to tune up a few parameters for a better display, like the isosurface smoothness, the isosurface cutting value, the colors, etc...

 

Cartool will "guess" between these different types of volumes:

Searching for the orientation

Cartool tries to "understand" by itself the orientation of the data inside the volume. There are many reasons to do this. Firstly, there are many formats supported in Cartool, and not all of them do include informations on how oriented the data are. Secondly, though some formats have the ability to describe the orientation, it may not be used, or even worse, may be used erroneously. And finally, there are people who like to define an orientation system of their own, and you have to guess which one in the 48 possible systems.

So the best solution is simply to ignore all this mess. Cartool will read a volume as it is written in the file and will not attempt anything to re-orient it (i.e. coregistration is the user's responsability). However, it will try to guess, as we are dealing with (some sort of) brains and heads, how it is oriented to simplify and ease the manipulation and display :

 

I will not describe the algorithm used here, as it has not been published, and is still under development. Enough to say it works by scanning the volume, sequentially finding axis by looking for symetries, center of gravity, and a few other appropriate methods. It has been tested on a lot of volumes, of low and high resolutions, extracted brains or full heads, partially cut or complete, MRIs or PETs, etc... But still the result may be incorrect if there are unwanted artifacts in the volume. In any case, it will not modify nor interfere with the real data.

The success of the detection will depend on the initial background threshold value , so an incorrect threshold is very likely to give an incorrect orientation. Cartool also waits for something like a brain , so if the volume is not looking close to this (say, your grandfather's watch), the result is simply unpredictable (though sometimes it works!). If the detection totally fails, the flags are simply "X Max", "X Min", "Y Max" etc...

'Depth shifting' trick

In the real world, an object and its image are (without entering in a metaphysical discussion) at the same place. So you can touch what you see, except for holograms, right?
Now with computers, you can do more un-natural tricky things. In the present case, we can introduce a shift between the depth position of the "object" (where it is), and its image (where we see it). So it will appear rather normally, though its position is actually displaced toward the viewer (you / the screen). Intuitively, we will see the object contained into another one, displayed "on top" of it instead of being occluded. See an example with 3 increasing depth shifts:

Though the full head is opaque, and the brain is inside (well, usually...), with increasing the depth shift we can visualize up to the half of the brain (the maximum) seen on top of the head. But this is not by any mean a "projection onto the surface" of the head .

The depth shift is limited to up to the half of the object, therefor hiding its furthest half in all cases (in the example above, we will never see the left hemisphere of the brain, as we see from the right side).

 

Very important notice:

Once a shift has been introduced, you could easily induce a misinterpretation of where the data really are while rotating the volume. I therefor strongly recommend to use it very cautiously, and to favor orthogonal simultaneous views only.
See an example of possible misinterpretation due to small rotations, the inner blob is nearly central but can be made as if it were on the left or on the right side:

Talairach coordinates in MRI

Talairach coordinates are, at the moment, hardwired into the code and therefor available only for a restricted set of MRI files: the MNI / McGill standard brains.

The files which Cartool recognizes can only be the following:

 

Only then are these functionalities available: