Mercurial > repos > bgruening > 3dtrees_standardization
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 > 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>
