[Insight-developers] Wrapping more ITK filters

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Wed Sep 13 15:23:51 EDT 2006


Hi,

WrapITK has been moved to ITK last week, and thing seems to work quite  
well :-)
With WrapITK, I have tried to increase the number of filters available in  
the target languages. I created as much wrappers as I can, but I'm now  
stopped by the lack of knownledge about some of them. Here is the list  
given by the script filterCoverage.py, with ITK cvs:

BalloonForceFilter
BayesianClassifierImageFilter
BayesianClassifierInitializationImageFilter
BinaryMaskToNarrowBandPointSetFilter
BloxBoundaryPointImageToBloxBoundaryProfileImageFilter
BloxBoundaryPointToCoreAtomImageFilter
BloxBoundaryProfileImageToBloxCoreAtomImageFilter
ChainCodeToFourierSeriesPathFilter
Compose3DCovariantVectorImageFilter
Compose3DVectorImageFilter
ConnectedRegionsMeshFilter
CurvatureRegistrationFilter
DeformableMesh3DFilter
DeformableSimplexMesh3DBalloonForceFilter
DeformableSimplexMesh3DFilter
DeformableSimplexMesh3DGradientConstraintForceFilter
DeformationFieldJacobianDeterminantFilter
DifferenceOfGaussiansGradientImageFilter
DiffusionTensor3DReconstructionImageFilter
EigenAnalysis2DImageFilter
ExtensionVelocitiesImageFilter
ExtractOrthogonalSwath2DImageFilter
FEMRegistrationFilter
FastMarchingExtensionImageFilter
FastMarchingUpwindGradientImageFilter
FiniteDifferenceSparseImageFilter
GetAverageSliceImageFilter
GradientImageToBloxBoundaryPointImageFilter
GradientVectorFlowImageFilter
HardConnectedComponentImageFilter
Hessian3DToVesselnessMeasureImageFilter
HessianRecursiveGaussianImageFilter
HistogramToEntropyImageFilter
HistogramToImageFilter
HistogramToIntensityImageFilter
HistogramToLogProbabilityImageFilter
HistogramToProbabilityImageFilter
HoughTransform2DCirclesImageFilter
HoughTransform2DLinesImageFilter
ImageAndPathToImageFilter
ImageToMeshFilter
ImageToParametricSpaceFilter
ImplicitManifoldNormalVectorFilter
InteriorExteriorMeshFilter
InterpolateImagePointsFilter
InverseDeformationFieldImageFilter
IsoContourDistanceImageFilter
IterativeInverseDeformationFieldImageFilter
JoinImageFilter
JoinSeriesImageFilter
KLMRegionGrowImageFilter
ListSampleToHistogramFilter
MRFImageFilter
MRIBiasFieldCorrectionFilter
MaskNeighborhoodOperatorImageFilter
MatrixIndexSelectionImageFilter
MeshToMeshFilter
NarrowBandCurvesLevelSetImageFilter
NeighborhoodOperatorImageFilter
NormalizedCorrelationImageFilter
OrientImageFilter
OrthogonalSwath2DPathFilter
ParametricSpaceToImageSpaceMeshFilter
PathAndImageToPathFilter
PathToChainCodePathFilter
PathToImageFilter
PathToPathFilter
PointSetToImageFilter
PolylineMask2DImageFilter
PolylineMaskImageFilter
RGBGibbsPriorFilter
ReinitializeLevelSetImageFilter
SampleMeanShiftBlurringFilter
SampleMeanShiftClusteringFilter
SampleSelectiveMeanShiftBlurringFilter
SampleToHistogramProjectionFilter
ScalarImageKmeansImageFilter
ScalarToArrayCastImageFilter
SimplexMeshAdaptTopologyFilter
SimplexMeshToTriangleMeshFilter
SpatialFunctionImageEvaluatorFilter
SpatialObjectToPointSetFilter
SymmetricEigenAnalysisImageFilter
TensorFractionalAnisotropyImageFilter
TensorRelativeAnisotropyImageFilter
TransformMeshFilter
TriangleMeshToBinaryImageFilter
TriangleMeshToSimplexMeshFilter
UnsharpMaskLevelSetImageFilter
VectorConfidenceConnectedImageFilter
VectorConnectedComponentImageFilter
VectorCurvatureAnisotropicDiffusionImageFilter
VectorExpandImageFilter
VectorGradientAnisotropicDiffusionImageFilter
VectorGradientMagnitudeImageFilter
VectorNeighborhoodOperatorImageFilter
VectorResampleImageFilter
VectorRescaleIntensityImageFilter
VectorThresholdSegmentationLevelSetImageFilter
VoronoiPartitioningImageFilter
VoronoiSegmentationRGBImageFilter
WarpMeshFilter
WarpVectorImageFilter
WrapPadImageFilter
ZeroCrossingBasedEdgeDetectionImageFilter

315 filters
210 wrapped filters
105 non wrapped filters
66.666667% covered

I think that 66 percent of coverage is not so bad, but I would like to  
increase this value as much as possible.
Currently, it's not possible to reach 100% because of some limitations of  
cableswig with nested name space, but it should be possible to go up to  
~90%.

Please help to choose the useful sets of template parameters for the  
classes listed above.

The type of information needed is, for all the template parameters:
It must be an image ?
  - with integral pixel type ?
  - with real pixel type ?
  - with signed pixel type ?
  - with scalar pixel type ?
  - with vector pixel type ?
  - with covariant vector pixel type ?
  - with RGB pixel type ?
  - with complex pixel type ?
It must be something else than an image ? Which type ?

Also perhaps some filters are useful only for internal use in other  
filters, or as the superclass with a specific template parameter (like  
UnaryFunctorImageFilter) - just tell it to me, so I can exclude them from  
the list.

Thanks !

Gaetan


-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr


More information about the Insight-developers mailing list