Corner Cube Environment V2.0:
Symbolic Visualization of Activated Foci

Corresponding author:


Corner Cube: Download | Help
What it does:

The Corner Cube Environment (CCE) is a visualization package written in IDL which allows symbolic display of functional neuroimaging datasets in an anatomical context.

We want to be able to see the spatial relationship of foci of activation, with just enough anatomical information to keep us oriented.  This means treating foci of activation as clusters of connected voxels, representing each focus with a symbol, and embedding them within three faces of a cube (hence, "the CornerCube Environment"). The size of the cube is determined by the size of a structural MRI volume you designate as a reference volume, and slices or summed slices ("X-ray" views) of the reference volume are displayed on the faces of the cube.

GETTING STARTED

TEST IT!

The first thing that happens when cce_disp begins is that you will be asked (through a popup window) whether you want to load a preferences file. Say yes, and give it the name of the file you edited in step 3. After that, the main interface is launched. The interface is shown below; click the image for a full-scale version with readable text.


To try the sample data that came with the package, click on the STATEFILES button (near the bottom of the column).  When it comes up, use the browser to find the file testit.CCstate in the data subdirectory. Ask to Restore the statefile. Then wait a few moments. You should get a picture like this one:

THE INTERFACE -- BUTTON BY BUTTON

Select volumes | Set reference cube parameters | Set focus extraction parameters | Set focus symbol parameters | Calculate and Display |
RESET to default symbols | Select the action that occurs... | Adjust colormap | Other Buttons
Select Volumes

You will get the popup menu below.

The only thing you absolutely need to make an image is something for the first functional volume. The example case uses a T-statistic volume created from a left-handed finger-opposition experiment. The file storage type for this volume is VAPET_TALAIRACH (our in-house format -- where I know the location of the AC point based on the volume size and orientation). You have three other storage type choices in the drop-down menu: NATIVE_SPACE, FOREIGN, and Focus_descriptors. Native Space volumes are read in, and reoriented if necessary to put the axial, coronal and sagittal slice planes where I expect them to be. Native space volumes can be ANALYZE or VAPET format, and may also be gzipped.

Focus descriptor storage type is a simple text file -- like this one:
--          Lines beginning with ";--" are comments
;-- There is one line per focus, entries delimited by #. Spaces are ok. Use float numbers.
;--
;-- First three entries are focus xyz centroid in Talairach millimetric coordinates
;-- 4th entry is focus size in cubic centimeters
;-- 5th entry is average focus value
;-- 6th entry is peak focus value
;--
;     -20.9700 #      -49.0900 #      -20.4500 #      0.580000 #      0.842700 #      0.895900

Foreign storage type requires you to fully specify how to read your functional volume (you can use it for ANALYZE , VAPET or RAW types of storage; anything else is doubtful).  It also allows you to specify the coordinates of the anterior commissure.  You should first use the Define new LAYOUT file button (low center above) to set up something appropriate for your data. Then when you set the storage type to foreign you will be asked to select the layout file. The GUI below shows the VAPET_FVOL_TALAIRACH.layout file as an example.

Note: If your files are specifed as Native space or Foreign -- not interpretable CCE_disp will not report Talairach coordinates or look up names for you later on!

If you specify more than one volume, the volumes are expected to already be coregistered and have the same dimensions and voxel sizes.


Back to Top

Set reference (cube) parameters

You will get the popup menu at right.

The default size of the graphic window can be changed here -- select from 400 x 400 up to 1000 x 1000.

The wallpaper type can be Xray (as shown in the example image) if you loaded a reference volume. Your other choices are blank, simple grid, simple grid and Xray and Talairach grid and outline. You will only be show the choices that your data can support.

The little buttons for Gradient shading and Psuedo perspective on walls are there to help you out if the cube seems to invert when you look at it. The intention in the above example is for the vertex where the three faces join to be the farthest away from you. Gradient shading makes that corner a bit darker.

You can make the gray background color brighter or darker by successive clicks on the + and - buttons.


Back to Top

Set focus extraction parameters

Remember, this is strictly a visualization tool! It does not perform statistical testing -- you must be able to specify a meaningful threshold on your volume. You get four choices for threshold type: Percentile, % of maximum value, Specific value and Activated volume in cc. A percentile threshold (as shown) will compute the data value that falls at the 99th percentile on the positive tail of your data's histogram. Use the Show histograms button to see the histogram of your data and the threshold. If you wanted to get activations from the other tail, do not use 1%!!! -- go back to select volumes and Negate your data.

Choose a minimum number of connected voxels that you wish to call a "focus of activation". A value of 1 is apt to make a very busy display, but that's up to you.

If you loaded two volumes, both will be shown here with separate controls.


Back to Top

Set focus symbol parameters

You have to have extracted some foci before you can maniupulate their symbols.  After that you have lots of control over them -- set things up the way you like them, and then click Apply. When you click Done the menu will go away.

The little color square next to Volume 1 and Volume 2 shows you the basic color being used for foci of that dataset

Control the brightness and thickness of the stalks using the +/- buttons. You can also decide which face the stalks should connect to (from none to all three!).

Similarly, you can choose the color and manner of orthogonally projecting the symbols onto the cube faces.

By default, all the foci in a volume use the same symbol type. Choose between Sphere, Blob, Ellipsoid, Rotated Ellipsoid, Stalk only, None, Sphere or Torus, Ellipsoid or Torus. Sphere symbols have the same volume as the focus and are placed at the centroid.  Blob is just a surface rendering of the collection of voxels in a focus (it will be a little smoother than just a collection of sugar cubes). Ellipsoid symbols maintain the volume of the focus and uses the spread in the orthogonal planes to specify the major and minor axes. Rotated Ellipsoid orients it to the principal axes of the blob. XXX or Torus will use that as the symbol if the Euler characteristic of the blob = 0 (but it is not a good indicator of the size or orientation of the hole!). Note: the sample dataset shown below will show a torus.

You can dive in and set the symbol type for each focus if you want to. If you have a lot of symbols, you should get a scrollbar on this menu so you can reach them all.





Back to Top

Calculate and Display

If you don't want to fiddle with the focus extraction or reference cube parameters right away, just click this button. You also need to use this button if you change the rotation angles using the sliders -- I can't compute new views in real time.


Back to Top

Reset to default symbols

This will use whatever was in your preference file. If you didn't use one, the default symbols are spheres, on stalks connected to the axial plane.


Back to Top

Select the action that occurs when a symbol is clicked

By default, if you click a symbol (or its projection) a popup window will appear that tells you about the focus. It will look something like the one below if you are using a Talairach-interpretable volume. If you have two volume and their foci intercept each other (in blob space -- symbols won't necessarily intersect) the intersecting focus will also be reported.

Two other choices are Show wallpaper slice at centroid (or peak). Up to now, the projections for all the foci show at the same time, on a generalized wallpaper. Changing to this mode means a click will update all the slices and only plot the projection of the focus you chose.  If foci intersect, both projections will be plotted.

Lastly, you can request Popup {Axial, Coronol, Sagittal} slices. This is going to go get the focus and overlay it on each slice in which it appears, plus one slice on either side. If foci intersect, you will get a window for each.


Back to Top

Adjust colormap

The routine that does this is called xmerge_stripe. Its interface should look about like this. For CornerCube, you need to be using Two colortables. The left one applies to your reference volume, and the right one to the functional volumes. The right stripe has been Split (which gives you the controls at the lower right), so you can use different colorstripes for the different volumes. The upper part of the stripe is for volume 1, the lower for volume 2. Setting Bottom=black is usually a good idea too.




Back to Top

Copy Window  makes an IDL window of the current picture annotated with the volume names.

Save Window  writes a truecolor TIFF of the current picture annotated with the volume names.

Print focus summaries  When foci are extracted from a volume, a text file is written in the working directory called [volumename].focus.table. All this command does is spawn a print of those files.

Toggle DEBUG mode  goes from off to on and back. Use this if you are having trouble. Lots of stuff will print to the standard output window and also be captured in the CCE_DISP.journal file. If you ask me for help, please send the journal file!

STATEFILES  lets you read or write a statefile

HELP  pops up an abbreviated instruction set.

Exit  and thank you.


Back to Top

Page last updated November 30, 2004.