diff standard.xml @ 0:e78c8c5ea3df draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/3Dtrees_standardization commit ef08451cb2e70c234e44751684ef1eb35d1a93b8
author bgruening
date Tue, 09 Dec 2025 12:54:11 +0000
parents
children 6524ef47a755
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/standard.xml	Tue Dec 09 12:54:11 2025 +0000
@@ -0,0 +1,89 @@
+<tool id="3dtrees_standardization" name="3Dtrees: LAZ Standardization" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2">
+    <description>
+        laz file checks and standardization.
+    </description>
+    <macros>
+        <token name="@TOOL_VERSION@">1.0.1</token>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <requirements>
+        <container type="docker">ghcr.io/3dtrees-earth/3dtrees-pc-standard:@TOOL_VERSION@</container>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+## needed because the Rscript is following symlinks
+cp '$input' /in/input.laz && 
+cd /src && 
+Rscript run.R
+    --dataset-path /in/input.laz
+    --output-dir .
+    --min-density
+    $min_density &&
+mv /src/pc_standardized.laz '$pc_standardized'
+        ]]>
+    </command>
+    <inputs>
+        <param name="input" type="data" format="laz" label="Point Cloud Dataset" help="LAZ point cloud to process"/>
+        <param name="min_density" type="integer" value="500" min="1" max="10000" label="Minimum Point Density (points/m²)" help="Minimum required point density in points per square meter. Default: 500 for TLS data. Use lower values (e.g., 10-50) for ALS data."/>
+    </inputs>
+    <outputs>
+        <data name="pc_standardized" format="laz" label="Standardized Point Cloud"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="mikro.laz" ftype="laz"/>
+            <param name="min_density" value="10"/>
+            <output name="pc_standardized">
+                <assert_contents>
+                    <has_size value="100000" delta="50000"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help>
+    **What it does**
+
+This tool performs a series of checks and standardizations on a LAS/LAZ point cloud file. It checks:
+
+1. **Basic LAS Validation**
+   - Validates the object using las_check()
+   - Ensures the file has at least 100 points
+
+2. **Bounding Box Consistency**
+   - Updates header if bounding box doesn't match points
+   - Validates spatial extent (all dimensions &gt; 1 meter)
+   - Checks Z range is plausible (-100 to 5500 meters)
+
+3. **Point Density Check**
+   - Calculates point density using convex hull
+   - Requires minimum point density (configurable, default: 500 points/m² for TLS)
+
+4. **Extra Byte Data Type Check**
+   - Validates extra byte attribute data types
+   - Corrects mismatches if found
+
+5. **CRS Validation**
+   - Ensures CRS is specified
+   - Validates transformation to EPSG:3857
+
+6. **Point Data Format Check**
+   - Downgrades format to 7 if necessary
+   - Preserves NIR channel as extra attribute
+
+7. **Land Coverage Validation**
+   - Validates centroid is on land using Natural Earth data
+
+8. **Output Writing**
+   - Writes standardized LAZ file with Point Format ≤ 7
+    </help>
+    <creator>
+        <person name="Julian Frey" email="julian.frey@wwd.uni-freiburg.de" url="https://orcid.org/0000-0001-7895-702X"/>
+        <person name="Janusch Vajna-Jehle" email="janusch.jehle@geosense.uni-freiburg.de" url="https://orcid.org/0009-0002-0034-9387"/>
+        <person name="Kilian Gerberding" email="kilian.gerberding@geosense.uni-freiburg.de" url="https://orcid.org/0009-0002-5001-2571"/>
+        <organization name="3Dtrees-Team, University of Freiburg" url="https://github.com/3dTrees-earth"/>
+    </creator>
+    <citations>
+        <citation type="bibtex">
+            @misc{3dtrees_standard, title = {3D Trees Standardization}, author = {3D Trees Project}, year = {2025}}
+        </citation>
+    </citations>
+</tool>