[Insight-users] VectorImage Registration Metric
Tom Vercauteren
tom.vercauteren at gmail.com
Wed Feb 10 10:14:09 EST 2010
Hi Luke and Luis,
For your information, I am aware of a patent application that might
cover the log-Euclidean interpolation...
https://register.epoline.org/espacenet/regviewer?AP=06743657&CY=EP&LG=en&DB=REG
<begin shameless advertisement>
That being said, you might also want to check with Thomas Yeo to see
if he is willing to share the gradient computation used in the
DT-REFinD algorithm for the reorientation of tensor images with finite
strain strategy:
http://sites.google.com/site/yeoyeo02/software/dt-refindcode
<end shameless advertisement>
Tom
On Wed, Feb 10, 2010 at 15:51, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> Luke,
>
> Excellent,
>
> Thanks for letting us know.
>
> It will be great to to put the code in the Sandbox,
> so Lisa and other interested developers can
> collaborate to build a complete solution for
> vector and tensor images.
>
> Let me know if there is anything I can do to help,
>
>
> Thanks
>
>
> Luis
>
>
> ------------------------------------
> On Wed, Feb 10, 2010 at 7:58 AM, Luke Bloy <luke.bloy at gmail.com> wrote:
>> Hi Lisa and Luis,
>>
>> I have extensions to ResampleImageFileter and WarpImageFilter that perform
>> reorientation of the data model. I have to check some licensing things but I
>> can probably put it up into the sandbox shortly.
>>
>> Luis, I took your suggestion of using a templated reorienter class. so these
>> classes work with scalar data as well as tensor and qball data. Lisa, the
>> reorientation method at the moment only does Finite-strain, although adding
>> an option to use PPD is somewhere on my list of things to do :)
>>
>> There is also an interpolator for DTI which does both euclidean and
>> log-euclidean interpolation.
>>
>> -Luke
>>
>> Luis Ibanez wrote:
>>>
>>> Hi Lisa,
>>>
>>> You are right,
>>> Thanks for pointing this out.
>>>
>>>
>>> Yes, we should move the code into the Sandbox.
>>> (please check first if Jeffrey has defined any License
>>> for his version of the code, if so, we have to verify if
>>> that the license is BSD compatible, before we adopt
>>> the code).
>>>
>>>
>>> Do you have a NAMICSandbox write account ?
>>>
>>> If not, please request one at:
>>> https://www.kitware.com/Admin/SendPassword.cgi
>>>
>>>
>>> Also, about your question:
>>>
>>> Yes, if you want to extend registration to tensor images,
>>> a similar extension will have to be made. You will also
>>> need a TensorResampleFilter based on the itkVector
>>> ResampleFilter.
>>>
>>> Please note however that Interpolations for Tensors
>>> may require different strategies, depending on what
>>> the Tensor is representing. For example, when the
>>> Tensor represents some physical property, it may
>>> be subject to some constrains.
>>>
>>> In the NAMIC group there has been some work related
>>> to Tensor interpolation.
>>>
>>> Regarding the actual Metric, the adaptation of the
>>> GetValue() method is rather easy. You simply
>>> need to introduce a measure of distance between
>>> two Tensors (again, probably based on what the
>>> Tensors are representing).
>>>
>>> The more involved piece of work is the computation
>>> of derivatives.
>>>
>>> The Derivative of the metric will involve the computation
>>> of a third-rank Tensor, which is the result of deriving
>>> the image Tensors with respect to space.
>>>
>>> This could be represented in 3D matrix of N components,
>>> where N is the dimension of the image Space.
>>>
>>> It will be nice to develop this code also in a NAMICSandbox
>>> directory, so you can benefit from the feedback of
>>> other groups in the community.
>>>
>>>
>>> Let us know if you need any help,
>>> we will be happy to assist you.
>>>
>>>
>>> Luis
>>>
>>>
>>>
>>> -----------------------------------------------------------------------
>>> On Tue, Feb 9, 2010 at 2:21 PM, Lisa Tang <lisat at sfu.ca> wrote:
>>>
>>>>
>>>> Hello Luis,
>>>>
>>>> Thanks for your reply.
>>>>
>>>> On closer look, I think these items have already been fixed by Jeffrey
>>>> Dudas, whose work was discussed in Oct 2009
>>>>
>>>> http://old.nabble.com/Question-about-multiResolutionPyramidImageFilter-class-to25839179.html#a25862138
>>>>
>>>> For example, the code for gradient calculation has been added here:
>>>> http://www.seas.upenn.edu/~jtduda/code/itkVectorImageToImageMetric.txx
>>>>
>>>> http://www.seas.upenn.edu/~jtduda/code/itkVectorMeanSquaresImageToImageMetric.txx
>>>>
>>>> Perhaps the sandbox needs to be updated with his work?
>>>>
>>>> A related question is its extension to Tensor images. A needed
>>>> class/filter that comes to mind is for the purpose of reorienting tensors
>>>> after the tensor image is transformed. Could you please point us to how we
>>>> can proceed with this?
>>>>
>>>> e.g. should it follow construct of itkVectorResampleImageFilter, but
>>>> using itkDiffusionTensor3D as input?
>>>>
>>>> Thanks again,
>>>> Lisa
>>>>
>>>>
>>>> ----- "Luis Ibanez" <luis.ibanez at kitware.com> wrote:
>>>>
>>>>
>>>>>
>>>>> From: "Luis Ibanez" <luis.ibanez at kitware.com>
>>>>> To: "Lisa Tang" <lisat at sfu.ca>
>>>>> Cc: "Ghassan Hamarneh" <hamarneh at cs.sfu.ca>, "itk"
>>>>> <Insight-users at itk.org>
>>>>> Sent: Tuesday, 9 February, 2010 10:46:19 GMT -08:00 US/Canada Pacific
>>>>> Subject: Re: VectorImage Registration Metric
>>>>>
>>>>> Hi Lisa,
>>>>>
>>>>> Please look at the file:
>>>>>
>>>>> NAMICSandBox/VectorImageRegistrationMethod/Source/
>>>>> itkVectorMeanSquaresImageToImageMetric.txx
>>>>>
>>>>> and the lines that have "FIXME" messages as comments.
>>>>>
>>>>>
>>>>> These are the lines where a change from "Scalar", to "Vector"
>>>>> computation remains to be introduced.
>>>>>
>>>>> For example, the "gradient", used to be a Vector in the
>>>>> computation of a Metric for a Scalar image, but when
>>>>> doing that computation for a Vector image, the gradient
>>>>> must be a Matrix, which is composed of the gradients
>>>>> of each individual component of the vector image.
>>>>>
>>>>>
>>>>> Please let us know if you see any problems with
>>>>> the suggested implementation,
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> Luis
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------------------
>>>>> On Fri, Feb 5, 2010 at 2:30 PM, Lisa Tang <lisat at sfu.ca> wrote:
>>>>>
>>>>>>
>>>>>> Hi Luis,
>>>>>>
>>>>>> You mentioned that the version in NAMIC sandbox need "massaging":
>>>>>>
>>>>>> "The Gradient of the vector image must be computed as a matrix
>>>>>> and multiplied with the Transform jacobian in order to produce
>>>>>> another matrix, that then will be collapsed into a gradient
>>>>>> vector. (to be done)"
>>>>>>
>>>>>> However, I find that both the Sandbox's
>>>>>>
>>>>>
>>>>> itkVectorMeanSquaresImageToImageMetric and
>>>>> itkMeanSquaresImageToImageMetric calculate the metric's derivative
>>>>> similarly, and so are the calculations of the gradient image in
>>>>> itkVectormageToImageMetric.
>>>>>
>>>>>>
>>>>>> Could you please clarify which class were you referring to that
>>>>>>
>>>>>
>>>>> requires the above change?
>>>>>
>>>>>>
>>>>>> Thanks in advance,
>>>>>> Lisa
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ----- "Luis Ibanez" <luis.ibanez at kitware.com> wrote:
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> From: "Luis Ibanez" <luis.ibanez at kitware.com>
>>>>>>> To: "Ghassan Hamarneh" <hamarneh at cs.sfu.ca>
>>>>>>> Cc: "Lisa Tang" <lisat at sfu.ca>
>>>>>>> Sent: Friday, 5 February, 2010 07:04:30 GMT -08:00 US/Canada
>>>>>>>
>>>>>
>>>>> Pacific
>>>>>
>>>>>>>
>>>>>>> Subject: Re: VectorImage Registration Metric
>>>>>>>
>>>>>>> Hi Ghassan,
>>>>>>>
>>>>>>> I haven't seen much activity in this project for a while,
>>>>>>> but sometimes research groups make progress without
>>>>>>> necessarily sharing their day-to-day updates with the
>>>>>>> community.
>>>>>>>
>>>>>>> I would suggest to bring up the topic to the ITK users
>>>>>>> and developers list.
>>>>>>>
>>>>>>> I will be happy to ask the question in the lists if you
>>>>>>> prefer me to do it.
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>>
>>>>>>> Luis
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------
>>>>>>> On Fri, Feb 5, 2010 at 12:55 AM, Ghassan Hamarneh
>>>>>>>
>>>>>
>>>>> <hamarneh at cs.sfu.ca>
>>>>>
>>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Hello Luis
>>>>>>>>
>>>>>>>> Hope all is well!
>>>>>>>>
>>>>>>>> I came across this thread:
>>>>>>>>
>>>>>>>
>>>>>>> http://www.cmake.org/pipermail/insight-users/2008-May/025746.html
>>>>>>>
>>>>>>>>
>>>>>>>> We were thinking of contributing something similar (vector
>>>>>>>>
>>>>>
>>>>> valued
>>>>>
>>>>>>>
>>>>>>> image registration) to the insight journal as was developed for
>>>>>>>
>>>>>
>>>>> our
>>>>>
>>>>>>>
>>>>>>> paper:
>>>>>>>
>>>>>>>>
>>>>>>>> [ SMRFI: Shape Matching via ] Registration of Vector-Valued
>>>>>>>>
>>>>>
>>>>> Feature
>>>>>
>>>>>>>
>>>>>>> Images
>>>>>>>
>>>>>>>>
>>>>>>>> http://www.cs.sfu.ca/~hamarneh/ecopy/cvpr2008.pdf
>>>>>>>>
>>>>>>>> Before investing more time on this, we appreciate if you could
>>>>>>>>
>>>>>
>>>>> let
>>>>>
>>>>>>>
>>>>>>> us know the status of this effort, is any one working on this,
>>>>>>>
>>>>>
>>>>> etc?
>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> /Ghassan
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> _____________________________________
>>> 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://www.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-users
>>>
>>
> _____________________________________
> 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://www.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-users
>
More information about the Insight-users
mailing list