
Please use this identifier to cite or link to this publication: http://hdl.handle.net/10380/3242 |







Click here for more details.
Go here to access the main testing dashboard.







The author has contributed a program which distributes VectorGradientAnisotropicDiffusion with MPI.
Hypothesis:The hypothesis is that this algorithm is distributable across multiple machines interconnected with MPI, and that this will provide faster and scalable computation.
Evidence:The paper show the resulting data from the processing, along with some processing times of the algorithm. While more rigor could have been provided to identifying the constant time factors vs the data dependent time, and more experiments to determine if the process scales in terms of doubling both data processors at the same time, the times are convincing of the benefits for using this distribution approach.
Open Science:The software is provided along with testing data, and the location of the full testing data.
Reproducibility:The code compiled with out any issues on my mac system, and on the cluster. The provided tests pass.
Use of Open Source Software:The auto uses ITK, and the is compatible with an openMPI implementation of MPI.
Open source Contributions:The resulting program is quite useful and provides a good basis for developing the methods for ones own purpose. The paper does an excellent job of describing the pipeline. Figure 1 is especially useful.
Code Quality :The code was portable and easy to read with good names and follows common conventions.
This contribution primarily is one long main function. It is disappointing that this was not broken up into more re-usable functions.
Quality of the data :Provided with the data a a small crop of the Visible Woman. Excellent choice!
Interest:In an afternoon I was able to convert the code to work with scalar anisotropic diffusion, change the the bulk data mpi send/recv to be asynchronous then integrating it into a tool. I am immediately planning on using the to process large FIB-SEM volumes.
Free comment :While the contributed code is not directly useful to be integrated into ITK, this is an excellent example application to demonstrate using MPI on top of an ITK pipeline. It makes good use of IO streaming methods. The sections of code to deal with region overlap are well implemented and provide a good example of how to processes and communicate overlapping regions. It is unfortunate that this has not been packaged in a more reusable fashion.
The mpi methods used are synchronous, better performance should be obtained with asynchronous methods. The management of the bulk data in the pipeline could be improve with careful use of the InPlace and ReleaseData flags. This should reduce memory usage by at least factor of 2-3.
An significant area of concern is that average gradient magnitude calculation appears to give slightly different results then the one internal to the diffusion. This results in the final output not completely matching that of the non-mpi version.
Overall this is a very useful contribution and an excellent example of using MPI with ITK.
Resources
![]() |
|
Download All | |
Download Paper , View Paper | |
Download Source code | |
Github |
Statistics more
![]() |
|
Global rating: | ![]() ![]() ![]() ![]() ![]() |
Review rating: | ![]() ![]() ![]() ![]() ![]() |
Code rating: | ![]() ![]() ![]() ![]() ![]() |
Paper Quality: |
![]() ![]() |
Information more
![]() |
|
Categories: | Anisotropic blurring filters, Distributed computation |
Keywords: | Distributed, MPI, Smoothing, Anisotropic |
Toolkits: | ITK, CMake |
Export citation: |
Share
![]() |
Linked Publications more
![]() |
||
![]() by Padfield D., Miller J.
|
||
![]() by Vercauteren T., Pennec X., Perchant A., Ayache N.
|
View license
Send a message to the author
