You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am not sure if this is the right place to ask this, but here it is anyway. Why is itkFastMarchingImageFilterBase named such? When I read 'itk...Base.h' I assume that it is (maybe) an abstract class from which itkFastMarchingFilter is derived, but surprisingly neither of these two assumptions are true! Am I the only one who finds this confusing?
The Fast marching module essentially implements the Fast Marching algorithm. There are 2 different implementations of the algorithm in the module. First one (lets call this one 'regular') is implemented in classes itkFastMarchingImageFilter etc. and the second more generalizable implementation (lets call it 'base') in classes itkFastMarchingBase and its subclasses. The 'base' implementation essentially implements the same algorithms expect that it works with generic 'nodes' instead of just voxels of images. As a consequence, we have an itkFastMarchingImageFilterBase and an itkFastMarchingQuadMeshFilterBase and others which are sub-classes of the more generic 'base' version. The 'regular' classes on the other hand are subclass of ImageToImageFilter, so only work for images.
What is not clear to me is the reason for naming the generic implementation 'base'.
Expected coding style
I propose to rename all the fast marching 'Base' classes to something more appropriate. Perhaps something like 'itkFastMarchingImageDomainFilter' , ...QuadMeshDomainFilter.., etc. unless I am missing something here.
Versions
5.2.1
edit: expanded description
The text was updated successfully, but these errors were encountered:
Description
I am not sure if this is the right place to ask this, but here it is anyway. Why is itkFastMarchingImageFilterBase named such? When I read 'itk...Base.h' I assume that it is (maybe) an abstract class from which
itkFastMarchingFilter
is derived, but surprisingly neither of these two assumptions are true! Am I the only one who finds this confusing?The Fast marching module essentially implements the Fast Marching algorithm. There are 2 different implementations of the algorithm in the module. First one (lets call this one 'regular') is implemented in classes
itkFastMarchingImageFilter
etc. and the second more generalizable implementation (lets call it 'base') in classesitkFastMarchingBase
and its subclasses. The 'base' implementation essentially implements the same algorithms expect that it works with generic 'nodes' instead of just voxels of images. As a consequence, we have anitkFastMarchingImageFilterBase
and anitkFastMarchingQuadMeshFilterBase
and others which are sub-classes of the more generic 'base' version. The 'regular' classes on the other hand are subclass ofImageToImageFilter
, so only work for images.What is not clear to me is the reason for naming the generic implementation 'base'.
Expected coding style
I propose to rename all the fast marching 'Base' classes to something more appropriate. Perhaps something like 'itkFastMarchingImageDomainFilter' , ...QuadMeshDomainFilter.., etc. unless I am missing something here.
Versions
5.2.1
edit: expanded description
The text was updated successfully, but these errors were encountered: