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

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 1 09:33:44 EDT 2008



Hi Gaetan,

This is an Excellent idea !

Thanks for taking the initiative.

A proposal Wiki page has been added to the 2008 section
http://www.itk.org/Wiki/ITK_Oversight_Committee#2008

Direct link:
http://www.itk.org/Wiki/Proposals:Increasing_WrapITK_Coverage#List_of_Unwrapped_Filters

With the content of your email,
including the list of non-wrapped filters.

Please feel free to modify.


The topic has been added also to the Tcon agenda for Friday:

    http://www.itk.org/Wiki/Agenda%26Status_100108

Instructions on how to join the tcon are available at:

    http://www.itk.org/Wiki/ITK_in_Second_Life




   Thanks


      Luis


-----------------------
Gaëtan Lehmann wrote:
> 
> 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
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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