<p dir="ltr">Hi,</p>
<p dir="ltr">The error message seems to suggest 1.PNG and 2.PNG are differing sizes. Perhaps you could crop one of the images so they are equal sizes...</p>
<p dir="ltr">Good luck, Dan</p>
<div class="gmail_quote">On 19 Nov 2015 5:32 pm, "Oleg Subachev" <<a href="mailto:osubachev@gmail.com">osubachev@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks all of you.<br>
But now the code:<br>
using ( ImageRegistrationMethod method = new ImageRegistrationMethod() )<br>
{<br>
method.SetMetricAsMattesMutualInformation();<br>
double metric = method.MetricEvaluate(<br>
SimpleITK.ReadImage( "1.png", PixelIDValueEnum.sitkFloat32<br>
),SimpleITK.ReadImage( "2.png", PixelIDValueEnum.sitkFloat32 ));<br>
}<br>
<br>
throws new exception:<br>
{"Exception thrown in SimpleITK<br>
ImageRegistrationMethod_MetricEvaluate:<br>
..\\..\\..\\..\\..\\SimpleITK\\Code\\Registration\\src\\sitkImageRegistrationMethod.cxx:922:\nsitk::ERROR:<br>
Unexpected error converting initial transform! Possible miss matching<br>
dimensions!"}<br>
<br>
--<br>
Best regards,<br>
Oleg Subachev<br>
<br>
<br>
On Wed, Nov 18, 2015 at 8:14 PM, Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]<br>
<<a href="mailto:zivrafael.yaniv@nih.gov">zivrafael.yaniv@nih.gov</a>> wrote:<br>
> Hello Oleg,<br>
><br>
> The ImageRegistrationMethod only supports images with pixel type<br>
> sitkFloat32 and sitkFloat64. You can either specify the pixel type when<br>
> reading the image<br>
> (<a href="http://www.itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html#a02ff" rel="noreferrer" target="_blank">http://www.itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html#a02ff</a><br>
> c30c3c55dd9eeff3f76ba19f35e7) or read the image with its native pixel type<br>
> and then<br>
> use the SimpleITK Cast function<br>
> (<a href="http://www.itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html#af8c9" rel="noreferrer" target="_blank">http://www.itk.org/SimpleITKDoxygen/html/namespaceitk_1_1simple.html#af8c9</a><br>
> d7cc96a299a05890e9c3db911885), casting it to either of these two types.<br>
><br>
>    Ziv<br>
><br>
><br>
><br>
> On 11/18/15, 9:51 AM, "Oleg Subachev" <<a href="mailto:osubachev@gmail.com">osubachev@gmail.com</a>> wrote:<br>
><br>
>>Thanks, Brad.<br>
>><br>
>>But when I try this code:<br>
>>using ( ImageRegistrationMethod method = new ImageRegistrationMethod() )<br>
>>{<br>
>>method.SetMetricAsMattesMutualInformation( 50 );<br>
>>double metric = method.MetricEvaluate( SimpleITK.ReadImage( "1.png" ),<br>
>>SimpleITK.ReadImage( "2.png" ) );<br>
>>}<br>
>><br>
>>I get the exception:<br>
>>{"Exception thrown in SimpleITK<br>
>>ImageRegistrationMethod_MetricEvaluate:<br>
>>..\\..\\..\\..\\..\\SimpleITK\\Code\\Registration\\src\\sitkImageRegistrat<br>
>>ionMethod.cxx:862:\nsitk::ERROR:<br>
>>Filter does not support fixed image type: vector of 8-bit unsigned<br>
>>integer"}<br>
>><br>
>>What's wrong ?<br>
>>What is the simplest way to get similarity value of two image files ?<br>
>><br>
>>--<br>
>>Best regards,<br>
>>Oleg Subachev<br>
>><br>
>>On Tue, Nov 17, 2015 at 6:41 PM, Bradley Lowekamp<br>
>><<a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a>> wrote:<br>
>>> Hello,<br>
>>><br>
>>> You should look into SimpleITK's<br>
>>>ImageRegistrationMethod::MetricEvaluate( Image, Image ) member function.<br>
>>><br>
>>> Here is a Python example of using the method, C# should be similar:<br>
>>><br>
>>><br>
>>><a href="http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/63_Registr" rel="noreferrer" target="_blank">http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/63_Registr</a><br>
>>>ation_Initialization.html<br>
>>><br>
>>> HTH,<br>
>>> Brad<br>
>>><br>
>>> On Nov 17, 2015, at 8:24 AM, Oleg Subachev <<a href="mailto:osubachev@gmail.com">osubachev@gmail.com</a>> wrote:<br>
>>><br>
>>>> I need to get similarity metrics for 2D images under .NET.<br>
>>>> According to ITK documentation<br>
>>>> (<a href="http://www.itk.org/Doxygen/html/ImageSimilarityMetricsPage.html" rel="noreferrer" target="_blank">http://www.itk.org/Doxygen/html/ImageSimilarityMetricsPage.html</a>)<br>
>>>> there are several Image To Image metrics available.<br>
>>>> ITK itself contains corresponding methods.<br>
>>>> But I cannot find those methods in SimpleITK :-(<br>
>>>> There is SimpleITK.NormalizedCorrelation(Image, Image, Image) method,<br>
>>>> but it seems to have nothing with similarity metrics.<br>
>>>><br>
>>>> How to get to get image similarity metrics under .NET ?<br>
>>>><br>
>>>> --<br>
>>>> Best regards,<br>
>>>><br>
>>>> Oleg Subachev<br>
>>>> _______________________________________________<br>
>>>> Community mailing list<br>
>>>> <a href="mailto:Community@itk.org">Community@itk.org</a><br>
>>>> <a href="http://public.kitware.com/mailman/listinfo/community" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/community</a><br>
>>><br>
>>_______________________________________________<br>
>>Community mailing list<br>
>><a href="mailto:Community@itk.org">Community@itk.org</a><br>
>><a href="http://public.kitware.com/mailman/listinfo/community" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/community</a><br>
><br>
_______________________________________________<br>
Community mailing list<br>
<a href="mailto:Community@itk.org">Community@itk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/community" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/community</a><br>
</blockquote></div>