diff --git a/tools/3d_tensor_feature_dimension_reduction/.shed.yml b/deprecated/tools/3d_tensor_feature_dimension_reduction/.shed.yml similarity index 100% rename from tools/3d_tensor_feature_dimension_reduction/.shed.yml rename to deprecated/tools/3d_tensor_feature_dimension_reduction/.shed.yml diff --git a/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.py b/deprecated/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.py similarity index 100% rename from tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.py rename to deprecated/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.py diff --git a/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.xml b/deprecated/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.xml similarity index 100% rename from tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.xml rename to deprecated/tools/3d_tensor_feature_dimension_reduction/3d_tensor_feature_dimension_reduction.xml diff --git a/tools/3d_tensor_feature_dimension_reduction/test-data/tensor.h5 b/deprecated/tools/3d_tensor_feature_dimension_reduction/test-data/tensor.h5 similarity index 100% rename from tools/3d_tensor_feature_dimension_reduction/test-data/tensor.h5 rename to deprecated/tools/3d_tensor_feature_dimension_reduction/test-data/tensor.h5 diff --git a/tools/3d_tensor_feature_dimension_reduction/test-data/tensor_r.tif b/deprecated/tools/3d_tensor_feature_dimension_reduction/test-data/tensor_r.tif similarity index 100% rename from tools/3d_tensor_feature_dimension_reduction/test-data/tensor_r.tif rename to deprecated/tools/3d_tensor_feature_dimension_reduction/test-data/tensor_r.tif diff --git a/tools/curl_post/.shed.yml b/deprecated/tools/curl_post/.shed.yml similarity index 100% rename from tools/curl_post/.shed.yml rename to deprecated/tools/curl_post/.shed.yml diff --git a/tools/curl_post/curl_post.xml b/deprecated/tools/curl_post/curl_post.xml similarity index 100% rename from tools/curl_post/curl_post.xml rename to deprecated/tools/curl_post/curl_post.xml diff --git a/tools/curl_post/test-data/curl.txt b/deprecated/tools/curl_post/test-data/curl.txt similarity index 100% rename from tools/curl_post/test-data/curl.txt rename to deprecated/tools/curl_post/test-data/curl.txt diff --git a/tools/curl_post/test-data/sample_seg.tif b/deprecated/tools/curl_post/test-data/sample_seg.tif similarity index 100% rename from tools/curl_post/test-data/sample_seg.tif rename to deprecated/tools/curl_post/test-data/sample_seg.tif diff --git a/tools/points2binaryimage/.shed.yml b/deprecated/tools/points2binaryimage/.shed.yml similarity index 100% rename from tools/points2binaryimage/.shed.yml rename to deprecated/tools/points2binaryimage/.shed.yml diff --git a/tools/points2binaryimage/creators.xml b/deprecated/tools/points2binaryimage/creators.xml similarity index 100% rename from tools/points2binaryimage/creators.xml rename to deprecated/tools/points2binaryimage/creators.xml diff --git a/tools/points2binaryimage/points2binaryimage.py b/deprecated/tools/points2binaryimage/points2binaryimage.py similarity index 100% rename from tools/points2binaryimage/points2binaryimage.py rename to deprecated/tools/points2binaryimage/points2binaryimage.py diff --git a/tools/points2binaryimage/points2binaryimage.xml b/deprecated/tools/points2binaryimage/points2binaryimage.xml similarity index 100% rename from tools/points2binaryimage/points2binaryimage.xml rename to deprecated/tools/points2binaryimage/points2binaryimage.xml diff --git a/tools/points2binaryimage/test-data/input1.tsv b/deprecated/tools/points2binaryimage/test-data/input1.tsv similarity index 100% rename from tools/points2binaryimage/test-data/input1.tsv rename to deprecated/tools/points2binaryimage/test-data/input1.tsv diff --git a/tools/points2binaryimage/test-data/input2.tsv b/deprecated/tools/points2binaryimage/test-data/input2.tsv similarity index 100% rename from tools/points2binaryimage/test-data/input2.tsv rename to deprecated/tools/points2binaryimage/test-data/input2.tsv diff --git a/tools/points2binaryimage/test-data/output1.tif b/deprecated/tools/points2binaryimage/test-data/output1.tif similarity index 100% rename from tools/points2binaryimage/test-data/output1.tif rename to deprecated/tools/points2binaryimage/test-data/output1.tif diff --git a/tools/points2binaryimage/test-data/output2.tif b/deprecated/tools/points2binaryimage/test-data/output2.tif similarity index 100% rename from tools/points2binaryimage/test-data/output2.tif rename to deprecated/tools/points2binaryimage/test-data/output2.tif diff --git a/tools/points2binaryimage/tests.xml b/deprecated/tools/points2binaryimage/tests.xml similarity index 100% rename from tools/points2binaryimage/tests.xml rename to deprecated/tools/points2binaryimage/tests.xml diff --git a/tools/roi2binaryimage/WARNING b/deprecated/tools/roi2binaryimage/WARNING similarity index 100% rename from tools/roi2binaryimage/WARNING rename to deprecated/tools/roi2binaryimage/WARNING diff --git a/tools/roi2binaryimage/roi2binaryimage.py b/deprecated/tools/roi2binaryimage/roi2binaryimage.py similarity index 100% rename from tools/roi2binaryimage/roi2binaryimage.py rename to deprecated/tools/roi2binaryimage/roi2binaryimage.py diff --git a/tools/roi2binaryimage/test-data/1.roi b/deprecated/tools/roi2binaryimage/test-data/1.roi similarity index 100% rename from tools/roi2binaryimage/test-data/1.roi rename to deprecated/tools/roi2binaryimage/test-data/1.roi diff --git a/tools/color-deconvolution/.shed.yml b/tools/color_deconvolution/.shed.yml similarity index 100% rename from tools/color-deconvolution/.shed.yml rename to tools/color_deconvolution/.shed.yml diff --git a/tools/color-deconvolution/color-deconvolution.xml b/tools/color_deconvolution/color-deconvolution.xml similarity index 100% rename from tools/color-deconvolution/color-deconvolution.xml rename to tools/color_deconvolution/color-deconvolution.xml diff --git a/tools/color-deconvolution/color_deconvolution.py b/tools/color_deconvolution/color_deconvolution.py similarity index 100% rename from tools/color-deconvolution/color_deconvolution.py rename to tools/color_deconvolution/color_deconvolution.py diff --git a/tools/color-deconvolution/test-data/galaxyIcon_noText.png b/tools/color_deconvolution/test-data/galaxyIcon_noText.png similarity index 100% rename from tools/color-deconvolution/test-data/galaxyIcon_noText.png rename to tools/color_deconvolution/test-data/galaxyIcon_noText.png diff --git a/tools/mahotas-features/.shed.yml b/tools/mahotas_features/.shed.yml similarity index 100% rename from tools/mahotas-features/.shed.yml rename to tools/mahotas_features/.shed.yml diff --git a/tools/mahotas-features/mahotas_features.xml b/tools/mahotas_features/mahotas_features.xml similarity index 100% rename from tools/mahotas-features/mahotas_features.xml rename to tools/mahotas_features/mahotas_features.xml diff --git a/tools/mahotas-features/test-data/features.tsv b/tools/mahotas_features/test-data/features.tsv similarity index 100% rename from tools/mahotas-features/test-data/features.tsv rename to tools/mahotas_features/test-data/features.tsv diff --git a/tools/mahotas-features/test-data/galaxyIcon_noText.png b/tools/mahotas_features/test-data/galaxyIcon_noText.png similarity index 100% rename from tools/mahotas-features/test-data/galaxyIcon_noText.png rename to tools/mahotas_features/test-data/galaxyIcon_noText.png diff --git a/tools/visceral-evaluatesegmentation/.shed.yml b/tools/visceral_evaluatesegmentation/.shed.yml similarity index 100% rename from tools/visceral-evaluatesegmentation/.shed.yml rename to tools/visceral_evaluatesegmentation/.shed.yml diff --git a/tools/visceral-evaluatesegmentation/test-data/.gitignore b/tools/visceral_evaluatesegmentation/test-data/.gitignore similarity index 100% rename from tools/visceral-evaluatesegmentation/test-data/.gitignore rename to tools/visceral_evaluatesegmentation/test-data/.gitignore diff --git a/tools/visceral-evaluatesegmentation/test-data/out.xml b/tools/visceral_evaluatesegmentation/test-data/out.xml similarity index 100% rename from tools/visceral-evaluatesegmentation/test-data/out.xml rename to tools/visceral_evaluatesegmentation/test-data/out.xml diff --git a/tools/visceral-evaluatesegmentation/test-data/sample.png b/tools/visceral_evaluatesegmentation/test-data/sample.png similarity index 100% rename from tools/visceral-evaluatesegmentation/test-data/sample.png rename to tools/visceral_evaluatesegmentation/test-data/sample.png diff --git a/tools/visceral-evaluatesegmentation/visceral-evaluatesegmentation.xml b/tools/visceral_evaluatesegmentation/visceral-evaluatesegmentation.xml similarity index 100% rename from tools/visceral-evaluatesegmentation/visceral-evaluatesegmentation.xml rename to tools/visceral_evaluatesegmentation/visceral-evaluatesegmentation.xml diff --git a/util/README.md b/util/README.md index a1677148..8c7d23bb 100644 --- a/util/README.md +++ b/util/README.md @@ -1,5 +1,13 @@ # Utility scripts +## Check tool directory names + +Verify that the path of all tools contains the name of the corresponding tool shed repository or the name of a tool suite. + +```bash +./util/check_directory_names.py +``` + ## Use case: An input TIFF file is too large Assuming that the TIFF file is an RGB file: diff --git a/util/check_directory_names.py b/util/check_directory_names.py new file mode 100755 index 00000000..6eafd37d --- /dev/null +++ b/util/check_directory_names.py @@ -0,0 +1,26 @@ +#!/bin/env python + +import glob +import pathlib +import yaml + + +gia_root_path = pathlib.Path(__file__).resolve().parent.parent +gia_root_dir_names = [gia_root_path.name] + [p.name for p in gia_root_path.parents if p.name != ''] + + +for path_str in glob.glob('./**/.shed.yml', recursive=True): + + # Read the .shed.yml file: + shed_file_path = pathlib.Path(path_str).resolve() + with shed_file_path.open('r') as shed_file: + shed = yaml.safe_load(shed_file) + ts_repo_name = shed['name'] + + # Check that the toolshed repo name corresponds to one of the parent directory names: + parent_dir_names = frozenset(p.name for p in shed_file_path.parents if p.name != '') - frozenset(gia_root_dir_names) + if ts_repo_name not in parent_dir_names: + print( + f'{shed_file_path.relative_to(gia_root_path)}: ' + f'{ts_repo_name} not in {", ".join(str(dir_name) for dir_name in parent_dir_names)}' + )