alignpettomri

Note: This program is no longer part of the AIR distribution (last distributed in AIR 3.03).
 
 
This program uses the minimization algorithm distributed with AIR 1.0 with only minor modifications to allow it to coexist with AIR 3.0. This program still requires pixel sizes to be isotropic. The program alignlinear implements a better minimization procedure and greater flexibility and should be used preferentially.


Purpose:

PET to MRI registration using a rigid body model

Generates a .air file that can be used to reslice the specified PET data set to match the specified MRI data set.

May also be suitable for other types of intrasubject, intermodality registration


Usage:

alignpettomri standard-mri reslice-pet air-out [options]

options:
where the following definitions apply:

standard-mri
the name of the MRI file (.img or .hdr suffix optional)
reslice-pet
the name of the edited PET file (.img or .hdr suffix optional)
air-out
the exact name of the output file (cannot contain '.img' or '.hdr' and will not be modified by the program).
threshold-mri
defines a minimum voxel value for the MRI file. Voxels in the MRI below this value are excluded from analysis. This value should be a non-negative integer less than the maximum possible voxel value and should be lower than the MRI gray matter and white matter voxel values.
initialization-file
the name of an ASCII file containing initialization parameters. These parameters can be used to control the starting position for automated registration, a feature that is useful if the initial misregistration is extreme (e.g., >45°ree; of rotational misregistration) or if the default registration leads to an obviously incorrect result. The format for the initialization file is discussed under file types. Initialization files are created most easily using the program manualreslice.
initial-sampling
controls how densely data is sampled during the first iterative cycle of the algorithm. Large values generally speed up the registration process because gross misregistration can be detected with fairly superficial sampling of the data. However, choosing an excessively large value can be counterproductive if the algorithm falls into an infinite loop or is led far from the true value by nonrepresentative sampling. Avoid multiples of two when choosing sampling parameters. If any of your matrix dimensions are divisible by two, the sampling will become spatially biased until the sampling density reaches one, at which point the algorithm will have to iteratively overcome the earlier bias at the maximal sampling density. If your matrix dimensions are divisible by three, you will have a similar problem with sampling densities that are multiples of three.
final-sampling
controls how densely data is sampled during the final iterative cycle of the algorithm. If your data is oversampled, the time spent sampling very densely may not provide any significant improvement in accuracy. In such cases, you may want to choose a final_sampling that is greater than one. Iterations will cease if the new sampling density is less than the final_sampling density specified here.
sampling-decrement-ratio
determines the number of intermediate iterative cycles of the algorithm. The current sampling is divided by this ratio with each cycle to determine the new sampling.
convergence-threshold
controls how small the absolute values of all the first derivatives must be in order to meet the convergence criteria. Setting this value too large will result in convergence while the images are still misregistered; setting it too small will lead to a failure to converge.
repeated-iterations
controls the maximum number of iterations permitted in each cycle. This feature is incorporated to avoid infinite loops, a situation that arises most commonly when the data is being sampled very superficially. If this number is made too low, it will lead to inaccurate results and/or slow down the overall performance of the algorithm by preventing you from making use information that could have been derived more quickly at the prematurely aborted more superficial sampling. Values less than 100 should generally be avoided for 6 parameter fits. Failure to converge within the specified number of iterations at the densest sampling will result in a failed registration--no registration parameters will be saved if this occurs.


Error messages: (alphabetical)

See also: Generic error messages

alignment will be constrained to inplane because of z dimension degeneracy
  • File standard_pet apparently has only one plane of data (according to header)
  • Use scanheader to verify that this is the case
  • If header is incorrect, you will need to generate a new header for standard_pet with the correct z_dim using makeaheader.
All second derivatives were negative, cannot minimize Will try next sample density
  • Negative second derivatives lead to maxima, not minima
  • If registration resumes at next sample density and the results look fine, don't worry about it
  • If the results are bad, check your image orientation. Consider using an initialization file.
  • If sampling density cannot be increased, the algorithm will fail; no .air file will be generated.
Attempt to save .air file air_out failed
  • Check to see if disk is full
  • Check that you have write permission in the directory
error reading initialization file initialization_file
memory inadequate...
  • The program was unable to allocate enough RAM to perform the alignment.
  • Try again when the machine isn't busy with other RAM intensive tasks
  • Get access to more RAM
Pixel anisotropy exceeds ... in ... file: ...
  • The program being used requires the voxel x and y sizes to be identical.
  • See programs reorient and zoomer for possible ways to circumvent this problem (an appropriate initialization file may also need to be created to perform automated registration).
Sample density is already maximal, giving up
  • See "All second derivatives were negative..." above.
threshold threshold_mri is not in range of possible pixel values
  • Choose a value less than255 if you are using 8 bits/pixel on a SPARCstation
unable to allocate memory ...
  • see "memory inadequate..." above
unable to open initialization file filename
  • See if file filename exists in directory
  • See if you have read permission for file filename
WARNING: File air_out will be overwritten by the output of this program
  • Type control-C immediately to abort program if you don't want to overwrite this file
WARNING: MRI file __ only contains __% zeros Recommend verifying that file %s has been edited to remove scalp, skull, and meninges
  • Registration will fail if MRI has not been edited.


See also:


Footnotes:

Other types of intrasubject intermodality registration
In theory, this program may prove useful for any cross-modality registration problem provided that one of the modalities (MRI in this case) can be adequately segmented into tissue types based on voxel intensities (editing may be required to remove tissues that prevent such segmentation). The file which can be segmented on the basis of voxel intensities should replace the MRI file (not the PET file) when using alignmritopet or alignpettomri. The second modality (PET in this case) does not need to be segmentable on the basis of voxel intensity and should not be edited. Although in some sense a single modality, alignmritopet and alignpettomri are more likely to succeed than alignpettopet when trying to align two MRI's obtained using different pulse sequences. This may also be the case for registering PET images using different tracers that result in markedly different tissue distributions.


Modified: October 26, 1997

© 1995-97 Roger P. Woods, M.D.(rwoods@ucla.edu)