Mercurial > repos > galaxyp > qupath_roi_splitter
changeset 5:17c54a716a5b draft
planemo upload for repository hhttps://github.com/npinter/ROIsplitter commit e3d24f3dc7a9812f8fa4447c9391e5bd3b5d4dc6
author | galaxyp |
---|---|
date | Tue, 30 Jul 2024 12:59:11 +0000 |
parents | 9f136ebf73ac |
children | 6a8cf86fd3b7 |
files | qupath_roi_splitter.py qupath_roi_splitter.xml |
diffstat | 2 files changed, 20 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/qupath_roi_splitter.py Fri Jul 19 14:33:40 2024 +0000 +++ b/qupath_roi_splitter.py Tue Jul 30 12:59:11 2024 +0000 @@ -22,15 +22,20 @@ else: coord_index = 0 for sub_roi in input_roi["geometry"]["coordinates"]: - # Polygon with holes or MultiPolygon - if not isinstance(sub_roi[0][0], list): - all_coords.extend(collect_coords(sub_roi, feature_index, coord_index)) - coord_index += len(sub_roi) + if len(sub_roi) == 2: + # Special case: LMD data + all_coords.extend(collect_coords([sub_roi], feature_index, coord_index)) + coord_index += 1 else: - # MultiPolygon with holes - for sub_coord in sub_roi: - all_coords.extend(collect_coords(sub_coord, feature_index, coord_index)) - coord_index += len(sub_coord) + # Polygon with holes or MultiPolygon + if not isinstance(sub_roi[0][0], list): + all_coords.extend(collect_coords(sub_roi, feature_index, coord_index)) + coord_index += len(sub_roi) + else: + # MultiPolygon with holes + for sub_coord in sub_roi: + all_coords.extend(collect_coords(sub_coord, feature_index, coord_index)) + coord_index += len(sub_coord) return all_coords @@ -103,7 +108,7 @@ parser = argparse.ArgumentParser(description="Split ROI coordinates of QuPath TMA annotation by cell type (classification)") parser.add_argument("--qupath_roi", default=False, help="Input QuPath annotation (GeoJSON file)") parser.add_argument("--fill", action="store_true", required=False, help="Fill pixels in ROIs (order of coordinates will be lost)") - parser.add_argument('--version', action='version', version='%(prog)s 0.3.0') + parser.add_argument('--version', action='version', version='%(prog)s 0.3.1') parser.add_argument("--all", action="store_true", required=False, help="Extracts all ROIs") parser.add_argument("--img", action="store_true", required=False, help="Generates image of ROIs") args = parser.parse_args()
--- a/qupath_roi_splitter.xml Fri Jul 19 14:33:40 2024 +0000 +++ b/qupath_roi_splitter.xml Tue Jul 30 12:59:11 2024 +0000 @@ -1,7 +1,7 @@ <tool id="qupath_roi_splitter" name="QuPath ROI Splitter" version="@VERSION@+galaxy@VERSION_SUFFIX@"> <description>Split ROI coordinates of QuPath TMA annotation by cell type (classification)</description> <macros> - <token name="@VERSION@">0.3.0</token> + <token name="@VERSION@">0.3.1</token> <token name="@VERSION_SUFFIX@">0</token> </macros> <requirements> @@ -21,7 +21,9 @@ #end for mkdir out && mv *.txt out/ + #if $optional.img && mv *.png out/ + #end if ]]></command> <inputs> <param name="input_collection" type="data_collection" format="geojson" label="Input QuPath annotation" help="Collection containing GeoJSON files"/> @@ -33,14 +35,15 @@ </inputs> <outputs> <collection name="output_txts" type="list" label="${tool.name} on ${on_string}: ROI data"> - <discover_datasets pattern="(?P<name>.*\.txt)" directory="out" visible="false" ext="txt"/> + <discover_datasets pattern="(?P<name>.*\.txt)" directory="out" visible="false" ext="tabular"/> </collection> <collection name="output_imgs" type="list" label="${tool.name} on ${on_string}: Images of ROIs"> + <filter>optional['img']</filter> <discover_datasets pattern="(?P<name>.*\.png)" directory="out" visible="false" ext="png"/> </collection> </outputs> <tests> - <test> + <test expect_num_outputs="2"> <param name="input_collection"> <collection type="list"> <element name="annotations_TMA_E-5.geojson" value="annotations_TMA_E-5.geojson" />