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

Alexandre GOUAILLARD Alexandre_Gouaillard at hms.harvard.edu
Wed Oct 1 09:04:24 EDT 2008


Hi gaethan,

The list is not polished, but here are the template parameters that should
unlock the itk::mesh and itk::QuadEdgeMesh kingdom to wrapITK. The document
has been written to be self explanatory and to serve as a base for (future?)
documentation.

I'm extremely busy this week committing the latest mesh filters so that itk
finally has mesh processing capacity equivalent to vtk in 3.10, but I'll do
my best to attend the Tconf (SecondLifeConf?).

Eric, who you know, co-developper of the QuadEdgeMesh datastructure, and
arnaud, developper of several filters, should help once we will have defined
a strategy :)

Alex.
PS I could handle those filters, with dan.

  BalloonForceFilter
  ConformalFlatteningMeshFilter
  ConnectedRegionsMeshFilter
  DeformableMesh3DFilter
  DeformableSimplexMesh3DBalloonForceFilter
  DeformableSimplexMesh3DFilter
  DeformableSimplexMesh3DGradientConstraintForceFilter
  ImageToMeshFilter (superclass?)
? InteriorExteriorMeshFilter
  MeshToMeshFilter (superclass)
? ParametricSpaceToImageSpaceMeshFilter
  QuadEdgeMeshCleanFilter
  QuadEdgeMeshDecimationFilter
  QuadEdgeMeshDelaunayConformingFilter
  QuadEdgeMeshEdgeMergeDecimationFilter
  QuadEdgeMeshNormalFilter
  QuadEdgeMeshToQuadEdgeMeshFilter
  SimplexMeshAdaptTopologyFilter
  SimplexMeshToTriangleMeshFilter
  TransformMeshFilter
  TriangleMeshToBinaryImageFilter
  TriangleMeshToSimplexMeshFilter
  WarpMeshFilter


On 10/1/08 5:25 AM, "Gaëtan Lehmann" <gaetan.lehmann at jouy.inra.fr> 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
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Traits.txt
Type: application/octet-stream
Size: 9145 bytes
Desc: not available
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20081001/28e72e23/attachment.obj>


More information about the Insight-developers mailing list