Difference between revisions of "Slicer-3.6-QA"

From Slicer Wiki
Jump to: navigation, search
Line 38: Line 38:
 
|style="background:white"|??||style="width:33%"| Volume Rendering ||complete||yes and yes||no and yes||  0%  || unknown
 
|style="background:white"|??||style="width:33%"| Volume Rendering ||complete||yes and yes||no and yes||  0%  || unknown
 
|-
 
|-
|style="background:white"|??||style="width:33%"| DiffusionWeightedTest ||        ||      ||    ||  0%  || unknown
+
|style="background:white"|??||style="width:33%"| DiffusionWeightedTest ||        ||      ||    ||  69.8%  || unknown
 
|-
 
|-
|style="background:white"|??||style="width:33%"| DiffusionTensorEstimation ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| DiffusionTensorEstimation ||        ||      ||    ||  79.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| DiffusionTensorMathematics ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| DiffusionTensorMathematics ||        ||      ||    ||  56.2%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| OrientImage ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| OrientImage ||        ||      ||    ||  85.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| LinearRegistration ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| LinearRegistration ||        ||      ||    ||  66.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| RigidRegistration ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| RigidRegistration ||        ||      ||    ||  1.0%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| AffineRegistration ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| AffineRegistration ||        ||      ||    ||  1.4%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| BSplineDeformableRegistration ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| BSplineDeformableRegistration ||        ||      ||    ||  82.3%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| TestGridTransformRegistration ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| TestGridTransformRegistration ||        ||      ||    ||  90.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| CheckerBoard ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| CheckerBoard ||        ||      ||    ||  67.4%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ResampleVolume ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ResampleVolume ||        ||      ||    ||  57.1%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| PolyDataToLabelmap ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| PolyDataToLabelmap ||        ||      ||    ||  87.9%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| GaussianBlurImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| GaussianBlurImageFilter ||        ||      ||    ||  55.9%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ConfidenceConnected ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ConfidenceConnected ||        ||      ||    ||  87.5%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ExecutionModelTour ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ExecutionModelTour ||        ||      ||    ||  87.2%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ImageReadDicomWrite ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ImageReadDicomWrite ||        ||      ||    ||  86.1%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| CurvatureAnisotropicDiffusion ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| CurvatureAnisotropicDiffusion ||        ||      ||    ||  64.3%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| GradientAnisotropicDiffusion ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| GradientAnisotropicDiffusion ||        ||      ||    ||  63.4%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| MedianImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| MedianImageFilter ||        ||      ||    ||  51.1%  || unknown  
 
|-
 
|-
 
|style="background:white"|??||style="width:33%"| DWIDicomLoad ||        ||      ||    ||  0%  || unknown  
 
|style="background:white"|??||style="width:33%"| DWIDicomLoad ||        ||      ||    ||  0%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| HistogramMatching ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| HistogramMatching ||        ||      ||    ||  65.0%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| OtsuThresholdImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| OtsuThresholdImageFilter ||        ||      ||    ||  100%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| OtsuThresholdSegmentation ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| OtsuThresholdSegmentation ||        ||      ||    ||  90.9%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Subtract ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Subtract ||        ||      ||    ||  71.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Multiply ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Multiply ||        ||      ||    ||  77.6%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Add ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Add ||        ||      ||    ||  71.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Threshold ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Threshold ||        ||      ||    ||  55.8%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Mask ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Mask ||        ||      ||    ||  80.0%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| Cast ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| Cast ||        ||      ||    ||  14.6%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| VotingBinaryHoleFillingImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| VotingBinaryHoleFillingImageFilter ||        ||      ||    ||  100%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ModelMaker ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ModelMaker ||        ||      ||    ||  57.4%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| MultipleModelsExample ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| MultipleModelsExample ||        ||      ||    ||  1.9%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| GrayscaleModelMaker ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| GrayscaleModelMaker ||        ||      ||    ||  82.1%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| MergeModels ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| MergeModels ||        ||      ||    ||  62.7%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| GrayscaleFillHoleImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| GrayscaleFillHoleImageFilter ||        ||      ||    ||  57.1%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| GrayscaleGrindPeakImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| GrayscaleGrindPeakImageFilter ||        ||      ||    ||  64.5%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| LabelMapSmoothing ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| LabelMapSmoothing ||        ||      ||    ||  87.9%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ImageLabelCombine ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ImageLabelCombine ||        ||      ||    ||  7.5%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ResampleVolume2 ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ResampleVolume2 ||        ||      ||    ||  46.8%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| ZeroCrossingBasedEdgeDetectionImageFilter ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| ZeroCrossingBasedEdgeDetectionImageFilter ||        ||      ||    ||  62.5%  || unknown  
 
|-
 
|-
|style="background:white"|??||style="width:33%"| FreesurferSurfaceSectionExtraction ||        ||      ||    ||  0%  || unknown  
+
|style="background:white"|??||style="width:33%"| FreesurferSurfaceSectionExtraction ||        ||      ||    ||  60.0%  || unknown  
 
|-
 
|-
  

Revision as of 19:42, 19 April 2010

Home < Slicer-3.6-QA

Return to Slicer 3.6 documentation

  • This page contains our assessment of the Slicer 3.6 modules

Testing Status

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
?? Camera complete yes, no link no 0% unknown
?? Volumes complete yes and yes yes and yes 0% unknown
?? Diffusion Editor complete yes and yes no 0% unknown
?? Models complete yes and yes yes and yes 0% unknown
?? Measurements complete yes and yes no and yes 0% unknown
?? Fiducials complete yes and yes no 0% unknown
?? Data complete yes and yes yes and yes 0% unknown
?? Slices complete no no 0% unknown
?? Colors complete yes and no yes and no 0% unknown
?? Interactive Editor complete 0% unknown
?? ROI Module complete no and yes no and yes 0% unknown
?? Volume Rendering complete yes and yes no and yes 0% unknown
?? DiffusionWeightedTest 69.8% unknown
?? DiffusionTensorEstimation 79.7% unknown
?? DiffusionTensorMathematics 56.2% unknown
?? OrientImage 85.7% unknown
?? LinearRegistration 66.7% unknown
?? RigidRegistration 1.0% unknown
?? AffineRegistration 1.4% unknown
?? BSplineDeformableRegistration 82.3% unknown
?? TestGridTransformRegistration 90.7% unknown
?? CheckerBoard 67.4% unknown
?? ResampleVolume 57.1% unknown
?? PolyDataToLabelmap 87.9% unknown
?? GaussianBlurImageFilter 55.9% unknown
?? ConfidenceConnected 87.5% unknown
?? ExecutionModelTour 87.2% unknown
?? ImageReadDicomWrite 86.1% unknown
?? CurvatureAnisotropicDiffusion 64.3% unknown
?? GradientAnisotropicDiffusion 63.4% unknown
?? MedianImageFilter 51.1% unknown
?? DWIDicomLoad 0% unknown
?? HistogramMatching 65.0% unknown
?? OtsuThresholdImageFilter 100% unknown
?? OtsuThresholdSegmentation 90.9% unknown
?? Subtract 71.7% unknown
?? Multiply 77.6% unknown
?? Add 71.7% unknown
?? Threshold 55.8% unknown
?? Mask 80.0% unknown
?? Cast 14.6% unknown
?? VotingBinaryHoleFillingImageFilter 100% unknown
?? ModelMaker 57.4% unknown
?? MultipleModelsExample 1.9% unknown
?? GrayscaleModelMaker 82.1% unknown
?? MergeModels 62.7% unknown
?? GrayscaleFillHoleImageFilter 57.1% unknown
?? GrayscaleGrindPeakImageFilter 64.5% unknown
?? LabelMapSmoothing 87.9% unknown
?? ImageLabelCombine 7.5% unknown
?? ResampleVolume2 46.8% unknown
?? ZeroCrossingBasedEdgeDetectionImageFilter 62.5% unknown
?? FreesurferSurfaceSectionExtraction 60.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 Valgrind Errors Documentation Tutorial
Gold > 80% 0 yes yes
Silver > 70% < 10 yes yes
Bronze > 60% < 50 yes yes
Clay > 50% < 100 yes yes
Coal > 50% > 100 yes yes
Hazard 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.