Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

This website has been deprecated and exists as an archive only.

The TORTOISE website has been moved to https://tortoise.nibib.nih.gov.

For any information about TORTOISE generation V3.x.x, please refer to the new website.

TORTOISE FAQ

Q 1: I would like to contribute information to these wiki pages. How can I edit the wiki?

A: If you are interested in contributing to these wiki pages, please contact us at tortoisedti@gmail.com in order to create an account for you.

The TORTOISE wiki is no longer available for editing. This question remains for archival purposes.

Q 2: I get the following error message (or something similar) in DIFF_PREP. What does this mean?

% HISTOGRAM: Illegal binsize or max/min.
% Execution halted at: OTSU

A: This occurs when the automatic noise computation algorithm encounters an image (usually the structural target image) which has a zero background value, or an unexpected range of values. There are 3 possible solutions to this problem.

  • If this is done on purpose, such as you decide to use a masked structural target (not recommended!), you will need to enter a reasonable noise value using the optional settings in DIFF_PREP for the background noise padding that is performed in the code.
  • If you have manipulated your structural target image (such as ACPC re-orientation and skull attenuation) and this has resulted in zero values in the background, you will need to make sure that your structural image is being stored as floating point values. When the image stores either integer or short values, when they become small they get rounded to zero and cause this problem. Access instructions on how to change your image's data type to floating point using MIPAV.
  • If your DWI data has an usual scaling factor applied, for example, you DWI images range in intensity from only 0–1, then this may occur. Use the "scale signal factor" setting in the registration settings file to scale your DWI images to a reasonable range.

Q 3: I tried to run DIFF_PREP starting at step 5 and stopping at step 5 (i.e. run step 5 only) and it gave a "No such file or directory" error message regarding file …list_step4/…

A: Some files from step 4 are deleted at the end in order to save disk space. These files are required for step 5 to run correctly. You will need to run this starting at step 4 and stopping at step 5. This should only add a couple of minutes to the processing time.

Q 4: I get an error message in the Import side of DIFF_PREP containing the words "GET_DIRECTION". What is wrong?

A: Likely the number of gradient directions acquired and the number of lines in your gradient file are not consistent. Please check that your gradient file is correct.

Q 5: What is the output naming convention of the software?

A: The naming convention is simple. Your original listfile will be named based on the data directory put into the Import routine. For example, if your directory is subject_1_data, then your list file will be subject_1_data.list. The output names reflect the following things.

  1. subject_1_data_up.list: _up reflects the fact that you have selected the upsampling option in the registration settings file. This listfile contains data that is upsampled according to your settings.
  2. subject_1_data_up_rpd.list: _up (see 1 above), _rpd means that the data has been run through the motion and eddy current distortion correction steps. In this example, the data has first been upsampled, then corrected.
  3. subject_1_data_DMC.list: _DMC is the final results of the registration code.

Q 6: I do not have files with _up, or _up_rpd in my procbase. Where are they?

A: If you do not have the above files, but you do have _DMC files, then check the registration settings file that you used. If "keep intermediate files" is set to off, then it will delete the _up and _up_rpd files after completing the registration procedures.

Q 7: I tried to run the Import routine, but nothing happened. What is wrong?

A: Please check that you have write permissions in the directory where the data directory resides. The import routine is trying to write a parallel directory to your data directory, and probably cannot save.

Q 8: I get the following error in DIFF_PREP/DIFF_CALC. What does that mean?

% Program caused arithmetic error: Floating underflow
% Program caused arithmetic error: Floating illegal operand

A: This is normal and can happen in both DIFF_PREP and DIFF_CALC. It is a preference of IDL to keep these statments in. It will not affect the results or functionality of the software in any way.

Q 9: I get the following error (or something similar). What does that mean?

<ObjHeapVar167174>
            STRUCT = -> IDLJAVAOBJECT$CGK_SNIE Array[1]

A: This is a known issue with part of the code written in Java. It does not interfere with the normal functionality of the software or the results of your registration in any way.

Q 10: What interpolation method should I use for upsampling the data?

A: The bicubic interpolation method is both visually more appealing and theoretically a better method. This is being more thoroughly investigated.

Q 11: What are the various start/stop steps in the registration settings file?

A:

  • Start at 0: do everything starting from the beginning
  • Start at 3: assumes that motion and eddy correction are done, and starts with the b-spline computation
  • Start at 4: assumes same as above, and that the b-spline deformation has been calculated, and starts with applying that to the DWIs
  • Start at 5: assumes all steps have been computed for corrections, and starts only with the final reorientation to the structural space.
  • Stop at step 2: will do ONLY motion and eddy corrections
  • Stop at step 3: will also calculate the b-spline deformation without applying it to the DWIs
  • Stop at step 4: will do all of the above and also apply the b-spline deformation to the DWIs
  • Stop at step 5: do everything

Comment: The Start at/Stop at settings are only intended as a tool in the case that something goes wrong. For example: your computer crashes during the b-spline correction and you do not want to have to repeat the motion and eddy distortion corrections.

For flexibility such as "don't do the b-spline" or "don't do the motion and eddy" use the "Perform" options in the registration settings file.

Q 12: What is step 1?

A: For legacy reasons, there is currently no step 1. What was originally known as step 1 has been integrated into step 0.

Q 13: What is the difference between diffprep.sav and diffprep_gui.sav?

A: diffprep_gui.sav is the main program for DIFF_PREP. diffprep.sav is a command line only version which can only be run with a full idl license. If you are using the VM, you must use diffprep_gui.sav, or prepvm which is pre-packaged with the IDL VM.

Q 14: The software crashed, and now it doesn't function normally, what do I do?

A: If the software ever crashes, it is STRONGLY ADVISED that you quit DIFF_PREP or DIFF_CALC, and begin again with a fresh copy. This will assure that all variables and other information that may be stored in the cache are properly removed.

A: This is a permissions issue with SELinux. To get around this you have to change the system settings to permissive or by changing the security settings on the idl shared object library files

Do this as root in the directory where these files are:

chcon -t texrel_shlib_t *.so

Thanks to Daniel Glen for this fix.

Q 16: I get an error about widgets that says something like:

% WIDGET_CONTROL: Invalid widget identifier: 4.
       % Execution halted at:  TOSTATUSWINDOW
       %                       CONVERT_INPUT_IMAGES_TO_LISTFILE
       %                       DIFFPREP_GUI_EVENT
       %                       XMANAGER_EVLOOP_STANDARD
       %                       XMANAGER
       %                       DIFFPREP_GUI
       %                       IDLRTMAIN
       %                       $MAIN$

A: IDL needs to keep track of the different widget windows that are opened when running the software. If you close any of the widgets using the "X" at the top corner of any of the windows, it may produce this error. Please always use the "quit" or "done" buttons in the different windows in order to close them properly.

Q 17: What quantities are calculated during the tensor fitting?

See the page on the roi utilities for DIFF_CALC.

Q 18: Siemens Mosaic import cuts my images into the wrong number of slices, resulting in partial brain only in each axial slice.

A: This is specifically caused by the software not being able to read the correct FOV, and is most likely to occur in datasets where zero filling was applied at the scanner. Normally, this information is provided in a private dicom field (0051,100B). If that tag is missing, the software will not be able to import your data properly. In TORTOISE V1.1.1, a user has discovered that even when that private tag is present, mosaic data is not being properly imported into TORTOISE. We have identified this as a problem with IDL V8.0 and are working to correct the problem.

Q 19: FSL 4D NIFTI import option in DIFF_PREP gives me an error message "NIFTI file folder does not contain a bvecs file as outputted by FSL" but there is a bvec file in the data directory. What is the problem?

A: The FSL 4D NIFTI import option requires that the bvalues and bvectors files be named exactly as they would be for running FSL from the command line. Check that these files are named exactly "bvecs" and "bvals". The dcm2nii from MRICron may output these files as your_file_name.bvecs and your_file_name.bvals. These files need to be renamed to bvecs and bvals for import to TORTOISE.

Q 20: I get the following error message. How do I fix this?
/TORTOISE_linux_withIDL_V1.1.1/DIFF_PREP/diffprep_main/../../idl80/bin/bin.linux.x86/idl: error while loading shared libraries:
/TORTOISE_linux_withIDL_V1.1.1/DIFF_PREP/diffprep_main/../../idl80/bin/bin.linux.x86/libidl.so.8.0: cannot restore segment prot after reloc: Permission denied

A: Follow the instructions from this link: https://web.archive.org/web/20110510025400/http://www.appistry.com/community/forums/content/cannot-restore-segment-prot-after-reloc-permission-denied.

Thanks to user M.S. for this fix.

Q 21: There are "holes" in my tensor/FA maps. Why? What can I do to remove them?

A: This depends on whether the holes are in your TENSOR or in just the ANISTROPY maps. See the two solutions below.

Holes in the TENSOR, which results in holes in all tensor derive metric maps such as FA, TR, etc.

If there is a single "zero" value in any one of your DWI's, the software default used to be to mask out that point entirely. Two additional options exist, one which is to exclude only the zero data points from the fitting, or the second (which should now be set as the default option) is to use a median neighborhood filtering to fill the zero points. This can be set in your configuration file, which lives in a directory called DIFF_CALC_WORK, and resides in your home directory (i.e. /user/home/DIFF_CALC_WORK/default_configfile.xml). Simply copy and paste the following lines into your configuration file, save the configuration file, and open a new instance of DIFF_CALC so that the variables are set appropriately to the new configuration file.

<!-- mask zero values from tensor fitting? 0 = exclude zero points from fitting, 1=mask out zero points -->
<!-- 2 = use median filter -->
<mask_zero_point>2</mask_zero_point>

Holes only in the FRACTIONAL ANISOTROPY or other ANISOTROPY maps

We apply masking that is intended to identify voxels with artifactual anisotropy due to flow artifacts, which are known to occur in the CSF and can result in artifactual FA values. The flow artifact masking we do does not actually create "holes" in the tensor data, but sets the diffusivity to that of CSF (i.e. free water at 37 degrees) which has an ideal anisotropy value of zero. Thus, if you look at the Trace (TR) map for instance, you should not see any holes. However, you may see some zero values in the anisotropy maps. If you take a look at the _MF mask image in your _SAVE directory, it will show you the points where this flow artifact masking is applied.

We realize that having zero values in the anisotropy maps can be problematic for certain things, such as the erosion of masks in FSL's pipeline. For a future release of our software, we intend to implement a slight im-balance in the diffusivity that is set for those artifactual data points so that instead of a zero value, there will now be extremely low values in the anisotropy maps, which should prevent some unwanted behaviour in other software packages.

If you require to remove these zero values from your anistoropy maps before the next software release, we recommend using an image processing software package such as MIPAV to replace the zero voxel values with a very low value (something like 0.00001) to prevent excessive erosion of images during masking, or other issues that may arise due to zero values in your anisotropy images.

Thanks to user S.Z. for bringing these issues to our attention.

Q 22: On Macintosh computer, when working with the ROI tool in DIFF_CALC the mouse cursor does not respond or draws ROI's at unintended locations on the image. Why?

A: It is important to setup X11 before using TORTOISE on a macintosh computer. To setup, go to X11 preferences and select the Windows tab. Make sure that the "Click through Inactive windows" box is checked. Then open a new X11 window and start your DIFF_CALC session. This will fix the ROI issue.