[Insight-developers] [Insight-registration] vector transformation / reorientation

Francois Budin insight.mailinglist.francois at budin.fr
Mon Nov 22 10:47:36 EST 2010


Hi everybody,

For tensor resampling, I had written a whole set of filters that could
be reused. They are available in this Insight Journal paper:
An ITK Implementation of a Diffusion Tensor Images Resampling Filter
http://hdl.handle.net/10380/3189
The resampling filter reorients the tensors. I guess if you actually
don't want to reorient the tensors, you can use the basic
itk::ResampleImageFilter.
Sincerely,

Francois

On Mon, Nov 22, 2010 at 3:41 AM, Tom Vercauteren
<tom.vercauteren at m4x.org> wrote:
> Hi all,
>
> As Brian just mentioned, there may be several ways of performing
> re-orientation for a given type. PPD or FS being the most widely
> encountered choices for diffusion tensors reorientation. Besides, what
> can be of interest, especially for image registration, is the the
> derivative of this reorientation strategy. It should indeed come into
> the computation of the derivative of the objective function.
>
> [Shameless add] For the specific case of FS in dimension 3, the
> analytical derivative can be found in Thomas Yeo's paper (which I
> co-authored):
> http://people.csail.mit.edu/ythomas/publications/2009DTI-TMI.pdf
>
> Hence, I believe that we need a generic approach where one can plug
> its own reorientation strategy. In that view, I would prefer a 2bis
> option where resampling and reorientation are done in one pass but
> where the user can choose its reorientation strategy much like he can
> now choose its interpolator.
>
> The tricky part is how to handle the derivative of the reorientation
> strategy in a generic manner in the registration framework and not
> kill performance.
>
> If we add a good linear algebra package (say eigen 3*), we could have
> a no-op reorientation strategy that simply multiplies by identity
> matrices but does not cost anything at run-time thanks to expression
> templates.
>
> My two cents,
> Tom
>
> *Sadly, several people in ITK would like not to rely on eigen 3
> because of its license:
> http://www.itk.org/mailman/private/insight-developers/2010-March/014318.html
>
> On Sun, Nov 21, 2010 at 02:43, brian avants <stnava at gmail.com> wrote:
>> Right.  The eigendecomposition approach is part of the "preservation of
>> principal directions" algorithm used when reorienting diffusion tensors.
>>  The idea is that, as long as your deformation is a diffeomorphism, you can
>> estimate it, locally, as an affine transformation.   Then you use the rigid
>> part of the affine transformation to reorient the tensor's eigenvectors.
>>  There are a few other steps, though.
>>
>> My question, in part, is whether ITK's pixel types are specific enough to
>> uniquely specify the required reorientation.   Some examples:
>>
>> A diffusion tensor may be reoriented by either PPD (above) or finite strain
>> estimates.   So this is a non-unique mapping from pixel type to
>> reorientation strategy.
>>
>> When reorienting a vector, one may want to change its relative orientation
>> but not change its length, even under an affine transformation.  Also a
>> non-unique mapping from pixel type to reorientation strategy.
>>
>> One approach (what we've done in the past) is to implement filters for each
>> of these strategies for DTI.  While having filters would be nice, I can see
>> this becoming confusing, in particular if some metrics/interpolators are
>> performing reorientation as well.
>>
>> Matt, I look forward to seeing the strain filter.  Thans much!
>> Re: Tcon , when would you like to discuss?  Previously, we used 10 am
>> Tuesday for registration discussions.
>> Brian
>> On Nov 20, 2010 4:36 PM, "Luis Ibanez" <luis.ibanez at kitware.com> wrote:
>>> On Sat, Nov 20, 2010 at 7:14 PM, Matthew McCormick (thewtex) <
>>> matt at mmmccormick.com> wrote:
>>>
>>>> On Sat, Nov 20, 2010 at 6:07 PM, Luis Ibanez <luis.ibanez at kitware.com>
>>>> wrote:
>>>> >
>>>> >
>>>> > On Sat, Nov 20, 2010 at 7:00 PM, Matthew McCormick (thewtex)
>>>> > <matt at mmmccormick.com> wrote:
>>>> >>
>>>> >> >
>>>> >> > (b) Estimating the Rotational and Stress component of the
>>>> >> > deformation field at that pixel location and use it to correct
>>>> >> > the Vector (or covariant vector) accordingly. This is
>>>> >> > essentially based on the Jacobian matrix of the deformation
>>>> >> > field, estimated at the location of the pixel.
>>>> >> >
>>>> >>
>>>> >> I have a StrainImageFilter that calculates the strain tensor from a
>>>> >> deformation field if it would be of any help. I assume what is meant
>>>> >> by the 'Rotational and Stress component' are the same as the angles to
>>>> >> the principle strains and the principle strains. I intend on
>>>> >> submitting this filter to the Insight Journal in the next week or two
>>>> >> after I get another paper out and the following patch gets merged:
>>>> >>
>>>> >>
>>>> >>
>>>>
>>>> http://review.source.kitware.com/#q,status:open+project:ITK+branch:master+topic:BUG0010725_VTKTensors3,n,z
>>>> >>
>>>> >> Matt
>>>> >
>>>> >
>>>> > Excellent !
>>>> >
>>>> > Yes,
>>>> > that what I meant by the stress component.
>>>> >
>>>> > Do you see a way of deriving as well
>>>> > the rotational component of the Jacobian ?
>>>> >
>>>>
>>>> I was thinking just using
>>>>
>>>>
>>>> http://www.itk.org/Doxygen320/html/classitk_1_1SymmetricEigenAnalysis.html#_details
>>>>
>>>> And the eigenvectors determine the rotation, while the eigenvalues
>>>> (principle strains) determine the compression/expansion of the
>>>> components? Correct?
>>>>
>>>> Matt
>>>>
>>>
>>>
>>> Yes,
>>> That sound very reasonable to me.
>>>
>>>
>>> Luis
>>
>> _______________________________________________
>> Insight-registration mailing list
>> Insight-registration at public.kitware.com
>> http://public.kitware.com/cgi-bin/mailman/listinfo/insight-registration
>>
>>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>


More information about the Insight-developers mailing list