{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Update Slicer CLI buildsystem to download input and baseline using ExternalData\n", "\n", "This notebook was specifically designed to process the a Slicer source tree (based of r28333)\n", "and perform the following updates:\n", "* Copy data from directories `Slicer/Testing/Data/Input` and `Slicer/MRML/Core/Testing/TestData` directories\n", " into each CLI `Slicer/Modules/CLI//Data/(BaseLine|Input)` where they are used.\n", "* Update the `Slicer/Modules/CLI//Testing/CMakeLists.txt` of each CLI to use `ExternalData_add_test`.\n", "* Upload data to Midas (see http://slicer.kitware.com/midas3/folder/301) and check data can effectively be downloaded given a checksum.\n", "* Identify list of files that could potentially be removed from the source tree.\n", "* Identify list of CLI `Testing/CMakeLists.txt` missing the setting of `FOLDER` target property.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "********************************************************************************\n", "Local: Process CMakeLists.txt\n", "********************************************************************************\n", "\n", "MaskScalarVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MaskScalarVolume/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MaskScalarVolume/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialMask.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialMask.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MaskScalarVolume/Testing/../Data/Input/CTHeadAxialMask.nrrd\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxialMask.nrrd\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "GradientAnisotropicDiffusion/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/GradientAnisotropicDiffusionTestWithImageSpacingOff.nhdr,GradientAnisotropicDiffusionTestWithImageSpacingOff.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GradientAnisotropicDiffusion/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GradientAnisotropicDiffusion/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "=> [data_association] (${BASELINE}/GradientAnisotropicDiffusionTestWithImageSpacingOn.nhdr,GradientAnisotropicDiffusionTestWithImageSpacingOn.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GradientAnisotropicDiffusion/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "GaussianBlurImageFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/GaussianBlurImageFilterTest.nhdr,GaussianBlurImageFilterTest.raw)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GaussianBlurImageFilter/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GaussianBlurImageFilter/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "MedianImageFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/MedianImageFilterTest.nhdr,MedianImageFilterTest.raw)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MedianImageFilter/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MedianImageFilter/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "TestGridTransformRegistration/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/TestGridTransformRegistration/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/TestGridTransformRegistration/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/TestGridTransformRegistration/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "HistogramMatching/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/HistogramMatchingTest.nhdr,HistogramMatchingTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/HistogramMatching/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/HistogramMatching/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/HistogramMatching/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "LabelMapSmoothing/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/LabelMapSmoothingTest.nhdr,LabelMapSmoothingTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/LabelMapSmoothing/Testing/../Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadResampledOtsuSegmented.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/LabelMapSmoothing/Testing/../Data/Input [created]\n", " => CTHeadResampledOtsuSegmented.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadResampledOtsuSegmented.nhdr,CTHeadResampledOtsuSegmented.raw.gz)\n", "\n", "SimpleRegionGrowingSegmentation/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,SimpleRegionGrowingSegmentationTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/SimpleRegionGrowingSegmentation/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/SimpleRegionGrowingSegmentation/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "OrientScalarVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/fixed.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/fixed.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/OrientScalarVolume/Testing/../Data/Input/fixed.nrrd\n", " => [global_test_data_dir -> module_input_dir] fixed.nrrd\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/OrientScalarVolume/Testing/../Data/Input [created]\n", "\n", "VotingBinaryHoleFillingImageFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/VotingBinaryHoleFillingImageFilterTest.nhdr,VotingBinaryHoleFillingImageFilterTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/VotingBinaryHoleFillingImageFilter/Testing/../Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadResampledOtsuSegmented.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/VotingBinaryHoleFillingImageFilter/Testing/../Data/Input [created]\n", " => CTHeadResampledOtsuSegmented.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadResampledOtsuSegmented.nhdr,CTHeadResampledOtsuSegmented.raw.gz)\n", "\n", "CurvatureAnisotropicDiffusion/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,CurvatureAnisotropicDiffusionTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CurvatureAnisotropicDiffusion/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CurvatureAnisotropicDiffusion/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "ACPCTransform/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPCTest.mrml\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPCTest.mrml\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ACPCTransform/Testing/../Data/Input/ACPCTest.mrml\n", " => [global_test_data_dir -> module_input_dir] ACPCTest.mrml\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ACPCTransform/Testing/../Data/Input [created]\n", "=> skipping addition of DATA{}: ${INPUT}/ACPCTest.mrml\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPC.fcsv\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPC.fcsv\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ACPCTransform/Testing/../Data/Input/ACPC.fcsv\n", " => [global_test_data_dir -> module_input_dir] ACPC.fcsv\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/midsag.fcsv\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/midsag.fcsv\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ACPCTransform/Testing/../Data/Input/midsag.fcsv\n", " => [global_test_data_dir -> module_input_dir] midsag.fcsv\n", "=> skipping addition of DATA{}: ${INPUT}/ACPC.fcsv\n", "=> skipping addition of DATA{}: ${INPUT}/midsag.fcsv\n", "\n", "GrayscaleModelMaker/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleModelMaker/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleModelMaker/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "GrayscaleFillHoleImageFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/GrayscaleFillHoleTest.nhdr,GrayscaleFillHoleTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleFillHoleImageFilter/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleFillHoleImageFilter/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "FreesurferSurfaceSectionExtraction/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "ExtractSkeleton/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer skip] (already appended)\n", "\n", "ModelMaker/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ModelMakerTest.mrml\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ModelMakerTest.mrml\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/ModelMakerTest.mrml\n", " => [global_test_data_dir -> module_input_dir] ModelMakerTest.mrml\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input [created]\n", "=> skipping addition of DATA{}: ${INPUT}/ModelMakerTest.mrml\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-roi-lable2.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-roi-lable2.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helix-roi-lable2.nrrd\n", " => [global_test_data_dir -> module_input_dir] helix-roi-lable2.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-roi-lable2.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-roi-lable2.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helix-roi-lable2.nrrd\n", " => [global_test_data_dir -> module_input_dir] helix-roi-lable2.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.nrrd\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.nrrd\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.nrrd\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.nrrd\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.mrml\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.mrml\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.mrml\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.mrml\n", "=> skipping addition of DATA{}: ${INPUT}/helixMask3Labels.mrml\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ModelMaker/Testing/../Data/Input/helixMask3Labels.nrrd\n", " => [global_test_data_dir -> module_input_dir] helixMask3Labels.nrrd\n", "\n", "SubtractScalarVolumes/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,SubtractScalarVolumesTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/SubtractScalarVolumes/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/SubtractScalarVolumes/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialDoubled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialDoubled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/SubtractScalarVolumes/Testing/../Data/Input/CTHeadAxialDoubled.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxialDoubled.nhdr\n", " => CTHeadAxialDoubled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxialDoubled.nhdr,CTHeadAxialDoubled.raw.gz)\n", "\n", "ThresholdScalarVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,ThresholdScalarVolumeTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ThresholdScalarVolume/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ThresholdScalarVolume/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "RobustStatisticsSegmenter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "DiffusionTensorTest/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-DTI.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-DTI.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/DiffusionTensorTest/Testing/../Data/Input/helix-DTI.nhdr\n", " => [global_test_data_dir -> module_input_dir] helix-DTI.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/DiffusionTensorTest/Testing/../Data/Input [created]\n", " => helix-DTI.raw.gz [copied]\n", "=> [data_association] (${INPUT}/helix-DTI.nhdr,helix-DTI.raw.gz)\n", "\n", "CreateDICOMSeries/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CreateDICOMSeries/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CreateDICOMSeries/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "AddScalarVolumes/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,AddScalarVolumesTest.raw)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "=> [using glob_expr] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSlice*.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceFLOAT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceFLOAT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceFLOAT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUSHORT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUSHORT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUSHORT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceDOUBLE.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceDOUBLE.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceDOUBLE.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUINT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUINT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUINT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceSHORT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceSHORT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceSHORT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceLONG.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceLONG.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceLONG.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceULONG.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceULONG.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceULONG.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceCHAR.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceCHAR.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceCHAR.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceINT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceINT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceINT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUCHAR.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUCHAR.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUCHAR.mha\n", "\n", "=> [using glob_expr] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSlice*.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceFLOAT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceFLOAT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceFLOAT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUSHORT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUSHORT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUSHORT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceDOUBLE.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceDOUBLE.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceDOUBLE.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUINT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUINT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUINT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceSHORT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceSHORT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceSHORT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceLONG.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceLONG.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceLONG.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceULONG.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceULONG.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceULONG.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceCHAR.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceCHAR.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceCHAR.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceINT.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceINT.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceINT.mha\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUCHAR.mha\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/AddScalarVolumes/Testing/../Data/Input/brainSliceUCHAR.mha\n", " => [global_test_data_dir -> module_input_dir] brainSliceUCHAR.mha\n", "\n", "ExecutionModelTour/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ExecutionModelTourTest.mrml\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ExecutionModelTourTest.mrml\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ExecutionModelTour/Testing/../Data/Input/ExecutionModelTourTest.mrml\n", " => [global_test_data_dir -> module_input_dir] ExecutionModelTourTest.mrml\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ExecutionModelTour/Testing/../Data/Input [created]\n", "=> skipping addition of DATA{}: ${INPUT}/ExecutionModelTourTest.mrml\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ExecutionModelTourTest.mrml\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ExecutionModelTourTest.mrml\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ExecutionModelTour/Testing/../Data/Input/ExecutionModelTourTest.mrml\n", " => [global_test_data_dir -> module_input_dir] ExecutionModelTourTest.mrml\n", "=> skipping addition of DATA{}: ${INPUT}/ExecutionModelTourTest.mrml\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ExecutionModelTour/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ExecutionModelTour/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "GrayscaleGrindPeakImageFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/GrayscaleGrindPeakTest.nhdr,GrayscaleGrindPeakTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleGrindPeakImageFilter/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/GrayscaleGrindPeakImageFilter/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "ProbeVolumeWithModel/Testing/CMakeLists.txt\n", "=> [folder property missing]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "ExpertAutomatedRegistration/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> skipping addition of DATA{}: ${INPUT}/RigidUNC24.tfm\n", "=> skipping addition of DATA{}: ${INPUT}/AffineUNC24.tfm\n", "=> skipping addition of DATA{}: ${INPUT}/BSplineUNC24.tfm\n", "\n", "PETStandardUptakeValueComputation/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "MergeModels/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtk\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtk\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/sphere.vtk\n", " => [global_test_data_dir -> module_input_dir] sphere.vtk\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input [created]\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtk\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtk\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/cube.vtk\n", " => [global_test_data_dir -> module_input_dir] cube.vtk\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtp\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtp\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/sphere.vtp\n", " => [global_test_data_dir -> module_input_dir] sphere.vtp\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtp\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtp\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/cube.vtp\n", " => [global_test_data_dir -> module_input_dir] cube.vtp\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtp\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtp\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/sphere.vtp\n", " => [global_test_data_dir -> module_input_dir] sphere.vtp\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtp\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtp\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MergeModels/Testing/../Data/Input/cube.vtp\n", " => [global_test_data_dir -> module_input_dir] cube.vtp\n", "\n", "MultiplyScalarVolumes/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nrrd,:)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MultiplyScalarVolumes/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MultiplyScalarVolumes/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/MultiplyScalarVolumes/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => CTHeadAxial.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "\n", "CastScalarVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "ResampleDTIVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> skipping addition of DATA{}: ${INPUT}/rotation.tfm\n", "=> skipping addition of DATA{}: ${INPUT}/rotationAndAffine.tfm\n", "=> skipping addition of DATA{}: ${INPUT}/FastNonrigidBSplineregistrationTransform.tfm\n", "=> skipping addition of DATA{}: ${INPUT}/affine.tfm\n", "=> skipping addition of DATA{}: ${BASELINE}/Brain_slice.nrrd\n", "\n", "ResampleScalarVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,ResampleScalarVolumeTest.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVolume/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "FiducialRegistration/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "N4ITKBiasFieldCorrection/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3mask.nii.gz\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3mask.nii.gz\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/N4ITKBiasFieldCorrection/Testing/../Data/Input/he3mask.nii.gz\n", " => [global_test_data_dir -> module_input_dir] he3mask.nii.gz\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/N4ITKBiasFieldCorrection/Testing/../Data/Input [created]\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3volume.nii.gz\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3volume.nii.gz\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/N4ITKBiasFieldCorrection/Testing/../Data/Input/he3volume.nii.gz\n", " => [global_test_data_dir -> module_input_dir] he3volume.nii.gz\n", "\n", "ImageLabelCombine/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "ModelToLabelMap/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: False)\n", "=> [data_association] (${INPUT}/OAS10001.hdr,OAS10001.img)\n", "=> [data_association] (${INPUT}/OAS10001.hdr,OAS10001.img)\n", "\n", "CheckerBoardFilter/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "=> [data_association] (${BASELINE}/${CLP}Test.nhdr,CheckerBoardFilterTest.raw)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CheckerBoardFilter/Testing/../Data/Input/CTHeadAxial.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxial.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CheckerBoardFilter/Testing/../Data/Input [created]\n", " => CTHeadAxial.raw.gz [copied]\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialDoubled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialDoubled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/CheckerBoardFilter/Testing/../Data/Input/CTHeadAxialDoubled.nhdr\n", " => [global_test_data_dir -> module_input_dir] CTHeadAxialDoubled.nhdr\n", " => CTHeadAxialDoubled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/CTHeadAxial.nhdr,CTHeadAxial.raw.gz)\n", "=> [data_association] (${INPUT}/CTHeadAxialDoubled.nhdr,CTHeadAxialDoubled.raw.gz)\n", "\n", "ResampleScalarVectorDWIVolume/Testing/CMakeLists.txt\n", "=> [folder property ok]\n", "=> [footer ok] (lastline_empty: True)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input [created]\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationNN.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationNN.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampledRotationNN.nrrd\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampledRotationNN.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationAndAffine.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationAndAffine.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampledRotationAndAffine.nrrd\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampledRotationAndAffine.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineWSInterpolationTest.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineWSInterpolationTest.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampledBSplineWSInterpolationTest.nrrd\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampledBSplineWSInterpolationTest.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineInterpolationTest.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineInterpolationTest.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampledBSplineInterpolationTest.nrrd\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampledBSplineInterpolationTest.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledHFieldTest.nrrd\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledHFieldTest.nrrd\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampledHFieldTest.nrrd\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampledHFieldTest.nrrd\n", "\n", "=> [using data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "\n", " => [data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", " => [dest_data_filepath] /home/jcfr/Projects/Slicer-Qt5-VTK8/Modules/CLI/ResampleScalarVectorDWIVolume/Testing/../Data/Input/MRHeadResampled.nhdr\n", " => [global_test_data_dir -> module_input_dir] MRHeadResampled.nhdr\n", " => MRHeadResampled.raw.gz [copied]\n", "=> [data_association] (${INPUT}/MRHeadResampled.nhdr,MRHeadResampled.raw.gz)\n" ] } ], "source": [ "import hashlib\n", "import glob\n", "import os\n", "import re\n", "import shutil\n", "\n", "%reload_ext autoreload\n", "%autoreload 1\n", "%aimport pydas\n", "\n", "#---------------------------------------------------------------------------\n", "slicer_src = '/home/jcfr/Projects/Slicer-Qt5-VTK8'\n", "cli_src_directory = os.path.join(slicer_src, 'Modules/CLI')\n", "\n", "# The goal is to remove this global directory and have every modules and libraries\n", "# listing their own requirements regarding input test and baseline data.\n", "global_test_data_dir = '/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input'\n", "global_mrml_test_data_dir = '/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData'\n", "global_datafiles_candidate_for_removal = []\n", "\n", "# Folder id associated Slicer data hosted on http://slicer.kitware.com/midas3\n", "midas_data_folder_id = 301\n", "\n", "midas_url = 'http://slicer.kitware.com/midas3'\n", "email = os.environ[\"MIDAS_PACKAGE_EMAIL\"]\n", "apikey = os.environ[\"MIDAS_PACKAGE_API_KEY\"]\n", "\n", "# Update sys.path adding Slicer python module directory\n", "slicer_python_dir = os.path.join(slicer_src, 'Base/Python/slicer/release')\n", "import sys\n", "if slicer_python_dir not in sys.path:\n", " sys.path.append(slicer_python_dir)\n", "\n", "import midasdata\n", "\n", "# If enabled, update midas creating missing folder and uploading data if needed.\n", "midas_update = False\n", "\n", "# If enabled, this option will connect to the midas server and check\n", "# if the current CLI test data have been uploaded.\n", "check_data_is_uploaded = False\n", "\n", "# If enabled, generate hash files for each data files, rename the original\n", "# data file with extension '.bkp'\n", "# If false, revert the previous step using .bkp files (if any)\n", "convert_to_hashfiles = True\n", "delete_bkp = True\n", "\n", "# Disable replacement of 'add_test' with 'ExternalData_add_target'\n", "replace_add_test = True\n", "\n", "# Map of hashing algos to consider when creating \"content links\"\n", "hash_functions = {\n", " 'md5': hashlib.md5,\n", " #'sha256': hashlib.sha256,\n", " #'sha512': hashlib.sha512,\n", "}\n", "\n", "# List of data files to exclude\n", "filenames_to_exclude = ['Brain_slice.nrrd']\n", "\n", "# List of data file extensions that should NOT be considered\n", "extensions_to_exclude = ['.tfm', '.txt', '.bkp', '.mrml', '.fcsv'] + [\".%s\" % algo for algo in hash_functions.keys()]\n", "\n", "#---------------------------------------------------------------------------\n", "# Initialize global vars\n", "\n", "if midas_update or check_data_is_uploaded:\n", " communicator = pydas.core.Communicator(midas_url)\n", " def token(email, apikey):\n", " return communicator.login_with_api_key(email, apikey)\n", "\n", " midas_data_folders = communicator.folder_children(token(email, apikey), midas_data_folder_id)\n", "\n", " modulesIndex = midasdata._getFolderIndex(midas_data_folders, \"Modules\")\n", " modulesID = midasdata._getIDfromIndex(midas_data_folders, \"folder\", modulesIndex)\n", " availableModules = communicator.folder_children(token(email, apikey), modulesID)\n", " availableModulesFolders = availableModules[\"folders\"]\n", "\n", "moduleNames = []\n", "\n", "MODULE_INPUT_SUBDIR = 'Data/Input'\n", "MODULE_BASELINE_SUBDIR = 'Data/Baseline'\n", "\n", "#---------------------------------------------------------------------------\n", "def get_module_data_directories(cli_src_directory):\n", " data_directories = []\n", " for root, dirnames, filenames in os.walk(cli_src_directory):\n", " if root.endswith(MODULE_INPUT_SUBDIR):\n", " data_directories.append(root)\n", " if root.endswith(MODULE_BASELINE_SUBDIR):\n", " data_directories.append(root)\n", " return sorted(data_directories)\n", "\n", "#---------------------------------------------------------------------------\n", "def check_module_test_data_are_uploaded(cli_src_directory):\n", "\n", " # Maps of moduleName to filename that need to uploaded\n", " modules_missing_data = {}\n", " \n", " # Collect data directories\n", " data_directories = get_module_data_directories(cli_src_directory)\n", " for data_directory in data_directories:\n", "\n", " moduleName = data_directory.split('/')[-3]\n", " # Skip 'ExtractSkeleton' because it has already been updated\n", " #if moduleName == 'ExtractSkeleton':\n", " # continue\n", "\n", " # Check if existing data file have been uploaded on Midas\n", " for filename in os.listdir(data_directory):\n", " filepath = os.path.join(data_directory, filename)\n", " if os.path.splitext(filename)[1] in extensions_to_exclude:\n", " #print(\"[%s] %s [skipping upload: extension excluded]\" % (moduleName, filepath))\n", " continue\n", " digest = md5(filepath)\n", " uploaded = has_bitstream(filename, digest)\n", " print(\"[%s] %s => %s [uploaded: %s]\" % (moduleName, filepath, digest, uploaded))\n", " if not uploaded:\n", " if moduleName not in modules_missing_data:\n", " modules_missing_data[moduleName] = []\n", " modules_missing_data[moduleName].append(filepath)\n", " \n", " return modules_missing_data\n", "\n", "#---------------------------------------------------------------------------\n", "def has_folder_property(cmakelist):\n", " \"\"\"CMakeLists.txt of CLIs are expected to have a line like this one::\n", "\n", " set_target_properties(${CLP}Data PROPERTIES FOLDER ${${CLP}_TARGETS_FOLDER})\n", " \"\"\"\n", " has_property = False\n", " with open(cmakelist, 'r') as myfile:\n", " lines = myfile.readlines()\n", " has_property = \"PROPERTIES FOLDER\" in \"\".join(lines)\n", " if not has_property:\n", " print(\"=> [folder property missing]\")\n", " else:\n", " print(\"=> [folder property ok]\")\n", " return has_property\n", " \n", " \n", "#---------------------------------------------------------------------------\n", "def add_external_data_target(cmakelist):\n", " # Should the footer be appended ?\n", " footer_already_appended = False\n", " # Should a line be added between end of files and footer ?\n", " lastline_empty = False\n", " with open(cmakelist, 'r') as myfile:\n", " lines = myfile.readlines()\n", " footer_already_appended = 'ExternalData_add_target'.lower() in \"\".join(lines).lower()\n", " if lines[-1] == \"\\n\":\n", " lastline_empty = True\n", " # Append footer\n", " if not footer_already_appended:\n", " with open(cmakelist, \"a\") as myfile:\n", " if not lastline_empty:\n", " myfile.write(\"\\n\")\n", " myfile.write(\"\"\"#-----------------------------------------------------------------------------\n", "if(${SEM_DATA_MANAGEMENT_TARGET} STREQUAL ${CLP}Data)\n", " ExternalData_add_target(${CLP}Data)\n", "endif()\n", "\"\"\")\n", " print(\"=> [footer ok] (lastline_empty: %s)\" % (lastline_empty))\n", " else:\n", " print(\"=> [footer skip] (already appended)\")\n", "\n", "#---------------------------------------------------------------------------\n", "def get_line(cmakelist, regex, relative_line_index=0):\n", " \"\"\"Return line matching the provided regex.\n", " \n", " Setting relative_line_index allow to negative (or positve) allows to get the line\n", " before (or after) the matching one.\n", " \"\"\"\n", " p = re.compile(regex)\n", " with open(cmakelist, 'r') as myfile:\n", " lines = myfile.readlines()\n", " for index, line in enumerate(lines):\n", " if p.match(line):\n", " return lines[index + relative_line_index].strip()\n", " return None\n", "\n", "#---------------------------------------------------------------------------\n", "def has_line(cmakelist, regex):\n", " return get_line(cmakelist, regex) is not None\n", " \n", "#---------------------------------------------------------------------------\n", "def remove_matching_lines(cmakelist, regex):\n", " p = re.compile(regex)\n", " updated_lines = []\n", " removed = 0\n", " with open(cmakelist, 'r') as myfile:\n", " lines = myfile.readlines()\n", " for line in lines:\n", " if not p.match(line):\n", " updated_lines.append(line)\n", " else:\n", " removed = removed + 1\n", " with open(cmakelist, \"w\") as myfile:\n", " myfile.writelines(updated_lines)\n", " return removed > 0\n", "\n", "#---------------------------------------------------------------------------\n", "def add_line_after(cmakelist, regex, line_to_add, before=True):\n", " p = re.compile(regex)\n", " updated_lines = []\n", " added = 0\n", " with open(cmakelist, 'r') as myfile:\n", " lines = myfile.readlines()\n", " for line in lines:\n", " if before:\n", " updated_lines.append(line)\n", " if p.match(line):\n", " updated_lines.append(line_to_add + '\\n')\n", " added = added + 1\n", " if not before:\n", " updated_lines.append(line)\n", " if not added <= 1:\n", " raise Exception(\"File '%s' is expected to have only one line matching '%s'\" % (cmakelist, regex))\n", " with open(cmakelist, \"w\") as myfile:\n", " myfile.writelines(updated_lines)\n", " return added > 0\n", "\n", "#---------------------------------------------------------------------------\n", "def add_line_before(cmakelist, regex, line_to_add):\n", " return add_line_after(cmakelist, regex, line_to_add, before=False)\n", "\n", "#---------------------------------------------------------------------------\n", "# Datafile helper functions\n", "\n", "#---------------------------------------------------------------------------\n", "def md5(fname):\n", " return hashfile(fname, hashlib.md5)\n", "\n", "#---------------------------------------------------------------------------\n", "def hashfile(fname, hashfunc):\n", " hash = hashfunc()\n", " with open(fname) as f:\n", " for chunk in iter(lambda: f.read(4096), \"\"):\n", " hash.update(chunk)\n", " return hash.hexdigest()\n", "\n", "#---------------------------------------------------------------------------\n", "def datafile_regex(varname):\n", " return ur'(\\${' + varname + ur'}\\/[\\${}\\w\\-\\_]+\\.[\\w\\d]+(\\.[\\w\\d]+)?)'\n", "\n", "#---------------------------------------------------------------------------\n", "def relocate_test_data(line, varname, global_test_data_dir, module_input_dir):\n", " if \"${%s}\" % varname not in line:\n", " return line\n", "\n", " p = re.compile(datafile_regex(varname))\n", " for m in re.finditer(p, line):\n", " g = m.group(1)\n", " data_filepath = g.replace(\"${%s}\" % varname, global_test_data_dir)\n", " \n", " if not os.path.isfile(data_filepath) and os.path.isdir(os.path.dirname(data_filepath)):\n", " # We assume the variable is of the form /path/to/brainSlice${pixeltype}.mha\n", " # Generate a wild-card expression and glob corresponding files\n", " cmake_var_ref_regex = r\"\\$\\{\\w+\\}\"\n", " p = re.compile(cmake_var_ref_regex)\n", " glob_expr = p.sub(\"*\", data_filepath)\n", " print(\"\\n=> [using glob_expr] %s\" % glob_expr)\n", " data_filepaths = glob.glob(glob_expr)\n", " else:\n", " print(\"\\n=> [using data_filepath] %s\" % data_filepath)\n", " data_filepaths = [data_filepath]\n", " \n", " for data_filepath in data_filepaths:\n", "\n", " data_filename = os.path.basename(data_filepath)\n", " dest_data_filepath = os.path.join(module_input_dir, data_filename)\n", " \n", " if os.path.isfile(data_filepath):\n", " print(\"\\n => [data_filepath] %s\" % data_filepath)\n", " print(\" => [dest_data_filepath] %s\" % dest_data_filepath)\n", " print(\" => [global_test_data_dir -> module_input_dir] %s\" % data_filename)\n", " dest_data_path = os.path.dirname(dest_data_filepath)\n", " if not os.path.exists(dest_data_path):\n", " print(\" => %s [created]\" % dest_data_path)\n", " os.makedirs(dest_data_path)\n", " shutil.copy(data_filepath, dest_data_filepath)\n", " for data_dependency_filepath in datafile_dependencies(data_filepath):\n", " shutil.copy(data_dependency_filepath, dest_data_path)\n", " print(\" => %s [copied]\" % os.path.basename(data_dependency_filepath))\n", "\n", " if moduleName not in missing_midas_module_input_data:\n", " missing_midas_module_input_data[moduleName] = []\n", "\n", " missing_midas_module_input_data[moduleName].append(dest_data_filepath)\n", " if data_filepath not in global_datafiles_candidate_for_removal:\n", " global_datafiles_candidate_for_removal.append(data_filepath)\n", " else:\n", " print(\"\\n => [data_filepath:nonexistent] %s\" % data_filepath)\n", " print(\" -> original line: %s\" % line)\n", "\n", " return line.replace(\"${%s}\" % varname, '${INPUT}')\n", "\n", "#---------------------------------------------------------------------------\n", "def datafile_dependency_is_gz(filename):\n", " with open(filename, \"r\") as _file:\n", " return '.gz' in \"\".join(_file.readlines())\n", "\n", "#---------------------------------------------------------------------------\n", "def datafile_is_serie(data_filepath):\n", " base_dir = os.path.dirname(data_filepath)\n", " data_filename = os.path.basename(data_filepath)\n", " (basename, ext) = os.path.splitext(data_filename)\n", " # This implementation simply check if file '.1.' exists\n", " # For a complete implementation see \"ExternalData_arg_series()\" in\n", " # ExternalData CMake module.\n", " serie_item = os.path.join(base_dir, basename + '.1' + ext)\n", " return os.path.isfile(serie_item)\n", "\n", "#---------------------------------------------------------------------------\n", "def datafile_dependencies(data_filepath):\n", " dependencies = []\n", " (basename, ext) = os.path.splitext(data_filepath)\n", " if ext == '.nhdr':\n", " if datafile_dependency_is_gz(data_filepath):\n", " return [basename + '.raw.gz']\n", " else:\n", " return [basename + '.raw']\n", " elif ext == '.hdr':\n", " return [basename + '.img']\n", " \n", " # XXX Add support for file series\n", " \n", " return dependencies\n", "\n", "#---------------------------------------------------------------------------\n", "# Pydas helper functions\n", "\n", "#---------------------------------------------------------------------------\n", "def has_bitstream(name, checksum):\n", " items = communicator.search_item_by_name(name)\n", " for item in items:\n", " item_id = item['item_id']\n", " item_data = communicator.item_get(token(email, apikey), item_id)\n", " if len(item_data['revisions']) > 0:\n", " if item_data['revisions'][-1]['bitstreams'][0]['checksum'] == checksum:\n", " return True\n", " return False\n", "\n", "#---------------------------------------------------------------------------\n", "def folder_children(folder_id, children_type=\"folder\"):\n", " folders = communicator.folder_children(token(email, apikey), folder_id)\n", " return {folder['name']: folder[children_type + '_id'] for folder in folders[children_type + 's']}\n", "\n", "#---------------------------------------------------------------------------\n", "def get_or_create_module_test_data_directory(module_name, test_data_type):\n", " # Get folder id, or create it if needed\n", " try:\n", " module_folder_id = midas_module_names[module_name]\n", " #print(\"=> %s [Found module_folder_id: %s]\" % (module_name, module_folder_id))\n", " except KeyError:\n", " module_folder = communicator.create_folder(token(email, apikey), module_name, modules_folder_id)\n", " module_folder_id = module_folder['folder_id']\n", " #print(\"=> %s [Created module_folder_id: %s]\" % (module_name, module_folder_id))\n", "\n", " # Get Nightly folder id, or create it if needed\n", " versions = folder_children(module_folder_id)\n", " try:\n", " nightly_folder_id = versions['Nightly']\n", " #print(\"=> %s [Found nightly_folder_id: %s]\" % (module_name, nightly_folder_id))\n", " except KeyError:\n", " nightly_folder = communicator.create_folder(token(email, apikey), 'Nightly', module_folder_id)\n", " nightly_folder_id = nightly_folder['folder_id']\n", " #print(\"=> %s [Created nightly_folder_id: %s]\" % (module_name, nightly_folder_id))\n", "\n", " # Get Testing folder id, or create it if needed\n", " testings = folder_children(nightly_folder_id)\n", " try:\n", " testing_folder_id = testings['Testing']\n", " #print(\"=> %s [Found testing_folder_id: %s]\" % (module_name, testing_folder_id))\n", " except KeyError:\n", " testing_folder = communicator.create_folder(token(email, apikey), 'Testing', nightly_folder_id)\n", " testing_folder_id = testing_folder['folder_id']\n", " #print(\"=> %s [Created testing_folder_id: %s]\" % (module_name, testing_folder_id))\n", "\n", " # Get testdata_type (Input or Baseline) folder id, or create it if needed\n", " testdata_types = folder_children(testing_folder_id)\n", " try:\n", " test_data_type_folder_id = testdata_types[test_data_type]\n", " #print(\"=> %s [Found test_data_type_folder_id: %s / %s]\" % (module_name, test_data_type_folder_id, test_data_type))\n", " except KeyError:\n", " test_data_type_folder = communicator.create_folder(token(email, apikey), test_data_type, testing_folder_id)\n", " test_data_type_folder_id = test_data_type_folder['folder_id']\n", " #print(\"=> %s [Created test_data_type_folder_id: %s / %s]\" % (module_name, test_data_type_folder_id, test_data_type))\n", " return test_data_type_folder_id\n", "\n", "#---------------------------------------------------------------------------\n", "def upload_revision(item_id, filepath):\n", " checksum = md5(filepath)\n", " filename = os.path.basename(filepath)\n", " print(\"=> md5(%s): %s\" % (filename, checksum))\n", " upload_token = communicator.generate_upload_token(token(email, apikey), item_id, filename, checksum=checksum, create_additional_revision=True)\n", " if upload_token:\n", " communicator.perform_upload(upload_token, filename, item_id=item_id, filepath=filepath, create_additional_revision=True)\n", " else:\n", " print(\"=> skipping upload: using reference to existing bitstream\")\n", " print(\"Done\")\n", "\n", "#---------------------------------------------------------------------------\n", "def upload_item(folder_id, filepath):\n", " filename = os.path.basename(filepath)\n", " # Get existing item if one exists with the same name\n", " item_names = folder_children(folder_id, children_type='item')\n", " try:\n", " item_id = item_names[filename]\n", " print(\"=> found item: %s\" % (item_id))\n", " except KeyError:\n", " item = communicator.create_item(token(email, apikey), filename, folder_id)\n", " item_id = item['item_id']\n", " print(\"=> item created: %s\" % (item_id))\n", " \n", " upload_revision(item_id, filepath)\n", "\n", "#---------------------------------------------------------------------------\n", "# Map associating module folder that should be created on Midas + data file that should be uploaded\n", "missing_midas_module_input_data = {}\n", "\n", "#---------------------------------------------------------------------------\n", "# List of modules missing the \"PROPERTIES FOLDER\".\n", "modules_missing_folder_property = []\n", "\n", "#---------------------------------------------------------------------------\n", "print(\"\\n\" + (\"*\" * 80) + \"\\nLocal: Process CMakeLists.txt\\n\" + (\"*\" * 80))\n", "\n", "for root, dirnames, filenames in os.walk(cli_src_directory):\n", " \n", " if not root.endswith('/Testing'):\n", " continue\n", " \n", " testing_dir = root\n", "\n", " cmakelist = os.path.join(testing_dir, 'CMakeLists.txt')\n", " \n", " if not os.path.exists(cmakelist):\n", " continue\n", " \n", " # Set module to process only one\n", " module = \"\" # AddScalarVolumes CheckerBoardFilter MergeModels ModelMaker\n", " if module and cmakelist != \"%s/%s/Testing/CMakeLists.txt\" % (cli_src_directory, module):\n", " continue\n", " \n", " testing_dir = os.path.dirname(cmakelist)\n", " \n", " # Get moduleName\n", " moduleName = os.path.basename(os.path.dirname(testing_dir))\n", " \n", " if moduleName not in moduleNames:\n", " moduleNames.append(moduleName)\n", " \n", " print(\"\\n%s\" % (cmakelist.replace(cli_src_directory + '/', '')))\n", " \n", " if not has_folder_property(cmakelist):\n", " modules_missing_folder_property.append(moduleName)\n", " \n", " add_external_data_target(cmakelist)\n", " \n", " tmp_cmakelist = cmakelist + \".tmp\"\n", "\n", " with open(tmp_cmakelist, \"w\") as fout:\n", " \n", " # Get baseline_dir/input_dir assuming all CLIs are organized similarly.\n", " baseline_dir = os.path.join(testing_dir, '..', MODULE_BASELINE_SUBDIR)\n", " if not os.path.isdir(baseline_dir):\n", " baseline_dir = None\n", " input_dir = os.path.join(testing_dir, '..', MODULE_INPUT_SUBDIR)\n", " \n", " with open(cmakelist, \"r\") as fin:\n", "\n", " for line in fin:\n", " \n", " if replace_add_test:\n", " pos = line.find('add_test(')\n", " if pos >= 0 and 'ExternalData_add_test' not in line:\n", " #print(\"pos:\", pos, line[0:pos])\n", " line = line.replace('add_test(', 'ExternalData_add_test(${SEM_DATA_MANAGEMENT_TARGET}\\n' + line[0:pos] + ' ')\n", " \n", " # Identify all test data that should be copied into the module Baseline or Input directory\n", " line = relocate_test_data(line, 'TEST_DATA', global_test_data_dir, input_dir)\n", " line = relocate_test_data(line, 'MRML_TEST_DATA', global_mrml_test_data_dir, input_dir)\n", "\n", " # Add 'DATA{}' where it applies.\n", " for varname in ['BASELINE', 'INPUT']:\n", " # For example, it will:\n", " # - looks for line containing occurences of \"${BASELINE}\"\n", " # - extract the associated path: ${BASELINE}/path/to/foo.nrrd\n", " # - replace it with DATA{${BASELINE}/path/to/foo.nrrd} if not already done\n", " # - this can be skipped by adding '.nrrd' to 'extensions_to_exclude'\n", " if \"${%s}\" % varname in line:\n", " p = re.compile(datafile_regex(varname))\n", " for m in re.finditer(p, line):\n", " g = m.group(1)\n", " filename = os.path.basename(g)\n", " if not os.path.basename(filename) in filenames_to_exclude \\\n", " and not os.path.splitext(filename)[1] in extensions_to_exclude:\n", " for char in [\" \", \"(\", \"=\"]:\n", " line = line.replace(char + g, char + 'DATA{' + g + '}')\n", " else:\n", " print(\"=> skipping addition of DATA{}: %s\" % m.group(0))\n", "\n", " # Update DATA association.\n", " # - .nhdr will be associated with either '.raw' or '.raw.gz'\n", " # - .hdr will be associated with '.img'\n", " if 'DATA{' in line:\n", " p = re.compile(ur'DATA{([{}\\w\\_\\-\\/\\$\\.,]*)}')\n", " for m in re.finditer(p, line):\n", " for g in m.groups():\n", "\n", " if g.endswith('.nhdr'):\n", " data_filepath = g\n", " data_filepath = data_filepath.replace('${CLP}', moduleName)\n", " if baseline_dir:\n", " data_filepath = data_filepath.replace('${BASELINE}', baseline_dir)\n", " data_filepath = data_filepath.replace('${INPUT}', input_dir)\n", " data_basename = os.path.splitext(os.path.basename(data_filepath))[0]\n", " try:\n", " # Append .raw\n", " updated = g + ',' + data_basename + '.raw'\n", " if datafile_dependency_is_gz(data_filepath):\n", " updated = updated + '.gz'\n", " #print(\"...... %s => %s\" % (g, updated))\n", " line = line.replace(g, updated)\n", " print(\"=> [data_association] (%s)\" % (updated))\n", " except IOError as e:\n", " print(\"=> [data_association] %s\" % (e))\n", " if g.endswith('.raw'):\n", " # Fix incorrect association. Associate nhdr with '.raw.gz'\n", " # instead of '.raw' if it applies.\n", " data_filepath = g.split(',')[0]\n", " data_filepath = data_filepath.replace('${CLP}', moduleName)\n", " if baseline_dir:\n", " data_filepath = data_filepath.replace('${BASELINE}', baseline_dir)\n", " data_filepath = data_filepath.replace('${INPUT}', input_dir)\n", " if os.path.isfile(data_filepath) and datafile_dependency_is_gz(data_filepath):\n", " updated = os.path.basename(g) + '.gz'\n", " line = line.replace(g, updated)\n", " print(\"=> [data_association] (%s)\" % (updated))\n", " if g.endswith('.hdr'):\n", " data_filename = os.path.basename(g)\n", " base = os.path.splitext(data_filename)[0]\n", " # Append .img\n", " updated = g + ',' + base + '.img'\n", " #print(\"...... %s => %s\" % (g, updated))\n", " line = line.replace(g, updated)\n", " print(\"=> [data_association] (%s)\" % (updated))\n", "\n", " # Check if data file is associated with a series\n", " data_filename = g.replace('${CLP}', moduleName)\n", " if baseline_dir:\n", " data_filename = data_filename.replace('${BASELINE}', baseline_dir)\n", " if input_dir:\n", " data_filename = data_filename.replace('${INPUT}', input_dir)\n", " # Check if the file belong to a serie\n", " if datafile_is_serie(data_filename):\n", " updated = g + ',:'\n", " line = line.replace(g, updated)\n", " print(\"=> [data_association] (%s)\" % (updated))\n", " \n", " fout.write(line)\n", " \n", " # Remove `set(TEST_DATA ...` line\n", " remove_matching_lines(tmp_cmakelist, ur'^set\\(TEST_DATA .+\\)$')\n", " remove_matching_lines(tmp_cmakelist, ur'^set\\(MRML_TEST_DATA .+\\)$')\n", "\n", " # Add `set(INPUT ...)` line after the `set(BASELINE ...)` if it\n", " # exists, otherwise after `set(CLP ...)`\n", " if not has_line(tmp_cmakelist, ur'^set\\(INPUT .+\\)$'):\n", " if has_line(tmp_cmakelist, ur'^set\\(BASELINE .+\\)$'):\n", " add_line_after(tmp_cmakelist, ur'^set\\(BASELINE .+\\)$', 'set(INPUT ${CMAKE_CURRENT_SOURCE_DIR}/../Data/Input)')\n", " else:\n", " add_line_before(tmp_cmakelist, ur'^set\\(CLP .+\\)$', 'set(INPUT ${CMAKE_CURRENT_SOURCE_DIR}/../Data/Input)')\n", " \n", " # Add empty line before `set(CLP ...)`\n", " if get_line(tmp_cmakelist, ur'^set\\(CLP .+\\)$', -1) != '':\n", " add_line_before(tmp_cmakelist, ur'^set\\(CLP .+\\)$', '')\n", " \n", " # Add setting of SEM_DATA_MANAGEMENT_TARGET\n", " if not has_line(tmp_cmakelist, ur'^ set\\(SEM_DATA_MANAGEMENT_TARGET \\$\\{CLP\\}Data\\)$'):\n", " add_line_after(\n", " tmp_cmakelist, ur'^set\\(CLP .+\\)$', \n", " \"\"\"\n", "if(NOT DEFINED SEM_DATA_MANAGEMENT_TARGET)\n", " set(SEM_DATA_MANAGEMENT_TARGET ${CLP}Data)\n", "endif()\"\"\"\n", " )\n", " \n", " shutil.move(cmakelist + \".tmp\", cmakelist)\n", " #break" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#---------------------------------------------------------------------------\n", "# Create module directory in midas if needed, and upload data \n", "\n", "modules_folder_id = 310\n", "\n", "if midas_update:\n", " midas_module_names = folder_children(modules_folder_id)\n", "\n", " print(\"\\n\" + (\"*\" * 80) + \"\\nMidas: Create module directories and upload missing input test data\\n\" + (\"*\" * 80))\n", " for module_name in missing_midas_module_input_data:\n", " if not missing_midas_module_input_data[module_name]:\n", " continue\n", " # Cache ids\n", " folder_ids = {\n", " \"Baseline\": None, \n", " \"Input\": None,\n", " }\n", " # Upload test data\n", " for data_filepath in missing_midas_module_input_data[module_name]:\n", " sub_directory = os.path.dirname(data_filepath).split('/')[-1]\n", " assert sub_directory in folder_ids\n", " if folder_ids[sub_directory] is None:\n", " folder_ids[sub_directory] = get_or_create_module_test_data_directory(module_name, sub_directory)\n", " assert folder_ids[sub_directory] is not None\n", " print(\"%s [folder_id:%s]\" % (module_name, folder_ids[sub_directory]))\n", " print(\"%s uploading %s\" % (module_name, data_filepath))\n", " upload_item(folder_ids[sub_directory], data_filepath)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "********************************************************************************\n", "Midas: Potential candidate for removal\n", "********************************************************************************\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxial.nhdr\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialMask.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampled.nhdr\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadResampledOtsuSegmented.nhdr\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/fixed.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPCTest.mrml\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ACPC.fcsv\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/midsag.fcsv\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ModelMakerTest.mrml\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-roi-lable2.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helixMask3Labels.mrml\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/CTHeadAxialDoubled.nhdr\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/helix-DTI.nhdr\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceFLOAT.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUSHORT.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceDOUBLE.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUINT.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceSHORT.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceLONG.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceULONG.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceCHAR.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceINT.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/brainSliceUCHAR.mha\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/ExecutionModelTourTest.mrml\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtk\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtk\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/sphere.vtp\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Libs/MRML/Core/Testing/TestData/cube.vtp\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3mask.nii.gz\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/he3volume.nii.gz\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationNN.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledRotationAndAffine.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineWSInterpolationTest.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledBSplineInterpolationTest.nrrd\n", "/home/jcfr/Projects/Slicer-Qt5-VTK8/Testing/Data/Input/MRHeadResampledHFieldTest.nrrd\n", "\n", "********************************************************************************\n", "Local: Convert data file to md5 if it applies\n", "********************************************************************************\n", "\n", "ACPC.fcsv\n", "=> [ok]\n", "\n", "midsag.fcsv\n", "=> [ok]\n", "\n", "ACPCTest.mrml\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_INT.mha\n", "=> AddScalarVolumesTest_INT.mha.md5 [done]\n", "=> AddScalarVolumesTest_INT.mha.bkp [done]\n", "=> AddScalarVolumesTest_INT.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_FLOAT.mha\n", "=> AddScalarVolumesTest_FLOAT.mha.md5 [done]\n", "=> AddScalarVolumesTest_FLOAT.mha.bkp [done]\n", "=> AddScalarVolumesTest_FLOAT.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_DOUBLE.mha\n", "=> AddScalarVolumesTest_DOUBLE.mha.md5 [done]\n", "=> AddScalarVolumesTest_DOUBLE.mha.bkp [done]\n", "=> AddScalarVolumesTest_DOUBLE.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_SHORT.mha\n", "=> AddScalarVolumesTest_SHORT.mha.md5 [done]\n", "=> AddScalarVolumesTest_SHORT.mha.bkp [done]\n", "=> AddScalarVolumesTest_SHORT.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest.nhdr\n", "=> AddScalarVolumesTest.nhdr.md5 [done]\n", "=> AddScalarVolumesTest.nhdr.bkp [done]\n", "=> AddScalarVolumesTest.nhdr [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_UCHAR.mha\n", "=> AddScalarVolumesTest_UCHAR.mha.md5 [done]\n", "=> AddScalarVolumesTest_UCHAR.mha.bkp [done]\n", "=> AddScalarVolumesTest_UCHAR.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_LONG.mha\n", "=> AddScalarVolumesTest_LONG.mha.md5 [done]\n", "=> AddScalarVolumesTest_LONG.mha.bkp [done]\n", "=> AddScalarVolumesTest_LONG.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_CHAR.mha\n", "=> AddScalarVolumesTest_CHAR.mha.md5 [done]\n", "=> AddScalarVolumesTest_CHAR.mha.bkp [done]\n", "=> AddScalarVolumesTest_CHAR.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_UINT.mha\n", "=> AddScalarVolumesTest_UINT.mha.md5 [done]\n", "=> AddScalarVolumesTest_UINT.mha.bkp [done]\n", "=> AddScalarVolumesTest_UINT.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_USHORT.mha\n", "=> AddScalarVolumesTest_USHORT.mha.md5 [done]\n", "=> AddScalarVolumesTest_USHORT.mha.bkp [done]\n", "=> AddScalarVolumesTest_USHORT.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest_ULONG.mha\n", "=> AddScalarVolumesTest_ULONG.mha.md5 [done]\n", "=> AddScalarVolumesTest_ULONG.mha.bkp [done]\n", "=> AddScalarVolumesTest_ULONG.mha [removed]\n", "=> [ok]\n", "\n", "AddScalarVolumesTest.raw\n", "=> AddScalarVolumesTest.raw.md5 [done]\n", "=> AddScalarVolumesTest.raw.bkp [done]\n", "=> AddScalarVolumesTest.raw [removed]\n", "=> [ok]\n", "\n", "brainSliceFLOAT.mha\n", "=> brainSliceFLOAT.mha.md5 [done]\n", "=> brainSliceFLOAT.mha.bkp [done]\n", "=> brainSliceFLOAT.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceUSHORT.mha\n", "=> brainSliceUSHORT.mha.md5 [done]\n", "=> brainSliceUSHORT.mha.bkp [done]\n", "=> brainSliceUSHORT.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceDOUBLE.mha\n", "=> brainSliceDOUBLE.mha.md5 [done]\n", "=> brainSliceDOUBLE.mha.bkp [done]\n", "=> brainSliceDOUBLE.mha [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "brainSliceUINT.mha\n", "=> brainSliceUINT.mha.md5 [done]\n", "=> brainSliceUINT.mha.bkp [done]\n", "=> brainSliceUINT.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceSHORT.mha\n", "=> brainSliceSHORT.mha.md5 [done]\n", "=> brainSliceSHORT.mha.bkp [done]\n", "=> brainSliceSHORT.mha [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "brainSliceLONG.mha\n", "=> brainSliceLONG.mha.md5 [done]\n", "=> brainSliceLONG.mha.bkp [done]\n", "=> brainSliceLONG.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceULONG.mha\n", "=> brainSliceULONG.mha.md5 [done]\n", "=> brainSliceULONG.mha.bkp [done]\n", "=> brainSliceULONG.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceCHAR.mha\n", "=> brainSliceCHAR.mha.md5 [done]\n", "=> brainSliceCHAR.mha.bkp [done]\n", "=> brainSliceCHAR.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceINT.mha\n", "=> brainSliceINT.mha.md5 [done]\n", "=> brainSliceINT.mha.bkp [done]\n", "=> brainSliceINT.mha [removed]\n", "=> [ok]\n", "\n", "brainSliceUCHAR.mha\n", "=> brainSliceUCHAR.mha.md5 [done]\n", "=> brainSliceUCHAR.mha.bkp [done]\n", "=> brainSliceUCHAR.mha [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestChar.nrrd\n", "=> CastScalarVolumeTestChar.nrrd.md5 [done]\n", "=> CastScalarVolumeTestChar.nrrd.bkp [done]\n", "=> CastScalarVolumeTestChar.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestShort.nrrd\n", "=> CastScalarVolumeTestShort.nrrd.md5 [done]\n", "=> CastScalarVolumeTestShort.nrrd.bkp [done]\n", "=> CastScalarVolumeTestShort.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestUnsignedChar.nrrd\n", "=> CastScalarVolumeTestUnsignedChar.nrrd.md5 [done]\n", "=> CastScalarVolumeTestUnsignedChar.nrrd.bkp [done]\n", "=> CastScalarVolumeTestUnsignedChar.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestUnsignedInt.nrrd\n", "=> CastScalarVolumeTestUnsignedInt.nrrd.md5 [done]\n", "=> CastScalarVolumeTestUnsignedInt.nrrd.bkp [done]\n", "=> CastScalarVolumeTestUnsignedInt.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestFloat.nrrd\n", "=> CastScalarVolumeTestFloat.nrrd.md5 [done]\n", "=> CastScalarVolumeTestFloat.nrrd.bkp [done]\n", "=> CastScalarVolumeTestFloat.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestUnsignedShort.nrrd\n", "=> CastScalarVolumeTestUnsignedShort.nrrd.md5 [done]\n", "=> CastScalarVolumeTestUnsignedShort.nrrd.bkp [done]\n", "=> CastScalarVolumeTestUnsignedShort.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestInt.nrrd\n", "=> CastScalarVolumeTestInt.nrrd.md5 [done]\n", "=> CastScalarVolumeTestInt.nrrd.bkp [done]\n", "=> CastScalarVolumeTestInt.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTestDouble.nrrd\n", "=> CastScalarVolumeTestDouble.nrrd.md5 [done]\n", "=> CastScalarVolumeTestDouble.nrrd.bkp [done]\n", "=> CastScalarVolumeTestDouble.nrrd [removed]\n", "=> [ok]\n", "\n", "CastScalarVolumeTest.nrrd\n", "=> CastScalarVolumeTest.nrrd.md5 [done]\n", "=> CastScalarVolumeTest.nrrd.bkp [done]\n", "=> CastScalarVolumeTest.nrrd [removed]\n", "=> [ok]\n", "\n", "CheckerBoardFilterTest.nhdr\n", "=> CheckerBoardFilterTest.nhdr.md5 [done]\n", "=> CheckerBoardFilterTest.nhdr.bkp [done]\n", "=> CheckerBoardFilterTest.nhdr [removed]\n", "=> [ok]\n", "\n", "CheckerBoardFilterTest.raw\n", "=> CheckerBoardFilterTest.raw.md5 [done]\n", "=> CheckerBoardFilterTest.raw.bkp [done]\n", "=> CheckerBoardFilterTest.raw [removed]\n", "=> [ok]\n", "\n", "CTHeadAxialDoubled.raw.gz\n", "=> CTHeadAxialDoubled.raw.gz.md5 [done]\n", "=> CTHeadAxialDoubled.raw.gz.bkp [done]\n", "=> CTHeadAxialDoubled.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxialDoubled.nhdr\n", "=> CTHeadAxialDoubled.nhdr.md5 [done]\n", "=> CTHeadAxialDoubled.nhdr.bkp [done]\n", "=> CTHeadAxialDoubled.nhdr [removed]\n", "=> [ok]\n", "\n", "CreateDICOMSeriesTest.dcm\n", "=> CreateDICOMSeriesTest.dcm.md5 [done]\n", "=> CreateDICOMSeriesTest.dcm.bkp [done]\n", "=> CreateDICOMSeriesTest.dcm [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "CurvatureAnisotropicDiffusionTest.raw.gz\n", "=> CurvatureAnisotropicDiffusionTest.raw.gz.md5 [done]\n", "=> CurvatureAnisotropicDiffusionTest.raw.gz.bkp [done]\n", "=> CurvatureAnisotropicDiffusionTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "CurvatureAnisotropicDiffusionTest.nhdr\n", "=> CurvatureAnisotropicDiffusionTest.nhdr.md5 [done]\n", "=> CurvatureAnisotropicDiffusionTest.nhdr.bkp [done]\n", "=> CurvatureAnisotropicDiffusionTest.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "helix-DTI.nhdr\n", "=> helix-DTI.nhdr.md5 [done]\n", "=> helix-DTI.nhdr.bkp [done]\n", "=> helix-DTI.nhdr [removed]\n", "=> [ok]\n", "\n", "helix-DTI.raw.gz\n", "=> helix-DTI.raw.gz.md5 [done]\n", "=> helix-DTI.raw.gz.bkp [done]\n", "=> helix-DTI.raw.gz [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "ExecutionModelTourTest.mrml\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "AffineUNC24.tfm\n", "=> [ok]\n", "\n", "RigidUNC24.tfm\n", "=> [ok]\n", "\n", "BSplineUNC24.tfm\n", "=> [ok]\n", "\n", "ExtractSkeletonTest.mha.md5\n", "=> [ok]\n", "\n", "ExtractSkeleton.mha.md5\n", "=> [ok]\n", "\n", "GaussianBlurImageFilterTest.raw\n", "=> GaussianBlurImageFilterTest.raw.md5 [done]\n", "=> GaussianBlurImageFilterTest.raw.bkp [done]\n", "=> GaussianBlurImageFilterTest.raw [removed]\n", "=> [ok]\n", "\n", "GaussianBlurImageFilterTest.nhdr\n", "=> GaussianBlurImageFilterTest.nhdr.md5 [done]\n", "=> GaussianBlurImageFilterTest.nhdr.bkp [done]\n", "=> GaussianBlurImageFilterTest.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "GradientAnisotropicDiffusionTestWithImageSpacingOff.nhdr\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.nhdr.md5 [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.nhdr.bkp [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.nhdr [removed]\n", "=> [ok]\n", "\n", "GradientAnisotropicDiffusionTestWithImageSpacingOn.raw.gz\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.raw.gz.md5 [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.raw.gz.bkp [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.raw.gz [removed]\n", "=> [ok]\n", "\n", "GradientAnisotropicDiffusionTestWithImageSpacingOff.raw.gz\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.raw.gz.md5 [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.raw.gz.bkp [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOff.raw.gz [removed]\n", "=> [ok]\n", "\n", "GradientAnisotropicDiffusionTestWithImageSpacingOn.nhdr\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.nhdr.md5 [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.nhdr.bkp [done]\n", "=> GradientAnisotropicDiffusionTestWithImageSpacingOn.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "GrayscaleFillHoleTest.raw.gz\n", "=> GrayscaleFillHoleTest.raw.gz.md5 [done]\n", "=> GrayscaleFillHoleTest.raw.gz.bkp [done]\n", "=> GrayscaleFillHoleTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "GrayscaleFillHoleTest.nhdr\n", "=> GrayscaleFillHoleTest.nhdr.md5 [done]\n", "=> GrayscaleFillHoleTest.nhdr.bkp [done]\n", "=> GrayscaleFillHoleTest.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "GrayscaleGrindPeakTest.nhdr\n", "=> GrayscaleGrindPeakTest.nhdr.md5 [done]\n", "=> GrayscaleGrindPeakTest.nhdr.bkp [done]\n", "=> GrayscaleGrindPeakTest.nhdr [removed]\n", "=> [ok]\n", "\n", "GrayscaleGrindPeakTest.raw.gz\n", "=> GrayscaleGrindPeakTest.raw.gz.md5 [done]\n", "=> GrayscaleGrindPeakTest.raw.gz.bkp [done]\n", "=> GrayscaleGrindPeakTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "HistogramMatchingTest.raw.gz\n", "=> HistogramMatchingTest.raw.gz.md5 [done]\n", "=> HistogramMatchingTest.raw.gz.bkp [done]\n", "=> HistogramMatchingTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "HistogramMatchingTest.nhdr\n", "=> HistogramMatchingTest.nhdr.md5 [done]\n", "=> HistogramMatchingTest.nhdr.bkp [done]\n", "=> HistogramMatchingTest.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "LabelMapSmoothingTest.nhdr\n", "=> LabelMapSmoothingTest.nhdr.md5 [done]\n", "=> LabelMapSmoothingTest.nhdr.bkp [done]\n", "=> LabelMapSmoothingTest.nhdr [removed]\n", "=> [ok]\n", "\n", "LabelMapSmoothingTest.raw.gz\n", "=> LabelMapSmoothingTest.raw.gz.md5 [done]\n", "=> LabelMapSmoothingTest.raw.gz.bkp [done]\n", "=> LabelMapSmoothingTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadResampledOtsuSegmented.raw.gz\n", "=> CTHeadResampledOtsuSegmented.raw.gz.md5 [done]\n", "=> CTHeadResampledOtsuSegmented.raw.gz.bkp [done]\n", "=> CTHeadResampledOtsuSegmented.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadResampledOtsuSegmented.nhdr\n", "=> CTHeadResampledOtsuSegmented.nhdr.md5 [done]\n", "=> CTHeadResampledOtsuSegmented.nhdr.bkp [done]\n", "=> CTHeadResampledOtsuSegmented.nhdr [removed]\n", "=> [ok]\n", "\n", "MaskedVolume.nrrd\n", "=> MaskedVolume.nrrd.md5 [done]\n", "=> MaskedVolume.nrrd.bkp [done]\n", "=> MaskedVolume.nrrd [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxialMask.nrrd\n", "=> CTHeadAxialMask.nrrd.md5 [done]\n", "=> CTHeadAxialMask.nrrd.bkp [done]\n", "=> CTHeadAxialMask.nrrd [removed]\n", "=> [ok]\n", "\n", "MedianImageFilterTest.nhdr\n", "=> MedianImageFilterTest.nhdr.md5 [done]\n", "=> MedianImageFilterTest.nhdr.bkp [done]\n", "=> MedianImageFilterTest.nhdr [removed]\n", "=> [ok]\n", "\n", "MedianImageFilterTest.raw\n", "=> MedianImageFilterTest.raw.md5 [done]\n", "=> MedianImageFilterTest.raw.bkp [done]\n", "=> MedianImageFilterTest.raw [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "sphereCube.vtp\n", "=> sphereCube.vtp.md5 [done]\n", "=> sphereCube.vtp.bkp [done]\n", "=> sphereCube.vtp [removed]\n", "=> [ok]\n", "\n", "sphere.vtp\n", "=> sphere.vtp.md5 [done]\n", "=> sphere.vtp.bkp [done]\n", "=> sphere.vtp [removed]\n", "=> [ok]\n", "\n", "sphere.vtk\n", "=> sphere.vtk.md5 [done]\n", "=> sphere.vtk.bkp [done]\n", "=> sphere.vtk [removed]\n", "=> [ok]\n", "\n", "cube.vtk\n", "=> cube.vtk.md5 [done]\n", "=> cube.vtk.bkp [done]\n", "=> cube.vtk [removed]\n", "=> [ok]\n", "\n", "cube.vtp\n", "=> cube.vtp.md5 [done]\n", "=> cube.vtp.bkp [done]\n", "=> cube.vtp [removed]\n", "=> [ok]\n", "\n", "helixMask3Labels.nrrd\n", "=> helixMask3Labels.nrrd.md5 [done]\n", "=> helixMask3Labels.nrrd.bkp [done]\n", "=> helixMask3Labels.nrrd [removed]\n", "=> [ok]\n", "\n", "helix-roi-lable2.nrrd\n", "=> helix-roi-lable2.nrrd.md5 [done]\n", "=> helix-roi-lable2.nrrd.bkp [done]\n", "=> helix-roi-lable2.nrrd [removed]\n", "=> [ok]\n", "\n", "helixMask3Labels.mrml\n", "=> [ok]\n", "\n", "ModelMakerTest.mrml\n", "=> [ok]\n", "\n", "OAS10001-128.mha\n", "=> OAS10001-128.mha.md5 [done]\n", "=> OAS10001-128.mha.bkp [done]\n", "=> OAS10001-128.mha [removed]\n", "=> [ok]\n", "\n", "OAS10001-255.mha\n", "=> OAS10001-255.mha.md5 [done]\n", "=> OAS10001-255.mha.bkp [done]\n", "=> OAS10001-255.mha [removed]\n", "=> [ok]\n", "\n", "OAS10001-Transformed.vtp\n", "=> OAS10001-Transformed.vtp.md5 [done]\n", "=> OAS10001-Transformed.vtp.bkp [done]\n", "=> OAS10001-Transformed.vtp [removed]\n", "=> [ok]\n", "\n", "OAS10001.hdr\n", "=> OAS10001.hdr.md5 [done]\n", "=> OAS10001.hdr.bkp [done]\n", "=> OAS10001.hdr [removed]\n", "=> [ok]\n", "\n", "OAS10001.img\n", "=> OAS10001.img.md5 [done]\n", "=> OAS10001.img.bkp [done]\n", "=> OAS10001.img [removed]\n", "=> [ok]\n", "\n", "MultiplyScalarVolumesTest.nrrd\n", "=> MultiplyScalarVolumesTest.nrrd.md5 [done]\n", "=> MultiplyScalarVolumesTest.nrrd.bkp [done]\n", "=> MultiplyScalarVolumesTest.nrrd [removed]\n", "=> [ok]\n", "\n", "MultiplyScalarVolumesTest.1.nrrd\n", "=> MultiplyScalarVolumesTest.1.nrrd.md5 [done]\n", "=> MultiplyScalarVolumesTest.1.nrrd.bkp [done]\n", "=> MultiplyScalarVolumesTest.1.nrrd [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "he3biasfield.nii.gz\n", "=> he3biasfield.nii.gz.md5 [done]\n", "=> he3biasfield.nii.gz.bkp [done]\n", "=> he3biasfield.nii.gz [removed]\n", "=> [ok]\n", "\n", "he3corrected.nii.gz\n", "=> he3corrected.nii.gz.md5 [done]\n", "=> he3corrected.nii.gz.bkp [done]\n", "=> he3corrected.nii.gz [removed]\n", "=> [ok]\n", "\n", "he3volume.nii.gz\n", "=> he3volume.nii.gz.md5 [done]\n", "=> he3volume.nii.gz.bkp [done]\n", "=> he3volume.nii.gz [removed]\n", "=> [ok]\n", "\n", "he3mask.nii.gz\n", "=> he3mask.nii.gz.md5 [done]\n", "=> he3mask.nii.gz.bkp [done]\n", "=> he3mask.nii.gz [removed]\n", "=> [ok]\n", "\n", "OrientScalarVolumeTestAxial.nrrd\n", "=> OrientScalarVolumeTestAxial.nrrd.md5 [done]\n", "=> OrientScalarVolumeTestAxial.nrrd.bkp [done]\n", "=> OrientScalarVolumeTestAxial.nrrd [removed]\n", "=> [ok]\n", "\n", "OrientScalarVolumeTestCoronal.nrrd\n", "=> OrientScalarVolumeTestCoronal.nrrd.md5 [done]\n", "=> OrientScalarVolumeTestCoronal.nrrd.bkp [done]\n", "=> OrientScalarVolumeTestCoronal.nrrd [removed]\n", "=> [ok]\n", "\n", "OrientScalarVolumeTestSagittal.nrrd\n", "=> OrientScalarVolumeTestSagittal.nrrd.md5 [done]\n", "=> OrientScalarVolumeTestSagittal.nrrd.bkp [done]\n", "=> OrientScalarVolumeTestSagittal.nrrd [removed]\n", "=> [ok]\n", "\n", "fixed.nrrd\n", "=> fixed.nrrd.md5 [done]\n", "=> fixed.nrrd.bkp [done]\n", "=> fixed.nrrd [removed]\n", "=> [ok]\n", "\n", "Brain_slice.nrrd\n", "\n", "Brain_slice.nrrd skipping\n", "\n", "dt-helix-ref-BS.nrrd\n", "=> dt-helix-ref-BS.nrrd.md5 [done]\n", "=> dt-helix-ref-BS.nrrd.bkp [done]\n", "=> dt-helix-ref-BS.nrrd [removed]\n", "=> [ok]\n", "\n", "dt-helix-ref-Rotated.nrrd\n", "=> dt-helix-ref-Rotated.nrrd.md5 [done]\n", "=> dt-helix-ref-Rotated.nrrd.bkp [done]\n", "=> dt-helix-ref-Rotated.nrrd [removed]\n", "=> [ok]\n", "\n", "dt-helix-ref-HField.nrrd\n", "=> dt-helix-ref-HField.nrrd.md5 [done]\n", "=> dt-helix-ref-HField.nrrd.bkp [done]\n", "=> dt-helix-ref-HField.nrrd [removed]\n", "=> [ok]\n", "\n", "dt-helix-ref-RotationAndAffine.nrrd\n", "=> dt-helix-ref-RotationAndAffine.nrrd.md5 [done]\n", "=> dt-helix-ref-RotationAndAffine.nrrd.bkp [done]\n", "=> dt-helix-ref-RotationAndAffine.nrrd [removed]\n", "=> [ok]\n", "\n", "dt-helix-ref-BSInterpolation.nrrd\n", "=> dt-helix-ref-BSInterpolation.nrrd.md5 [done]\n", "=> dt-helix-ref-BSInterpolation.nrrd.bkp [done]\n", "=> dt-helix-ref-BSInterpolation.nrrd [removed]\n", "=> [ok]\n", "\n", "rotationAndAffine.tfm\n", "=> [ok]\n", "\n", "dt-helix.nrrd\n", "=> dt-helix.nrrd.md5 [done]\n", "=> dt-helix.nrrd.bkp [done]\n", "=> dt-helix.nrrd [removed]\n", "=> [ok]\n", "\n", "affine.tfm\n", "=> [ok]\n", "\n", "deformationField.nrrd\n", "=> deformationField.nrrd.md5 [done]\n", "=> deformationField.nrrd.bkp [done]\n", "=> deformationField.nrrd [removed]\n", "=> [ok]\n", "\n", "rotation.tfm\n", "=> [ok]\n", "\n", "FastNonrigidBSplineregistrationTransform.tfm\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampledRotationAndAffine.nrrd\n", "=> MRHeadResampledRotationAndAffine.nrrd.md5 [done]\n", "=> MRHeadResampledRotationAndAffine.nrrd.bkp [done]\n", "=> MRHeadResampledRotationAndAffine.nrrd [removed]\n", "=> [ok]\n", "\n", "MRHeadResampledBSplineWSInterpolationTest.nrrd\n", "=> MRHeadResampledBSplineWSInterpolationTest.nrrd.md5 [done]\n", "=> MRHeadResampledBSplineWSInterpolationTest.nrrd.bkp [done]\n", "=> MRHeadResampledBSplineWSInterpolationTest.nrrd [removed]\n", "=> [ok]\n", "\n", "MRHeadResampledHFieldTest.nrrd\n", "=> MRHeadResampledHFieldTest.nrrd.md5 [done]\n", "=> MRHeadResampledHFieldTest.nrrd.bkp [done]\n", "=> MRHeadResampledHFieldTest.nrrd [removed]\n", "=> [ok]\n", "\n", "MRHeadResampledRotationNN.nrrd\n", "=> MRHeadResampledRotationNN.nrrd.md5 [done]\n", "=> MRHeadResampledRotationNN.nrrd.bkp [done]\n", "=> MRHeadResampledRotationNN.nrrd [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "MRHeadResampledBSplineInterpolationTest.nrrd\n", "=> MRHeadResampledBSplineInterpolationTest.nrrd.md5 [done]\n", "=> MRHeadResampledBSplineInterpolationTest.nrrd.bkp [done]\n", "=> MRHeadResampledBSplineInterpolationTest.nrrd [removed]\n", "=> [ok]\n", "\n", "ResampleScalarVolumeTest.raw.gz\n", "=> ResampleScalarVolumeTest.raw.gz.md5 [done]\n", "=> ResampleScalarVolumeTest.raw.gz.bkp [done]\n", "=> ResampleScalarVolumeTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "ResampleScalarVolumeTest.nhdr\n", "=> ResampleScalarVolumeTest.nhdr.md5 [done]\n", "=> ResampleScalarVolumeTest.nhdr.bkp [done]\n", "=> ResampleScalarVolumeTest.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "grayscale.nrrd\n", "=> grayscale.nrrd.md5 [done]\n", "=> grayscale.nrrd.bkp [done]\n", "=> grayscale.nrrd [removed]\n", "=> [ok]\n", "\n", "grayscale-label.nrrd\n", "=> grayscale-label.nrrd.md5 [done]\n", "=> grayscale-label.nrrd.bkp [done]\n", "=> grayscale-label.nrrd [removed]\n", "=> [ok]\n", "\n", "SimpleRegionGrowingSegmentationTest.nhdr\n", "=> SimpleRegionGrowingSegmentationTest.nhdr.md5 [done]\n", "=> SimpleRegionGrowingSegmentationTest.nhdr.bkp [done]\n", "=> SimpleRegionGrowingSegmentationTest.nhdr [removed]\n", "=> [ok]\n", "\n", "SimpleRegionGrowingSegmentationTest.raw.gz\n", "=> SimpleRegionGrowingSegmentationTest.raw.gz.md5 [done]\n", "=> SimpleRegionGrowingSegmentationTest.raw.gz.bkp [done]\n", "=> SimpleRegionGrowingSegmentationTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.nhdr\n", "=> MRHeadResampled.nhdr.md5 [done]\n", "=> MRHeadResampled.nhdr.bkp [done]\n", "=> MRHeadResampled.nhdr [removed]\n", "=> [ok]\n", "\n", "MRHeadResampled.raw.gz\n", "=> MRHeadResampled.raw.gz.md5 [done]\n", "=> MRHeadResampled.raw.gz.bkp [done]\n", "=> MRHeadResampled.raw.gz [removed]\n", "=> [ok]\n", "\n", "SubtractScalarVolumesTest.raw.gz\n", "=> SubtractScalarVolumesTest.raw.gz.md5 [done]\n", "=> SubtractScalarVolumesTest.raw.gz.bkp [done]\n", "=> SubtractScalarVolumesTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "SubtractScalarVolumesTest.nhdr\n", "=> SubtractScalarVolumesTest.nhdr.md5 [done]\n", "=> SubtractScalarVolumesTest.nhdr.bkp [done]\n", "=> SubtractScalarVolumesTest.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxialDoubled.raw.gz\n", "=> CTHeadAxialDoubled.raw.gz.md5 [done]\n", "=> CTHeadAxialDoubled.raw.gz.bkp [done]\n", "=> CTHeadAxialDoubled.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxialDoubled.nhdr\n", "=> CTHeadAxialDoubled.nhdr.md5 [done]\n", "=> CTHeadAxialDoubled.nhdr.bkp [done]\n", "=> CTHeadAxialDoubled.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "ThresholdScalarVolumeTest.raw.gz\n", "=> ThresholdScalarVolumeTest.raw.gz.md5 [done]\n", "=> ThresholdScalarVolumeTest.raw.gz.bkp [done]\n", "=> ThresholdScalarVolumeTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "ThresholdScalarVolumeTest.nhdr\n", "=> ThresholdScalarVolumeTest.nhdr.md5 [done]\n", "=> ThresholdScalarVolumeTest.nhdr.bkp [done]\n", "=> ThresholdScalarVolumeTest.nhdr [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.raw.gz\n", "=> CTHeadAxial.raw.gz.md5 [done]\n", "=> CTHeadAxial.raw.gz.bkp [done]\n", "=> CTHeadAxial.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadAxial.nhdr\n", "=> CTHeadAxial.nhdr.md5 [done]\n", "=> CTHeadAxial.nhdr.bkp [done]\n", "=> CTHeadAxial.nhdr [removed]\n", "=> [ok]\n", "\n", "VotingBinaryHoleFillingImageFilterTest.nhdr\n", "=> VotingBinaryHoleFillingImageFilterTest.nhdr.md5 [done]\n", "=> VotingBinaryHoleFillingImageFilterTest.nhdr.bkp [done]\n", "=> VotingBinaryHoleFillingImageFilterTest.nhdr [removed]\n", "=> [ok]\n", "\n", "VotingBinaryHoleFillingImageFilterTest.raw.gz\n", "=> VotingBinaryHoleFillingImageFilterTest.raw.gz.md5 [done]\n", "=> VotingBinaryHoleFillingImageFilterTest.raw.gz.bkp [done]\n", "=> VotingBinaryHoleFillingImageFilterTest.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadResampledOtsuSegmented.raw.gz\n", "=> CTHeadResampledOtsuSegmented.raw.gz.md5 [done]\n", "=> CTHeadResampledOtsuSegmented.raw.gz.bkp [done]\n", "=> CTHeadResampledOtsuSegmented.raw.gz [removed]\n", "=> [ok]\n", "\n", "CTHeadResampledOtsuSegmented.nhdr\n", "=> CTHeadResampledOtsuSegmented.nhdr.md5 [done]\n", "=> CTHeadResampledOtsuSegmented.nhdr.bkp [done]\n", "=> CTHeadResampledOtsuSegmented.nhdr [removed]\n", "=> [ok]\n", "\n", "********************************************************************************\n", "Local: CTest commands to run associated tests\n", "********************************************************************************\n", "ctest -R MaskScalarVolume\n", "ctest -R GradientAnisotropicDiffusion\n", "ctest -R GaussianBlurImageFilter\n", "ctest -R MedianImageFilter\n", "ctest -R TestGridTransformRegistration\n", "ctest -R HistogramMatching\n", "ctest -R LabelMapSmoothing\n", "ctest -R SimpleRegionGrowingSegmentation\n", "ctest -R OrientScalarVolume\n", "ctest -R VotingBinaryHoleFillingImageFilter\n", "ctest -R CurvatureAnisotropicDiffusion\n", "ctest -R ACPCTransform\n", "ctest -R GrayscaleModelMaker\n", "ctest -R GrayscaleFillHoleImageFilter\n", "ctest -R FreesurferSurfaceSectionExtraction\n", "ctest -R ExtractSkeleton\n", "ctest -R ModelMaker\n", "ctest -R SubtractScalarVolumes\n", "ctest -R ThresholdScalarVolume\n", "ctest -R RobustStatisticsSegmenter\n", "ctest -R DiffusionTensorTest\n", "ctest -R CreateDICOMSeries\n", "ctest -R AddScalarVolumes\n", "ctest -R ExecutionModelTour\n", "ctest -R GrayscaleGrindPeakImageFilter\n", "ctest -R ProbeVolumeWithModel\n", "ctest -R ExpertAutomatedRegistration\n", "ctest -R PETStandardUptakeValueComputation\n", "ctest -R MergeModels\n", "ctest -R MultiplyScalarVolumes\n", "ctest -R CastScalarVolume\n", "ctest -R ResampleDTIVolume\n", "ctest -R ResampleScalarVolume\n", "ctest -R FiducialRegistration\n", "ctest -R N4ITKBiasFieldCorrection\n", "ctest -R ImageLabelCombine\n", "ctest -R ModelToLabelMap\n", "ctest -R CheckerBoardFilter\n", "ctest -R ResampleScalarVectorDWIVolume\n", "\n", "ctest -R 'MaskScalarVolume|GradientAnisotropicDiffusion|GaussianBlurImageFilter|MedianImageFilter|TestGridTransformRegistration|HistogramMatching|LabelMapSmoothing|SimpleRegionGrowingSegmentation|OrientScalarVolume|VotingBinaryHoleFillingImageFilter|CurvatureAnisotropicDiffusion|ACPCTransform|GrayscaleModelMaker|GrayscaleFillHoleImageFilter|FreesurferSurfaceSectionExtraction|ExtractSkeleton|ModelMaker|SubtractScalarVolumes|ThresholdScalarVolume|RobustStatisticsSegmenter|DiffusionTensorTest|CreateDICOMSeries|AddScalarVolumes|ExecutionModelTour|GrayscaleGrindPeakImageFilter|ProbeVolumeWithModel|ExpertAutomatedRegistration|PETStandardUptakeValueComputation|MergeModels|MultiplyScalarVolumes|CastScalarVolume|ResampleDTIVolume|ResampleScalarVolume|FiducialRegistration|N4ITKBiasFieldCorrection|ImageLabelCombine|ModelToLabelMap|CheckerBoardFilter|ResampleScalarVectorDWIVolume'\n", "\n", "********************************************************************************\n", "Local: CLI testing targets missing FOLDER property\n", "********************************************************************************\n", " ProbeVolumeWithModel\n" ] } ], "source": [ "#---------------------------------------------------------------------------\n", "# File that could potentially be removed from the \n", "\n", "print(\"\\n\" + (\"*\" * 80) + \"\\nMidas: Potential candidate for removal\\n\" + (\"*\" * 80))\n", "\n", "# get all list contains in the map, flatten the list, remove duplicates\n", "#_list = [v for (k, v) in missing_midas_module_input_data.iteritems()]\n", "#global_datafiles_candidate_for_removal = list(set(itertools.chain.from_iterable(_list)))\n", "for datafile in global_datafiles_candidate_for_removal:\n", " print(datafile)\n", "\n", "\n", "#---------------------------------------------------------------------------\n", "print(\"\\n\" + (\"*\" * 80) + \"\\nLocal: Convert data file to md5 if it applies\\n\" + (\"*\" * 80))\n", "# Convert data file to hash files if it applies\n", "for data_directory in get_module_data_directories(cli_src_directory):\n", " for filename in os.listdir(data_directory):\n", " filepath = os.path.join(data_directory, filename)\n", " basename = os.path.basename(filename)\n", " \n", " print(\"\\n%s\" % filename)\n", "\n", " if basename in filenames_to_exclude:\n", " print(\"\\n%s skipping\" % filename)\n", " continue\n", "\n", " if convert_to_hashfiles:\n", " if os.path.splitext(filepath)[1] not in extensions_to_exclude:\n", " for hash_algo, hash_func in hash_functions.items():\n", " checksum = hashfile(filepath, hash_func)\n", " with open(filepath + \".\" + hash_algo, \"w\") as myfile:\n", " myfile.write(checksum + \"\\n\")\n", " print(\"=> %s.%s [done]\" % (basename, hash_algo))\n", " \n", " shutil.move(filepath, filepath + '.bkp')\n", " print(\"=> %s.bkp [done]\" % basename)\n", " filepath = filepath + '.bkp'\n", " basename = os.path.basename(filename)\n", " \n", " if delete_bkp and filepath.endswith('.bkp'):\n", " os.remove(filepath)\n", " print(\"=> %s [removed]\" % basename)\n", " \n", " print(\"=> [ok]\")\n", " elif os.path.splitext(filepath)[1] == '.bkp':\n", " original_filename = filepath.replace('.bkp', '')\n", " shutil.move(filepath, original_filename)\n", " print(\"=> %s [restored]\" % original_filename)\n", " print(\"\\n%s restoring\" % original_filename)\n", " else:\n", " print(\"=> [nothing-to-do]\")\n", "\n", "\n", "#---------------------------------------------------------------------------\n", "if check_data_is_uploaded:\n", " check_module_test_data_are_uploaded(cli_src_directory)\n", " \n", "\n", "# Display command allowing to run associated tests\n", "print(\"\\n\" + (\"*\" * 80) + \"\\nLocal: CTest commands to run associated tests\\n\" + (\"*\" * 80))\n", "for moduleName in moduleNames:\n", " print(\"ctest -R %s\" % moduleName)\n", "\n", "print(\"\\nctest -R '%s'\" % \"|\".join(moduleNames))\n", "\n", "# Display modules missing the call setting \"FOLDER\" property on the test executable\n", "print(\"\\n\" + (\"*\" * 80) + \"\\nLocal: CLI testing targets missing FOLDER property\\n\" + (\"*\" * 80))\n", "for moduleName in modules_missing_folder_property:\n", " print(\" %s\" % moduleName)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "********************************************************************************\n", "Local: CTest commands to run associated tests\n", "********************************************************************************\n", "\n", "ctest -R 'MaskScalarVolume|GradientAnisotropicDiffusion|GaussianBlurImageFilter|MedianImageFilter|TestGridTransformRegistration|HistogramMatching|LabelMapSmoothing|SimpleRegionGrowingSegmentation|OrientScalarVolume|VotingBinaryHoleFillingImageFilter|CurvatureAnisotropicDiffusion|ACPCTransform|GrayscaleModelMaker|GrayscaleFillHoleImageFilter|FreesurferSurfaceSectionExtraction|ExtractSkeleton|ModelMaker|SubtractScalarVolumes|ThresholdScalarVolume|RobustStatisticsSegmenter|DiffusionTensorTest|CreateDICOMSeries|AddScalarVolumes|ExecutionModelTour|GrayscaleGrindPeakImageFilter|ProbeVolumeWithModel|ExpertAutomatedRegistration|PETStandardUptakeValueComputation|MergeModels|MultiplyScalarVolumes|CastScalarVolume|ResampleDTIVolume|ResampleScalarVolume|FiducialRegistration|N4ITKBiasFieldCorrection|ImageLabelCombine|ModelToLabelMap|CheckerBoardFilter|ResampleScalarVectorDWIVolume'\n" ] } ], "source": [ "print(\"\\n\" + (\"*\" * 80) + \"\\nLocal: CTest commands to run associated tests\\n\" + (\"*\" * 80))\n", "print(\"\\nctest -R '%s'\" % \"|\".join(moduleNames))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 1 }