[Insight-users] VectorImage Registration Metric
Luke Bloy
luke.bloy at gmail.com
Tue Feb 23 10:06:17 EST 2010
I realized in putting my code together to upload the sandbox that it
depended on some local modifications to itk. I'm in the process of
addressing these and will upload the code as soon as I can.
Just wanted to let you know that I haven't forgotten about this :)
-Luke
Luis Ibanez 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
>>>
>>>
More information about the Insight-users
mailing list