diff ParseInput.py @ 1:aba3655fdef0 draft

"planemo upload for repository https://github.com/ohsu-comp-bio/quantification commit 897a7dc7cb43e45d6f0fdfe2b2970e59f20f8853"
author watsocam
date Fri, 11 Mar 2022 23:35:52 +0000
parents 928db0f952e3
children
line wrap: on
line diff
--- a/ParseInput.py	Fri Mar 12 00:19:24 2021 +0000
+++ b/ParseInput.py	Fri Mar 11 23:35:52 2022 +0000
@@ -8,15 +8,39 @@
 
 #if __name__ == '__main__':
    parser = argparse.ArgumentParser()
-   parser.add_argument('--masks',nargs='*')
-   parser.add_argument('--image')
-   parser.add_argument('--channel_names')
-   parser.add_argument('--output')
+   parser.add_argument('--masks',nargs='+', required=True)
+   parser.add_argument('--image', required=True)
+   parser.add_argument('--channel_names', required=True)
+   parser.add_argument('--output', required=True)
+   parser.add_argument(
+      '--mask_props', nargs = "+",
+      help="""
+         Space separated list of additional metrics to be calculated for every mask.
+         This is for metrics that depend only on the cell mask. If the metric depends
+         on signal intensity, use --intensity-props instead.
+         See list at https://scikit-image.org/docs/dev/api/skimage.measure.html#regionprops
+      """
+   )
+   parser.add_argument(
+      '--intensity_props', nargs = "+",
+      help="""
+         Space separated list of additional metrics to be calculated for every marker separately.
+         By default only mean intensity is calculated.
+         If the metric doesn't depend on signal intensity, use --mask-props instead.
+         See list at https://scikit-image.org/docs/dev/api/skimage.measure.html#regionprops
+         Additionally available is gini_index, which calculates a single number
+         between 0 and 1, representing how unequal the signal is distributed in each region.
+         See https://en.wikipedia.org/wiki/Gini_coefficient
+      """
+   )
    #parser.add_argument('--suffix')
    args = parser.parse_args()
    #Create a dictionary object to pass to the next function
    dict = {'masks': args.masks, 'image': args.image,\
-    'channel_names': args.channel_names,'output':args.output}
+    'channel_names': args.channel_names,'output':args.output,
+    'intensity_props': set(args.intensity_props if args.intensity_props is not None else []).union(["intensity_mean"]),
+    'mask_props': args.mask_props,
+   }
    #Print the dictionary object
    print(dict)
    #Return the dictionary