At first in ITK there was just the regular images then the LabelMap module was contributed to ITK via the Insight Journal: http://hdl.handle.net/1926/584 As the ConnectedComponentsI and the BinaryImageToLabelMap filters produce different output data structures, why both have their purpose.
Great to hear that it is easier and for the better!
As I just said in another thread
We really should be doing better with our SimpleITK Doxygen. As of right now the description for the filters are just taken from ITK, with all the features exposed from the C++ interface. We should really mark this as coming for C++ ITK, and provide brief info about the SimpleITK simplification done, or implementation choices made.
However, for the ConnectedComponents doxygen, the filter does not talk about C++ or features that have been simplified for the interface, so I am no sure why you reference this particular one?
The LabelMap version of ConnectedComponentsImageFilter
is BinaryImageToLabelMapImageFilter
and the LabelMap version of ChangeLabelImageFilter
is ChangeLabelLabelMapFilter
. So the output of BinaryImageToLabelMapFilter can be used as input to the ChangeLabelIamgeFilter. That is not a typeo, Label is repeated in the filter name, the ITK naming conventions follow strict conventions. They make since, really then do.
So… The SimpleITK filter sitk::LabelIntensityStatisticsImageFilter is a case where the Doxygen was taken from the underlying ITK class, itk::LabelImageToStatisticsLabelMapFilter and it is not good to say the least, combined with that little changes that SimpleITK made to the interface it is now double-plus not good. For SimpleITK filter, this is a case where the input is not a LabelMap but a scalar label image, and there is no output image/LabelMap. The computed statistics are just available with Get methods of the filter after execution.
Hope that helps.