[Insight-users] Using masks in multiresolution registration
Karthik Krishnan
Karthik.Krishnan at kitware.com
Tue Aug 16 14:53:11 EDT 2005
Vicente Grau wrote:
> Thanks very much for the explanation, now I understand it better. As
> you suggested, I have been looking at the IsInside() values returned
> by the metrics. It is clear in the code how masks are applied in
> NormalizedCorrelation or MeanSquares metrics; however, I don't see
> where the masks are considered in
> itkmutualinformationimagetoimagemetric.txx (I can only see a call to
> IsInsideBuffer() ). Are masks implemented for Mutual Information too?
> I am using ITK 2.0.1.
>
Good point. This metric does not. Please log this as a feature request
in the bug tracker.
http://www.itk.org/Bug/
There are 3 flavours of Mutual Information in ITK. (Viola-wells,
Mattes, Maes-Collignon)
The Mattes and the MutualInformationHistogramImageToImageMetric do
support masking.
Thanks
regards
karthik
> Vicente
>
>
> Karthik Krishnan wrote:
>
>>
>>
>> Vicente Grau wrote:
>>
>>> Thanks very much for your answer.
>>> The image resolutions are the same for mask and input image: I have
>>> copied the values directly from one mha header to the other to make
>>> sure of that.
>>> I have actually taken the mask object definition / application from
>>> ImageRegistration12.cxx, but as it didn't work for me, I wondered if
>>> it had to be used differently in a multiresolution framework. Does
>>> MultiResolutionImageRegistrationMethod take care of the masking at
>>> different scales? In this case, should I define a new
>>> RecursiveMultiResolutionPyramidImageFilter for the mask?
>>
>>
>>
>> Since the mask is a spatial object, everything is done in physical
>> space and there should be no need to generate a pyramid. The
>> MultiResolutionImageRegistrationMethod internally uses a pyramid to
>> generate Fixed and Moving images at a bunch of resolutions. All these
>> images correspond to the same physical units, for instance the one at
>> quarter resolution has its spacing quadrupled.
>>
>> itkMultiResolutionPyramidImageFillter.txx
>> line 404: outputSpacing[idim] = inputSpacing[idim] * shrinkFactor;
>>
>> When the metric needs to decide whether to evaluate the metric at an
>> index, it should do something like
>>
>> fixedImage->TransformIndexToPhysicalPoint( index, physicalSpacePoint );
>> if (!this->m_FixedImageMask->IsInside( physicalSpacePoint )) // don't
>> evaluate here.
>>
>> As you can see everything is done in physical space and you don't
>> need to shrink the masks.
>>
>> Did you try to dig into the IsInside to see if points ere really
>> outside ?
>>
>> Thanks
>> karthik
>>
>>> And, how do I pass this pyramid to the
>>> MultiResolutionImageRegistrationMethod?
>>>
>>> Thanks a lot,
>>>
>>> Vicente
>>>
>>> Karthik Krishnan wrote:
>>>
>>>> On Tue, 2005-08-16 at 11:15 +0100, Vicente Grau wrote:
>>>>
>>>>
>>>>> I am trying to include masks for the fixed and moving images in a
>>>>> MultiResolutionImageRegistrationMethod, using Mutual Information.
>>>>> I have modified the MultiResMIRegistration application to include
>>>>> the masks, by creating them and adding
>>>>>
>>>>> m_Metric->SetFixedImageMask(m_FixedObjectMask);
>>>>> m_Metric->SetMovingImageMask(m_MovingObjectMask);
>>>>>
>>>>> m_Registration->StartRegistration();
>>>>>
>>>>> however, the mask does not seem to make a difference at all: I get
>>>>> exactly the same results even when all pixels in the mask are zero.
>>>>> Is it possible to use masks in a multiresolution framework?
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Yes it is. We've used this in the past. Are you sure that the
>>>> spacing of
>>>> the mask and the image (at full resolution) are the same ? You
>>>> could try
>>>> to dig into the Metric or your spatial object to see if the IsInside
>>>> function evaluates to false everywhere.
>>>>
>>>>
>>>>
>>>>> Is this the right way to do it? Are there any examples I can use?
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ImageRegistration12.cxx, although not in the multi-resolution
>>>> framework,
>>>> but the two aren't very different.
>>>>
>>>>
>>>>> Thanks very much,
>>>>>
>>>>> Vicente Grau
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Insight-users mailing list
>>>>> Insight-users at itk.org
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>
More information about the Insight-users
mailing list