Abstract
This document describes a filter called itkMultipleUnlabeledImagesToLabeledImageFilter, which takes multiple images as input and generates a single image of labeled pixels. Pixels to be labeled for each image are determined by an intensity threshold. Submitted with this document is the source code for the filter and source code for demonstrating filter usage via an image input as an argument. Also included is source code for testing the functionality of the filter.
Keywords
Source Code and Data
Reviews
Gaetan Lehmann
Tuesday 31 October 2006
Summary:
The author present a new filter to combine several binary image in a single labeled image. Open Science:
The source code is provided, as well as the input images, but not the result image. It is easy to reproduce the example. Reproducibility:
I have downloaded, compile without problem. The test program can't run as it is: the ${CMAKE_SOURCE_DIR} string in images/testfiles is not expanded when read by the test program. Even by replacing manually the string above by the full path, I failed to get the expected output: the image is all black. Use of Open Source Software:
fully ITK Open Source Contributions:
The source code provided is designed to be reused, and is provided as a contribution to ITK Code Quality:
The code does not fully follow the ITK coding style (indentation, brackets, ...) - a minor issue - and doesn't use the pipeline architecture of ITK - this time, a major issue. Applicability to other problems:
It seem to be a quite common need to combine the result of different segmentations procedures in a labeled image. This code may be reused in many cases. Suggestions for future work:
- use the ITK pipeline architecture. You can avoid doing most of the work by implementing your class as a subclass of NaryFunctorImageFilter.
- provide the output image
- fix the test. You should test the output image with ImageCompare
- implement the collision case
- perhaps call it NaryBinaryImageToLabelImageFilter ?
The problems above looks like small beginner's mistakes. Please contact me if you need some help to fix the problems above. I'd be pleased to help :-)
