TubeTK/Design Discussions
From KitwarePublic
< TubeTK
Jump to navigationJump to search
Revision as of 15:28, 26 July 2013 by Jamie.snape (talk | contribs) (moved TubeTK/Development/Design to TubeTK/Design Discussions)
Introduction
Tubetk has adopted MIDAS to store testing and algorithm validation dataset. For this purpose, we have created a dedicated tubetk MIDAS community
In the tubetk community, we have two main types of folders
- Input data folder: Where all input data for testing will be stored
- Baseline dataset folder: These are individual folders that will be used to store the baseline images for regression tests in tubetk
How to add a new tubetk test
- If the input data is not already in Midas,
- Upload the data to the "Data" folder
- Download the key file (*.md5) and store it in the MIDAS_KEYS directory at the top level of tubetk source code tree
- Add baseline dataset for the new test ( if your test is a regression testing )
- Upload the dataset to the appropriate CLI or module folder. If your test is part of a new "module" or CLI, create a new a folder in MIDAS and then upload the dataset
- Download the key file (*.md5) for the baseline image and store it in the MIDAS_KEYS directory.
- Modify cmake list files in the Testing directory to "add" unit tests to use the data from MIDAS.
- Use MIDAS_FETCH_ONLY macro, if you would like to fetch the dataset but not use it directly in the test
- Use MIDAS_DIRECTORY, if you would like to specify a whole directory as an input command line argument to your test
Examples:
Test using a data store in MIDAS
MIDAS_ADD_TEST( ${PROJECT_NAME}MIDAS-Test4 ${PROJ_EXE} MIDAS{SyntheticTubePlusSurfaceImage_oriented.mha.md5} ${TEMP}/SyntheticTubePlusSurfaceEEDFilterResultImage_oriented.mha )
Test with a directory as input argument: DICOMSeries
MIDAS_ADD_TEST( ${PROJECT_NAME}MIDAS-Test1 ${PROJ_EXE} -i -r -a Test1 001 -w -o ${TEMP} -b DSC_ MIDAS_DIRECTORY{DICOMSeries} )
Test that demonstrates fetch only option: tubeEdgeEnhancingAnisotropicDiffusionMIDAS-Test1
MIDAS_ADD_TEST( ${PROJECT_NAME}MIDAS-Test1 ${PROJ_EXE} MIDAS{CroppedWholeLungCTScan.mhd.md5} ${TEMP}/itkAnisotropicEdgeEnhancingDiffusionImageFilterTest.mha MIDAS_FETCH_ONLY{CroppedWholeLungCTScan.raw.md5} )
MIDAS macro
The following are the essential midas macros for setting up a test using data stored in midas.