Slicer-3.6-QA

From Slicer Wiki
Revision as of 15:36, 15 April 2010 by Ibanez (talk | contribs)
Jump to: navigation, search
Home < Slicer-3.6-QA

Return to Slicer 3.6 documentation

  • This page contains our assessment of the Slicer 3.6 modules and extensions
Slicer 3.6 Quality Assurance
Score Name Documentation Help [1] Acknowledgment [2] Test coverage [3] valgrind errors
Gold my module complete yes and yes yes, yes, yes 80% 0
Gold my module complete yes and yes yes, yes, yes 80% 0
?? DiffusionTensorTest 0% unknown
?? DiffusionWeightedTest 0% unknown
?? DiffusionTensorEstimation 0% unknown
?? DiffusionTensorMathematics 0% unknown
?? OrientImage 0% unknown
?? LinearRegistration 0% unknown
?? RigidRegistration 0% unknown
?? AffineRegistration 0% unknown
?? BSplineDeformableRegistration 0% unknown
?? TestGridTransformRegistration 0% unknown
?? CheckerBoard 0% unknown
?? ResampleVolume 0% unknown
?? PolyDataToLabelmap 0% unknown
?? GaussianBlurImageFilter 0% unknown
?? ConfidenceConnected 0% unknown
?? ExecutionModelTour 0% unknown
?? ImageReadDicomWrite 0% unknown
?? CurvatureAnisotropicDiffusion 0% unknown
?? GradientAnisotropicDiffusion 0% unknown
?? MedianImageFilter 0% unknown
?? DWIDicomLoad 0% unknown
?? HistogramMatching 0% unknown
?? OtsuThresholdImageFilter 0% unknown
?? OtsuThresholdSegmentation 0% unknown
?? Subtract 0% unknown
?? Multiply 0% unknown
?? Add 0% unknown
?? Threshold 0% unknown
?? Mask 0% unknown
?? Cast 0% unknown
?? VotingBinaryHoleFillingImageFilter 0% unknown
?? ModelMaker 0% unknown
?? MultipleModelsExample 0% unknown
?? GrayscaleModelMaker 0% unknown
?? MergeModels 0% unknown
?? GrayscaleFillHoleImageFilter 0% unknown
?? GrayscaleGrindPeakImageFilter 0% unknown
?? LabelMapSmoothing 0% unknown
?? ImageLabelCombine 0% unknown
?? ResampleVolume2 0% unknown
?? ZeroCrossingBasedEdgeDetectionImageFilter 0% unknown
?? FreesurferSurfaceSectionExtraction 0% unknown
  1. including link to website documentation
  2. including name of author and of supervisor
  3. in % for non-interactive part

Testing Partition

Most Slicer modules have a GUI component and a Data Processing component.

Testing GUI components is still a challenge, so we will focus here on testing the Data Processing components. This can be done in most cases by partitioning the module into a GUI section and a Data Processing section, where the second one usually takes the form of a C++ class (although that is not a requirement).

The data processing section can be tested by using standard CTest/CMake mechanisms. Basically by adding ADD_TEST() entries to the CMakeLists.txt file of the module.

Luis Ibanez' scoring system

The following scoring will be applied to the data processing sections of all modules:

Slicer 3.6 Quality Assurance Scoring
Score Code Coverage Valgrin Errors Documentation Tutorial
Gold > 80% 0 yes yes
Silver > 70% < 10 yes yes
Bronze > 60% < 50 yes yes
Aluminium > 50% < 100 yes yes
Coal > 50% > 100 yes yes
Plutonium unknown unknown no no

The code coverage and Valgrind error must be the ones reported on the Nightly Slicer Dashboard. Anecdotal data is not acceptable.