Print

Print


Hi,

It is possible to use other interpolation methods but I don't think this
is what you want.  When transforming masks it is often better to use
trilinear with floating point arithmetic so that the transformed mask
comes out with values between 0.0 and 1.0 reflecting the amount of
mask which covers each voxel.  Then, to generate a binary mask you
threshold this output at an appropriate level.  What level to use
depends on how conservative you want/need to be.  For instance,
if it is important to cover any voxel which might be part of the mask
then a low threshold (e.g. 0.1) will generate a mask that covers
voxels that are 10% or more inside the mask.  Alternatively, using
a high threshold (e.g. 0.9) means that voxels must be substantially
covered by the transformed mask before being counted as inside
the new mask.  Note that a threshold of 0.5 is a sensible default
often but does not guarantee to keep the size of the mask constant,
although it will be close.  I personally think that these options are
better than nearest neighbour interpolation as they are more
flexible.  These arguments apply equally to affine transforms too.

To do the thresholding (and binarising) use avwmaths e.g.:
   avwmaths warpedmask -thr 0.9 -bin newmask

All the best,
        Mark

P.S. To use nearest neighbour, if you must, you need to save the
shiftmap
from fugue, use convertwarp to make a warp field from it, then use
applywarp
with the --interp=nn option.



On Tuesday, February 10, 2004, at 05:54  pm, Joshua Korn wrote:

> Hi all,
>    I wanted to register a region of interest drawn in anatomical space
> to functional space, and to get the best registration wanted to use
> fugue to forward warp this roi.  However, the forward warp doesn't
> appear to have a nearest neighbour option so that fugue makes sense to
> use with it.  Any ideas on how I can do this?
>
> Thanks,
> Joshua Korn