Slice by slice filtering with ITK
Lehmann G.
INRA

Please use this identifier to cite or link to this publication: http://hdl.handle.net/1926/368
While filtering in N dimensions is a main feature of ITK, filtering an image
in N-1 dimensions, slice by slice, can be very useful in many cases. Currently,
this operation require a consequent amount of work to be done with ITK. A new
filter is provided with this article to perform this operation with only a few
lines of code.
Data
minus 2 Files (6Mb)
Code
minus Automatic Testing Results by Insight-Journal Dashboard on Mon Mar 12 10:36:03 2007 for revision #3
starstarstarstarstar expertise: 5 sensitivity: 5
yellow This project passed 0 out of 2 tests.
Click here for more details.

Go here to access the main testing dashboard.
plus Automatic Testing Results by Insight-Journal Dashboard on Mon Mar 12 10:33:05 2007 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 5
plus Automatic Testing Results by Insight-Journal Dashboard on Mon Nov 13 15:37:24 2006 for revision #1
starstarstarstarstar expertise: 5 sensitivity: 5

Reviews
minus Filtering slices in ITK without additional spadework... by Hauke Heibel on 10-10-2007 for revision #3
starstarstarstarstar expertise: 4 sensitivity: 5
yellow

Summary:
The paper describes a method to apply ITK filters to slices, i.e. sub-volumes which are one dimension less than the original volume. It processes all slices of the original volume, pipes them through a set of filters and stores the result in an output volume.

Hypothesis:
"Non Applicable".

Evidence:
The method itself does not require any evidence; the statement that "filtering an image in N-1 dimensions, slice by slice, can be very useful in many cases" is hard to prove with numbers but I totally agree with the author  and many examples exist.

Open Science:
The source code as well as samples are provided.

Reproducibility:
I have compiled and used the class extensively.

Use of Open Source Software:
The author's filter is properly derived from ITK's ImageToImageFilter and thus integrates seamlessly into the ITK framework.

Open Source Contributions:
The source code is fully provided. The filter was running out of the box besides the issue discussed under "Additional Comments".

Code Quality:
The code is easy to read and follows the ITK coding guidelines.

Applicability to other problems:
n/a

Suggestions for future work:
In a future version it would be great if a connected set of sub slices could be processed, see also "Additional Comments".

Requests for additional information from authors:
n/a

Additional Comments:
The current revision is always setting the requested region of the output to the largest possible region. I would be nice if full sub-slices would be allowed. I.e. slices of dimension N-1 where

  • the first N-1 values of the requested region's index of the output should be equal to zero and
  • the N-th value of the requested region's output would be the starting index.

Furthermore

  • the first N-1 values of the requested region's size should be equal to the first N-1 values of the largest possible region's size while
  • the N-th value of the requested region's size would be actually the number of slices to be processed.

As an example this would allow a user to process single 2D images as well as a set of continuous 2D images while ensuring that full slices are processed which would be intuitively conforming with the class's name.

In the loop in which is iterating over the slices of a volume the upper bound is not computed correctly. The upper bound should be equal to:

requestedSize[m_Dimension] + requestedIndex[m_Dimension] (+, not -).

Besides these remarks a very nice tool!

Add a new review
Quick Comments


Resources
backyellow
Download Package
Download Paper, View Paper

Statistics more
backyellow
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating: starstarstarstarstar
Paper Quality: plus minus

Information more
backyellow
Categories: Filtering, Generic Programming
Keywords: slice, filtering,
Toolkit: ITK (moved into the sandbox), CMake
Export citation:

Share
backyellow
Share

Associated Publications more
backyellow
MATITK: EXTENDING MATLAB WITH ITK

View license
Loading license...

Send a message to the author
main_flat
Powered by Midas