[Insight-users] why Mattes MI is multithreaded but Normalized MI is not?

Luis Ibanez luis.ibanez at kitware.com
Sun Nov 16 10:23:02 EST 2008


Hi Pinpress,


The reason why the NormalizedMutualInformationHistogramImageToImageMetric
has not been converted to support multi-threading is simply that it wasn't a
priority
at the time we engage in converting several of the metrics.


If you would like to volunteer to convert the metric we will be glad to
provide you
guidance on how to do it.


Otherwise, if your immediate interest is simply to use a Normalized Mutual
Information
metric implementation (and doesn't have to be the Histogram-based one), then
you
just need to modify the file:


   - Insight/Code/Review/itkOptMattesMutualInformationImageToImageMetric.txx


in lines: 736-742.


As you probably know, the only difference between Mutual Information and
Normalized Mutual Information is how the joint entropy is combined at the
end with the entropy of the fixed and moving images. The computationally
intensive part of the Metric is the section that computes the joint pdf, and

the individual pdfs, both of which happens before the lines of code listed
above.


Once you change these lines, you probably should also rename the class and
we of course will strongly encourage you to submit it as a contribution to
the Insight Journal

           http://www.insight-journal.org/

which is one of the first steps for receiving contributions into the
toolkit.

More details about this process are available at:
http://www.vtk.org/Wiki/ITK_Procedure_for_Contributing_New_Classes_and_Algorithms


We appreciate your constructive criticism and look forward to see
your contributions to the toolkit.


      Best Regards,


             Luis



-------------------------------------------------------------------------------------------------------------
On Sat, Nov 15, 2008 at 1:19 PM, pinpress <sb_ji at yahoo.com> wrote:

>
> Hi all,
>
> I have built my ITK 3.10 by setting
>
>         ITK_USE_REVIEW
>         ITK_USE_OPTIMIZED_REGISTRATION_METHODS
>
> both to "ON" in CMake to take advantage of multithreading. I was very happy
> to find out that MattesMutualInformationImageToImageMetric image metric
> utilizes multi-cores automatically without even the need that I modify my
> code.  However, NormalizedMutualInformationHistogramImageToImageMetric does
> not take multithreading!  Any ideas why the latter is not multithreaded?  I
> was able to find public member functions SetNumberOfThreads() in both image
> metrics.
>
> By the way, this forum does not seem to be very responsive at all -- I can
> see so many threads with literally zero reply. I wonder if this can be
> improved.  I have been personally rather active in other technical forums
> (e.g., Mathworks) both asking questions and answering others questions. I
> think that's a very good experience there so far because many people there
> do the same. But I have to say that I am disappointed that this forum is
> not
> the case.  I also hope that ITK become more powerful, robust, and versatile
> over the years, and more and more people will start to use it with more
> experience. I think this is the essence for the better good of open source
> software. But this would be difficult if without the help from more
> experienced users. Just my 2 cents.
> --
> View this message in context:
> http://www.nabble.com/why-Mattes-MI-is-multithreaded-but-Normalized-MI-is-not--tp20518131p20518131.html
> Sent from the ITK - Users mailing list archive at Nabble.com.
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20081116/1860c42c/attachment.htm>


More information about the Insight-users mailing list