alignpettomri
- Note: This program uses the minimization algorithm distributed with
AIR 1.0 with only minor modifications to allow it to coexist with AIR 2.0.
This program still requires pixel sizes to be isotropic. The program alignlinear
implements the AIR 2.0 minimization procedure 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: January 6, 1996
© 1995-96 Roger P. Woods, M.D.(rwoods@ucla.edu)