view raycloudtools.xml @ 0:332cacc269b1 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_raycloudtools commit 65c033b48e3f360fee95529856ade2125f5d579d
author bgruening
date Mon, 02 Feb 2026 17:33:59 +0000
parents
children
line wrap: on
line source

<tool id="3dtrees_raycloudtools" name="3DTrees: RayCloudTools" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="25.1" license="BSD-3-Clause">
    <description>Tree instance segmentation</description>
    <macros>
        <token name="@TOOL_VERSION@">1.0.0</token>
        <token name="@VERSION_SUFFIX@">0</token>
    </macros>
    <requirements>
        <container type="docker">
            ghcr.io/3dtrees-earth/3dtrees_rct:@TOOL_VERSION@
        </container>
    </requirements>
    
    <command detect_errors="exit_code"><![CDATA[
        python3 -u /src/run.py 
        --dataset-path '$input'
        --output-dir .
        # other params defined in parameters.py
        ]]>
    </command>

    <inputs>
        <param name="input" type="data" format="laz" label="Input Dataset (.laz)" 
                help="Input file to process"/>
        <!-- Add your specific parameters from parameters.py -->
    </inputs>
    
    <outputs>
        <data name="output" format="laz" label="Output" from_work_dir="final_results.laz"/>
    </outputs>
    
    <tests>
        <test expect_num_outputs="1">
            <param name="input" value="Example_Tree_RCT.laz"/>
            <output name="output">
                <assert_contents>
                    <has_size value="20k" delta="10k"/>  <!-- 10-30KB -->
                </assert_contents>
            </output>
        </test>
    </tests>

    <help format="markdown">
**What it does**

This tool performs graph-based tree instance segmentation on LiDAR point clouds using the **RayExtract** algorithm (Devereux et al., 2026) implemented as part of **RayCloudTools** (Lowe &amp; Stepanas, 2021). 
It is platform-agnostic and works across airborne (ULS), terrestrial (TLS), and mobile (MLS) laser scanning data, as long as trees are well-represented by points along the entire tree length.
  
-----

**Processing Steps**

- Convert input point cloud to LAZ 1.2
- Import point cloud as ray cloud
- Extract terrain
- Extract trees
- Convert point color (segmentation result) to instance IDs
- Add instance IDs back to input point cloud  

-----

**Output**

Original LAZ point cloud + instance IDs in extra dimension 'PredInstance'.

***Tip:** We recommend using the '3DTrees: Tile and Merge' or '3DTrees: Smart Tile' tool to process large point clouds (workflow: tile → segment → merge)!*

-----

**Third-Party Components**  

You agree to comply with the licence terms for these components as part of accessing the tool.

**RayCloudTools:** Copyright (c) 2020, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230 | [CSIRO-Open Source Software License (variation of the BSD / MIT License)](https://github.com/csiro-robotics/raycloudtools); 
**PDAL:** Copyright (c) 2025, Hobu, Inc. (howard@hobu.co) | [pdal License (BSD)](https://github.com/PDAL/PDAL?tab=License-1-ov-file#readme);
**NumPy:** Copyright (c) 2005-2025, NumPy Developers | [numpy License (BSD)](https://github.com/numpy/numpy?tab=License-1-ov-file#readme); 
**LasPy:** Copyright (c) 2012, Grant Brown, grant.brown73 at gmail.com, Copyright (c) 2012, Howard Butler, hobu.inc at gmail.com, Copyright (c) 2020, Thomas Montaigu, thomas.montaigu@laposte.net | [laspy License](https://github.com/laspy/laspy?tab=License-1-ov-file#readme); 
**Open3D:** Copyright (c) 2018-2023 www.open3d.org | [Open3D License (MIT)](https://github.com/isl-org/Open3D?tab=License-1-ov-file#readme).
    </help>
    <creator>
        <person name="Hannah Greven" email="hannah.greven@hnee.de"/>
        <organization name="3Dtrees-Team, University of Freiburg" url="https://github.com/3dTrees-earth"/>
    </creator>
    <citations>
        <citation type="doi">10.1016/j.rse.2025.115162</citation>
        <citation type="doi">10.1109/ACCESS.2021.3084954</citation>
        <citation type="bibtex">
            @misc{3dtrees_raycloudtools, title = {3Dtrees: RayCloudTools}, author = {3Dtrees-Project}, year = {2025}}
        </citation>
    </citations>
</tool>