[caret-users] Some remarks, whishes, questions

John Harwell john at brainvis.wustl.edu
Mon Nov 26 11:41:12 CST 2007


Roland,

I have added a few comments below.

-----------------------------------
John Harwell
john at brainmap.wustl.edu

Department of Anatomy and Neurobiology
Washington University School of Medicine
660 S. Euclid Ave   Box 8108
Saint Louis, MO 63110



On Nov 26, 2007, at 8:26 AM, Donna Dierker wrote:

> Hi Roland,
>
> See inline replies below for a couple of answers.  John will be in  
> later today and probably will know the remaining answers.
>
> Donna
>
> On 11/22/2007 05:31 AM, Roland Marcus Rutschmann wrote:
>> Hi again,
>>
>> while working with the new caret version 5.5 I encountered some  
>> new (at least to me) features that I have some questions to.
>>
>> Preprocessing-question:
>> a) When I load a 1x1x1mm T1-nifti image with a q-form that has  
>> some angle to it, the voxel-dimensions shown in caret are not  
>> 1x1x1 any more but eg 0.96x1.02x0.99. How is the image resample if  
>> I use Volume->edit Attributes->resample.
>> -is it just a resampling in the 3 major dimensions or is the  
>> affine transformation of the q-form used?
>> -would you recommend this kind of resampling in this case?
>>

At this time, Caret is unable to properly read volumes with oblique  
orientations (those with rotations).  Caret will read the volume but  
no rotation is performed to place the volume into an orthogonal  
orientation.  If the qform is set and the sform is not set, some  
NIFTI code that I do not fully understand applies the quaternions to  
both the volume origin and the voxel dimensions.  The transforms are  
not applied to the voxels.

You will need to use another program that will place your volume(s)  
into an orthogonal orientation (no rotations).

"http://nifti.nimh.nih.gov/nifti-1/support/CaretAndNifti1" describes  
Caret's support for AFNI.

>>
> Don't know.  I know AFNI's 3dresample and FSL's flirt are  
> alternatives.
>> b) Rescaling-Wish: I use an unbiased T1-image that has a few  
>> outliers. What I do now I only use voxels within a lower-upper  
>> threshold to rescale. Is there some option within caret to do  
>> this? If not, I think it would be nice ;-)
>>
>

Depending upon the version of "caret_command" that you have, it  
provides several options for rescaling voxels in addition to the one  
Donna mentions.

"caret_command -volume-rescale-voxels" allows you to choose the  
values for rescaling and these can be set to remove outliers.

    VOLUME RESCALE VOXELS
       caret_command -volume-rescale-voxels
          <input-volume-file-name>
          <output-volume-file-name>
          <input-minimum-value>
          <input-maximum-value>
          <output-minimum-value>
          <output-maximum-value>

          Rescale a volume's voxels.
          "input-min" and below are mapped to "output-min".
          "input-max" and above are mapped to "output-max".

In addition, the Edit Volume Attributes Dialog's "Data" tab has a  
button labeled "Rescale Voxel Values".  It provides a GUI interface  
for rescaling voxels.


>   VOLUME SCALE VOXELS 0 to 255 WITH PERCENTAGE OF MIN/MAX
>      caret_command -volume-scale-percent-min-max-255         <input- 
> volume-file-name>
>         <output-volume-file-name>
>         <percent-minimum>
>         <percent-maximum>
>                Scale voxels so that they are in the range 0 to 255 but
>         map the first "percent-minimum" voxels to 0 and map the
>         last "percent-maximum" voxels to 255.
>                The "percent-minimum" and "percent-maximum" values  
> should
>         range from 0.0 to 100.0.  Setting the "percent-minimum" to
>         2.0 and the "percent-maximum" to 3.0 will result in the first
>         two percent of voxel values being mapped to zero and the last
>         three percent of voxel values being mapped to two hundred
>         fifty five.
>
>> c) Remark: I often have a discrepancy of search handles and  
>> topology report of the surfaces (both telling me no handles  
>> euler=2) on one hand and the volume->segmentation->topology report  
>> on the other hand. In the latter I often find euler=1, handles=1
>>
> The volume: segmentation: topology report tells the truth, but  
> sometimes the handles are so tiny (e.g., two voxels kissing at  
> corners) that you can't see them on the inflated surface.  I'm not  
> sure how the surface topology report works, but I'm not surprised  
> it sometimes disagrees with the volume one.  Another common  
> discrepancy is when Find Handles returns nothing in all three slice  
> planes, but the topology error report still shows handles.  This is  
> because Find Handles can only find "within slice" handles; handles  
> resulting from voxels kissing at corners are not detected by Find  
> Handles.

I not as confident as Donna in the accuracy of the volume Euler count  
but it is close.  The accuracy problem may be in our implementation  
of the algorithm (http://portal.acm.org/citation.cfm?id=202867).

I do believe that the surface Euler count is correct.  It is computed  
using the Euler Characteristic formula (http://mathworld.wolfram.com/ 
EulerCharacteristic.html) where V=vertices (nodes), E=edges (links),  
and F=faces(tiles).


An additional search was added to the Volume Menu->Segmentation->Find  
Handles Dialog.  "Search Crossovers Method" generates a surface,  
converts the surface to a sphere, extensively smooths the sphere to  
remove any folding, performs a crossover check, maps the crossovers  
to a volume, and estimates the number of handles using the number of  
disjoint objects in the crossovers volume.


>
> But my motto is to proceed to flattening if I can't see any handles  
> on the inflated surface, and Find Handles can't find any, either.
>> d) Remark-Question: Segmentation volumes seam to be saved as  
>> float32 not gzipped per default. Is there a reason for this?

Not all of the volume formats Caret writes support voxel scaling and  
as a result Caret writes segmentation volumes as float32 by default.

If you save a volume using the File Menu's File Save Dialog, there is  
an option that allows you to select the data type.  But be aware that  
Caret does no voxel scaling when writing volumes.

>>
> Possibly because Wash U's "4dfp" format saves volumes this way, and  
> our very first guinea pigs when John added volume support were  
> wustl.edu users.  If there's a way to specify that segmentation  
> volumes be gzipped, I'm unaware of it.
>> e) separate brain extraction question: Do you think a brain  
>> extraction eg with bet before segmentation is help/harmfull?
> It is most helpful as a preprocessing step to bias correction,  
> which can make a huge difference.  Otherwise, its effect is  
> minimal.  Caret successfully removes the eye/skull without brain  
> extraction most of the time; for the few times it fails, brain  
> extraction may not solve your problems, because the eye fat is  
> probably the culprit, and brain extraction may miss this, as well.   
> Most of the time, it shouldn't do any harm.  Turn off eye removal  
> if it does.
>> Sorry for the many questions but there's so much to explore in  
>> your wonderful program.
>>
>> Regards and Thanks,
>>
>> Roland
>>
>>    
>> --------------------------------------------------------------------- 
>> ---
>>
>> _______________________________________________
>> caret-users mailing list
>> caret-users at brainvis.wustl.edu
>> http://pulvinar.wustl.edu/mailman/listinfo/caret-users
>>
>
> _______________________________________________
> caret-users mailing list
> caret-users at brainvis.wustl.edu
> http://pulvinar.wustl.edu/mailman/listinfo/caret-users




More information about the caret-users mailing list