[Insight-developers] proposal: enhancing wrapitk's filter coverage during (one of) the next tcon

Dan Mueller dan.muel at gmail.com
Wed Oct 1 08:27:00 EDT 2008


Hi Gaëtan,

I should be able to help with the mesh filters (which comprise roughly
20 of the remaining filters), though I won't be able to discuss this
at tcons (due to time conflict). Maybe you could start a wiki page
with a list of non-wrapped filters, and I can edit it with suitable
template parameters. I haven't delved into it yet, but wrapping meshes
may require more than just template parameters...

Regards, Dan

2008/10/1 Gaëtan Lehmann <gaetan.lehmann at jouy.inra.fr>:
>
> Hi,
>
> You may know that WrapITK has greatly enhanced the filter coverage, compared
> to what was previously available in tcl, java and python. Currently, 66% of
> the filters in ITK are usable in WrapITK. In the future, the goal is to
> reach 100% of filter coverage. This is a quite difficult task for a single
> person, because it requires a quite good knowledge of the whole ITK, to be
> able to select, for all the classes, the relevant template parameters to
> instantiate. I made my best to complete this task, but obviously, I can't go
> further, because I'm not able to make a decision on the remaining non
> wrapped filters.
>
> I think that the weekly tcon can be a great place to select the template
> parameters needed to instantiate the missing filters in WrapITK. For many of
> the filters, I'm quite sure the right template parameters to use are obvious
> for many of us, and that they only need to be collected. With those data, I
> would be able to implement the wrappers and to add them in WrapITK.
> Also, some of the filters may not be of direct interest for the user,
> because they are intended to be used only internally in some other code, or
> because they can only be used as a superclass (like
> UnaryFunctorImageFilter). In that case, they should be added in the excluded
> filters list for the filter coverage.
>
> A good goal, for the next release, would be to cover 80% of ITK's filter,
> which means 51 new filters added in WrapITK or in the excluded filters list.
> 51 filters may look like a big number of classes (and it is, for the final
> python/tcl/java user), but many of the remaining filters seems similar, so
> it should be easy to choose the template parameters for a group of filters,
> instead of processing them one by one.
>
> Also, note that adding new stuff in WrapITK would not only benefit to
> WrapITK users: because building a class in WrapITK builds every methods in
> that class, we have found many bugs in ITK code during the addition of new
> classes in WrapITK in the past. It is likely that we would uncover a few
> more bugs by adding new classes, bugs which won't be found by final users.
>
> A list of unwrapped filters can be found at the end of this mail.
>
> What do you think?
>
> Gaëtan
>
>
>
>
> BSplineScatteredDataPointSetToImageFilter
> BalloonForceFilter
> BayesianClassifierImageFilter
> BayesianClassifierInitializationImageFilter
> BinaryMaskToNarrowBandPointSetFilter
> BloxBoundaryPointImageToBloxBoundaryProfileImageFilter
> BloxBoundaryPointToCoreAtomImageFilter
> BloxBoundaryProfileImageToBloxCoreAtomImageFilter
> ChainCodeToFourierSeriesPathFilter
> ComposeRGBAImageFilter
> ConformalFlatteningMeshFilter
> ConnectedRegionsMeshFilter
> ContourExtractor2DImageFilter
> CurvatureRegistrationFilter
> DeformableMesh3DFilter
> DeformableSimplexMesh3DBalloonForceFilter
> DeformableSimplexMesh3DFilter
> DeformableSimplexMesh3DGradientConstraintForceFilter
> DeformationFieldJacobianDeterminantFilter
> DiffeomorphicDemonsRegistrationFilter
> DifferenceOfGaussiansGradientImageFilter
> DiffusionTensor3DReconstructionImageFilter
> DisplacementFieldJacobianDeterminantFilter
> EigenAnalysis2DImageFilter
> ExponentialDeformationFieldImageFilter
> ExtensionVelocitiesImageFilter
> ExtractOrthogonalSwath2DImageFilter
> FEMRegistrationFilter
> FFTComplexToComplexImageFilter
> FFTWComplexToComplexImageFilter
> FastMarchingExtensionImageFilter
> FastMarchingUpwindGradientImageFilter
> FastSymmetricForcesDemonsRegistrationFilter
> FiniteDifferenceSparseImageFilter
> GetAverageSliceImageFilter
> GradientImageToBloxBoundaryPointImageFilter
> GradientVectorFlowImageFilter
> GridForwardWarpImageFilter
> HardConnectedComponentImageFilter
> Hessian3DToVesselnessMeasureImageFilter
> HessianRecursiveGaussianImageFilter
> HistogramToEntropyImageFilter
> HistogramToImageFilter
> HistogramToIntensityImageFilter
> HistogramToLogProbabilityImageFilter
> HistogramToProbabilityImageFilter
> HoughTransform2DCirclesImageFilter
> HoughTransform2DLinesImageFilter
> ImageAndPathToImageFilter
> ImageToMeshFilter
> ImageToParametricSpaceFilter
> ImageToPathFilter
> ImageToVectorImageFilter
> ImplicitManifoldNormalVectorFilter
> InteriorExteriorMeshFilter
> InterpolateImagePointsFilter
> InverseDeformationFieldImageFilter
> IsoContourDistanceImageFilter
> IterativeInverseDeformationFieldImageFilter
> JoinImageFilter
> KLMRegionGrowImageFilter
> ListSampleToHistogramFilter
> MRFImageFilter
> MRIBiasFieldCorrectionFilter
> MagnitudeAndPhaseToComplexImageFilter
> MaskNeighborhoodOperatorImageFilter
> MaskedMovingHistogramImageFilter
> MatrixIndexSelectionImageFilter
> MeshToMeshFilter
> NarrowBandCurvesLevelSetImageFilter
> NeighborhoodOperatorImageFilter
> NormalizedCorrelationImageFilter
> OrthogonalSwath2DPathFilter
> ParametricSpaceToImageSpaceMeshFilter
> PathAndImageToPathFilter
> PathToChainCodePathFilter
> PathToImageFilter
> PathToPathFilter
> PointSetToImageFilter
> PolylineMask2DImageFilter
> PolylineMaskImageFilter
> QuadEdgeMeshCleanFilter
> QuadEdgeMeshDecimationFilter
> QuadEdgeMeshDelaunayConformingFilter
> QuadEdgeMeshEdgeMergeDecimationFilter
> QuadEdgeMeshNormalFilter
> QuadEdgeMeshToQuadEdgeMeshFilter
> RGBGibbsPriorFilter
> RealAndImaginaryToComplexImageFilter
> ReinitializeLevelSetImageFilter
> SampleMeanShiftBlurringFilter
> SampleMeanShiftClusteringFilter
> SampleSelectiveMeanShiftBlurringFilter
> SampleToHistogramProjectionFilter
> ScalarImageKmeansImageFilter
> ScalarToArrayCastImageFilter
> SimpleFuzzyConnectednessRGBImageFilter
> SimpleFuzzyConnectednessScalarImageFilter
> SimplexMeshAdaptTopologyFilter
> SimplexMeshToTriangleMeshFilter
> SpatialFunctionImageEvaluatorFilter
> SpatialObjectToPointSetFilter
> SymmetricEigenAnalysisImageFilter
> TensorFractionalAnisotropyImageFilter
> TensorRelativeAnisotropyImageFilter
> TransformMeshFilter
> TriangleMeshToBinaryImageFilter
> TriangleMeshToSimplexMeshFilter
> UnsharpMaskLevelSetImageFilter
> VectorConfidenceConnectedImageFilter
> VectorConnectedComponentImageFilter
> VectorCurvatureAnisotropicDiffusionImageFilter
> VectorExpandImageFilter
> VectorFuzzyConnectednessImageFilter
> VectorGradientAnisotropicDiffusionImageFilter
> VectorGradientMagnitudeImageFilter
> VectorNeighborhoodOperatorImageFilter
> VectorResampleImageFilter
> VectorRescaleIntensityImageFilter
> VectorThresholdSegmentationLevelSetImageFilter
> VoronoiPartitioningImageFilter
> VoronoiSegmentationRGBImageFilter
> WarpJacobianDeterminantFilter
> WarpMeshFilter
> WarpVectorImageFilter
> WrapPadImageFilter
> ZeroCrossingBasedEdgeDetectionImageFilter
>
> 372 filters
> 245 wrapped filters
> 127 non wrapped filters
> 65.860215% covered
>
>
> --
> 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  http://www.mandriva.org
> http://www.itk.org  http://www.clavier-dvorak.org
>
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers
>
>


More information about the Insight-developers mailing list