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

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Tue Jan 13 08:33:08 EST 2009


Hi Luis,

I've processed all the filters instantiations examples you have  
provided on

   http://www.itk.org/Wiki/Proposals:Increasing_WrapITK_Coverage

(at the exception of a few a bit more difficult, but they will come).

That list has been very helpful.
If you get chance, I would highly appreciate if you can process the  
other filters attributed to you.

Thanks a lot,

Gaëtan


Le 1 oct. 08 à 15:36, Luis Ibanez a écrit :

>
> Hi Dan,
>
> Thanks a lot for volunteering.
>
> Following your suggestion, a Wiki page has been created for this  
> topic.
>
> You will find it at the table:
> http://www.itk.org/Wiki/ITK_Oversight_Committee#2008
>
> or directly at
> http://www.itk.org/Wiki/Proposals:Increasing_WrapITK_Coverage
>
>
> Please feel free to add your name in front of the filters that
> you would be interested in wrapping.
>
>
>  Thanks
>
>
>     Luis
>
>
> -----------------
> Dan Mueller wrote:
>> 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
>>>
>>>
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers

-- 
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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20090113/4fde5827/attachment.pgp>


More information about the Insight-developers mailing list