changeset 1:84a215623d9e draft

planemo upload for repository https://github.com/CHESSComputing/ChessAnalysisPipeline commit f4980be19456f3f51758e06e2eb7520924ce1e3a
author ximgchess
date Tue, 11 Apr 2023 15:49:53 +0000
parents 47d2a1f087d1
children 79081cef336b
files saxswaxs/ignoreshed.yml saxswaxs/klspipeline.yaml tomo/andor2.yaml tomo/pipeline_reduce_nexus.yaml tomo/pipeline_reduce_yaml.yaml tomo/tomo_macros.xml tomo/tomo_reduce.xml
diffstat 7 files changed, 168 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/saxswaxs/ignoreshed.yml	Tue Apr 11 14:41:16 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-name: chap_test_20230328
-owner: kls286
-description: A generic test pipeline for CHAP
-remote_repository_url: https://github.com/CHESSComputing/ChessAnalysisPipeline
-type: unrestricted
-categories:
-- Structural Materials Analysis
--- a/saxswaxs/klspipeline.yaml	Tue Apr 11 14:41:16 2023 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-pipeline:
-
-  # Download example data
-  - common.URLReader:
-      url: https://gitlab01.classe.cornell.edu/api/v4/projects/308/repository/files/saxswaxs%2frawdata_test_1d.tar/raw?ref=main
-      headers:
-        PRIVATE-TOKEN: glpat-sH-sniHbynCxUDJBpv5V # your token here
-  - common.URLResponseProcessor
-  - common.ExtractArchiveWriter:
-      filename: .
-
-  # Collect map data
-  - common.YAMLReader:
-      filename: map.yaml
-      schema: MapConfig
-  - common.MapProcessor
-  - common.NexusWriter:
-      filename: map_specdata.nxs
-      force_overwrite: true
-
-  # Integrate map detetcor data
-  - common.MultipleReader:
-      readers:
-        - YAMLReader:
-            filename: map.yaml
-            schema: MapConfig
-        - YAMLReader:
-            filename: integration.yaml
-            schema: IntegrationConfig
-  - common.IntegrateMapProcessor
-  - common.NexusWriter:
-      filename: map_reduceddata.nxs
-      force_overwrite: true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tomo/andor2.yaml	Tue Apr 11 15:49:53 2023 +0000
@@ -0,0 +1,8 @@
+detector:
+  prefix: andor2
+  rows: 1436
+  columns: 1700
+  pixel_size:
+  - 0.0065
+  - 0.0065
+  lens_magnification: 5.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tomo/pipeline_reduce_nexus.yaml	Tue Apr 11 15:49:53 2023 +0000
@@ -0,0 +1,14 @@
+pipeline:
+
+  # Reduce tomography images
+  - common.MultipleReader:
+      readers:
+        - NexusReader:
+            filename: setup.nex
+        - YAMLReader:
+            filename: reduce.yaml
+            schema: TomoReduceConfig
+  - tomo.TomoDataProcessor
+  - common.NexusWriter:
+      filename: output.nex
+      force_overwrite: true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tomo/pipeline_reduce_yaml.yaml	Tue Apr 11 15:49:53 2023 +0000
@@ -0,0 +1,15 @@
+pipeline:
+
+  # Reduce tomography images
+  - common.MultipleReader:
+      readers:
+        - YAMLReader:
+            filename: map.yaml
+            schema: MapConfig
+        - YAMLReader:
+            filename: reduce.yaml
+            schema: TomoReduceConfig
+  - tomo.TomoDataProcessor
+  - common.NexusWriter:
+      filename: output.nex
+      force_overwrite: true
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tomo/tomo_macros.xml	Tue Apr 11 15:49:53 2023 +0000
@@ -0,0 +1,29 @@
+<macros>
+    <token name="@TOOL_VERSION@">0.1.0</token>
+    <token name="@PROFILE@">21.09</token>
+    <token name="@PYTHON_TEMPLATE_VERSION@">3.9.13</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="0.0.3">chessanalysispipeline</requirement>
+            <requirement type="package" version="1.1.0">lmfit</requirement>
+            <requirement type="package" version="3.7.1">matplotlib</requirement>
+            <requirement type="package" version="1.0.1">nexusformat</requirement>
+            <requirement type="package" version="1.10.7">pydantic</requirement>
+            <requirement type="package" version="1.12.2">tomopy</requirement>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="bibtex">
+@misc{githubChessAnalysisPipeline,
+  author = {LastTODO, FirstTODO},
+  year = {TODO},
+  title = {Tomography reconstruction},
+  publisher = {GitHub},
+  journal = {GitHub repository},
+  url = {https://github.com/CHESSComputing/ChessAnalysisPipeline},
+}</citation>
+        </citations>
+    </xml>
+</macros>
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tomo/tomo_reduce.xml	Tue Apr 11 15:49:53 2023 +0000
@@ -0,0 +1,102 @@
+<tool id="CHAP_tomo_reduce" name="Tomo Reduce" version="@TOOL_VERSION@+galaxy0" profile="@PROFILE@" python_template_version="@PYTHON_TEMPLATE_VERSION@">
+    <description>Reduce tomography images</description>
+    <macros>
+        <import>tomo_macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code">
+        <![CDATA[
+        mkdir tomo_reduce_plots;
+        pip --exists-action i install certif-pyspec==1.5.3 &&
+        #if str($map.type_selector) == "YAML"
+            cp '$input_file' map.yaml &&
+        #else
+            cp '$input_file' setup.nex &&
+        #end if
+        cp '$tool_config' reduce.yaml &&
+        CHAP --config 
+        #if str($map.type_selector) == "YAML"
+            '$__tool_directory__/pipeline_reduce_yaml.yaml'
+        #else
+            '$__tool_directory__/pipeline_reduce_nexus.yaml'
+        #end if
+        ]]>
+    </command>
+    <configfiles>
+        <configfile name="tool_config">
+            <![CDATA[#slurp
+                #if str($map.type_selector) == "YAML"
+                    #if str($detector.type_selector) == "andor2"
+                        #cat andor2.yaml
+                    #elif str($detector.type_selector) == "manta"
+                        #cat manta.yaml
+                    #else str($detector.type_selector) == "retiga"
+                        #cat retiga.yaml
+                    #end if
+                #end if
+                #echo 'img_x_bounds:' #
+                #if str($img_x_bounds.type_selector) == "full_range"
+                    #echo '- -1'
+                    #echo '- -1'
+                #else
+                    #echo '- ' + str($img_x_bounds.low)
+                    #echo '- ' + str($img_x_bounds.upp)
+                #end if
+            ]]>
+        </configfile>
+    </configfiles>
+    <inputs>
+        <conditional name="map">
+            <param name="type_selector" type="select" display="radio" label="Choose map file type">
+                <option value="yaml">YAML</option>
+                <option value="nexus">NeXus</option>
+            </param>
+            <when value="yaml">
+                <param name="input_file" type="data" format="yaml" optional="false" label="Map config file"/>
+                <conditional name="detector">
+                    <param name="type_selector" type="select" display="radio" label="Choose detector prefix">
+                        <option value="andor2">andor2</option>
+                        <option value="manta">manta</option>
+                        <option value="retiga">retiga</option>
+                    </param>
+                    <when value="andor2"/>
+                    <when value="manta"/>
+                    <when value="retiga"/>
+                </conditional>
+            </when>
+            <when value="nexus">
+                <param name="input_file" type="data" format="nex" optional="false" label="Tomography setup file"/>
+            </when>
+        </conditional>
+        <conditional name="img_x_bounds">
+            <param name="type_selector" type="select" label="Choose vertical detector image bounds">
+                <option value="full_range" selected="true">Use the full image range</option>
+                <option value="enter_range">Manually enter the image range</option>
+            </param>
+            <when value="full_range"/>
+            <when value="enter_range">
+                <param name="low" type="integer" value="-1" optional="false" label="Lower image range index"/>
+                <param name="upp" type="integer" value="-1" optional="false" label="Upper image range index"/>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="tool_config" format="yaml" label="Tool config" from_work_dir="reduce.yaml" hidden="false"/>
+        <collection name="tomo_reduce_plots" type="list" label="Data reduction images">
+            <discover_datasets pattern="__name_and_ext__" directory="tomo_reduce_plots"/>
+        </collection>
+        <data name="output_file" format="nex" label="Reduced tomography data" from_work_dir="output.nex"/>
+    </outputs>
+    <help>
+        <![CDATA[
+        usage: PROG [-h] [--config CONFIG] [--verbose]
+
+options:
+  -h, --help       show this help message and exit
+  --config CONFIG  Input configuration file
+  --verbose        verbose output
+
+        ]]>
+    </help>
+    <expand macro="citations"/>
+</tool>