Mercurial > repos > bgruening > 3dtrees_potree
comparison 3dtrees_potree.xml @ 0:3104b1edd779 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_potree commit fe8f0be96e6375b291a31ea702bfb38d0d0d49e6
| author | bgruening |
|---|---|
| date | Tue, 03 Feb 2026 19:08:35 +0000 |
| parents | |
| children | bd474d8124e3 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:3104b1edd779 |
|---|---|
| 1 <tool id="3dtrees_potree" name="3Dtrees: Potree Converter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2"> | |
| 2 <description>Convert LAS/LAZ point clouds to Potree octree format for web visualization</description> | |
| 3 <macros> | |
| 4 <token name="@TOOL_VERSION@">1.0.0</token> | |
| 5 <token name="@VERSION_SUFFIX@">0</token> | |
| 6 </macros> | |
| 7 <requirements> | |
| 8 <container type="docker">ghcr.io/3dtrees-earth/3dtrees_potree:@TOOL_VERSION@</container> | |
| 9 </requirements> | |
| 10 <command detect_errors="exit_code"><![CDATA[ | |
| 11 mkdir -p data && | |
| 12 #for $f in $input | |
| 13 ln -s '$f' data/'${f.element_identifier}.laz' && | |
| 14 #end for | |
| 15 python /src/run.py | |
| 16 --source data | |
| 17 --outdir output | |
| 18 --encoding '$encoding' | |
| 19 --method '$method' | |
| 20 #if $attributes | |
| 21 --attributes '$attributes' | |
| 22 #end if | |
| 23 $keep_chunks | |
| 24 $no_chunking | |
| 25 $no_indexing | |
| 26 #if $generate_page | |
| 27 --generate-page '$generate_page' | |
| 28 #end if | |
| 29 2>&1 | |
| 30 ]]> | |
| 31 </command> | |
| 32 <inputs> | |
| 33 <param name="input" type="data" format="laz" multiple="true" label="Point Cloud Files" help="Input LAS/LAZ files to convert to Potree format" /> | |
| 34 <param argument="--encoding" type="select" label="Encoding" help="Compression encoding for output"> | |
| 35 <option value="BROTLI" selected="true">Brotli</option> | |
| 36 <option value="UNCOMPRESSED">Uncompressed</option> | |
| 37 </param> | |
| 38 <param argument="--method" type="select" label="Sampling Method" help="Point sampling method for octree generation"> | |
| 39 <option value="poisson" selected="true">Poisson</option> | |
| 40 <option value="poisson_average">Poisson Average</option> | |
| 41 <option value="random">Random</option> | |
| 42 </param> | |
| 43 <param argument="--attributes" type="text" optional="true" label="Attributes" help="Comma-separated list of attributes to include in output (e.g., 'rgb,intensity,classification'). Leave empty to use defaults." > | |
| 44 <validator type="regex" message="Only letters and commas are allowed">^[a-zA-Z,]+$</validator> | |
| 45 </param> | |
| 46 <param argument="--keep-chunks" type="boolean" truevalue="--keep-chunks" falsevalue="" checked="false" label="Keep Chunks" help="Skip deleting temporary chunks during conversion" /> | |
| 47 <param argument="--no-chunking" type="boolean" truevalue="--no-chunking" falsevalue="" checked="false" label="No Chunking" help="Disable chunking phase" /> | |
| 48 <param argument="--no-indexing" type="boolean" truevalue="--no-indexing" falsevalue="" checked="false" label="No Indexing" help="Disable indexing phase" /> | |
| 49 <param name="generate_page" type="text" optional="true" label="Generate Page" help="Generate a ready-to-use web page with the given name (e.g., 'viewer'). Leave empty to skip page generation."> | |
| 50 <validator type="regex" message="Only letters are allowed">^[a-zA-Z,]</validator> | |
| 51 </param> | |
| 52 </inputs> | |
| 53 <outputs> | |
| 54 <!-- Collection output - discovers files in output directory --> | |
| 55 <collection name="potree_output" type="list" label="Potree Output"> | |
| 56 <discover_datasets pattern="(?P<designation>metadata)\.json$" directory="output" format="json" recurse="true"/> | |
| 57 <discover_datasets pattern="(?P<designation>hierarchy)\.bin$" directory="output" format="binary" recurse="true"/> | |
| 58 <discover_datasets pattern="(?P<designation>octree)\.bin$" directory="output" format="binary" recurse="true"/> | |
| 59 <discover_datasets pattern="(?P<designation>log)\.txt$" directory="output" format="txt" recurse="true"/> | |
| 60 <discover_datasets pattern="(?P<designation>.+)\.html$" directory="output" format="html"/> | |
| 61 </collection> | |
| 62 </outputs> | |
| 63 <tests> | |
| 64 <test expect_num_outputs="1"> | |
| 65 <param name="input" value="mikro.laz" ftype="laz"/> | |
| 66 <param name="generate_page" value="test"/> | |
| 67 <output_collection name="potree_output" type="list" count="5"> | |
| 68 <element name="metadata" ftype="json"> | |
| 69 <assert_contents> | |
| 70 <has_json_property_with_value property="points" value="12917" /> | |
| 71 </assert_contents> | |
| 72 </element> | |
| 73 <element name="hierarchy" ftype="binary"> | |
| 74 <assert_contents> | |
| 75 <has_size value="2500" delta="500"/> | |
| 76 </assert_contents> | |
| 77 </element> | |
| 78 <element name="octree" ftype="binary"> | |
| 79 <assert_contents> | |
| 80 <has_size value="135000" delta="50000"/> | |
| 81 </assert_contents> | |
| 82 </element> | |
| 83 <element name="log" ftype="txt"> | |
| 84 <assert_contents> | |
| 85 <has_text text="counting mikro.laz"/> | |
| 86 </assert_contents> | |
| 87 </element> | |
| 88 <element name="test" ftype="html"> | |
| 89 <assert_contents> | |
| 90 <has_text text='Potree.loadPointCloud("./pointclouds/test/metadata.json", "test"'/> | |
| 91 </assert_contents> | |
| 92 </element> | |
| 93 </output_collection> | |
| 94 </test> | |
| 95 </tests> | |
| 96 <help> | |
| 97 | |
| 98 **What it does** | |
| 99 | |
| 100 This tool converts LAS/LAZ point cloud files to the Potree octree format for efficient web-based visualization using the Potree viewer. | |
| 101 | |
| 102 **Key features:** | |
| 103 | |
| 104 1. **Octree Level-of-Detail (LOD)**: Creates an efficient hierarchical structure for progressive rendering | |
| 105 2. **Multiple compression options**: Supports BROTLI compression for smaller file sizes | |
| 106 3. **Flexible sampling methods**: Choose between Poisson, Poisson Average, or Random sampling | |
| 107 4. **Web-ready output**: Generates files that can be directly served for Potree viewer visualization | |
| 108 5. **Optional web page generation**: Can generate a ready-to-use HTML viewer page | |
| 109 | |
| 110 ----- | |
| 111 | |
| 112 **Input** | |
| 113 | |
| 114 - **Point Cloud Files**: Input LAS/LAZ files to convert | |
| 115 - **Encoding**: Compression type (BROTLI for compression, UNCOMPRESSED for raw data, DEFAULT) | |
| 116 - **Sampling Method**: Algorithm for point sampling during octree generation (Poisson, Poisson Average, Random) | |
| 117 - **Attributes**: Optional comma-separated list of point attributes to include in output | |
| 118 - **Keep Chunks**: Preserve temporary chunk files after conversion | |
| 119 - **No Chunking**: Disable the chunking phase | |
| 120 - **No Indexing**: Disable the indexing phase | |
| 121 - **Generate Page**: Create a web viewer page with the specified name | |
| 122 | |
| 123 ----- | |
| 124 | |
| 125 **Output** | |
| 126 | |
| 127 The tool produces a collection containing: | |
| 128 | |
| 129 - **metadata** (JSON): Metadata file describing the octree structure and point cloud properties | |
| 130 - **hierarchy** (binary): Binary file containing the octree hierarchy | |
| 131 - **octree** (binary): Binary file containing the point data | |
| 132 - **log** (text): Conversion log file | |
| 133 | |
| 134 When **Generate Page** is specified (e.g., "viewer"): | |
| 135 | |
| 136 - **{name}** (HTML): Ready-to-use HTML page for visualizing the point cloud | |
| 137 | |
| 138 Note: The libs/ folder required for the web viewer is not included in outputs. | |
| 139 For production use, get the Potree libraries from: https://github.com/potree/potree/tree/develop/libs | |
| 140 | |
| 141 ----- | |
| 142 | |
| 143 **Workflow Integration** | |
| 144 | |
| 145 This tool converts point cloud data to an optimized web visualization format using PotreeConverter's octree algorithm. | |
| 146 The output can be served via a web server and visualized using the Potree viewer. | |
| 147 | |
| 148 </help> | |
| 149 <creator> | |
| 150 <organization name="3Dtrees-Team, University of Freiburg" url="https://github.com/3dTrees-earth"/> | |
| 151 </creator> | |
| 152 <citations> | |
| 153 <citation type="bibtex">@misc{potreeconverter, title = {PotreeConverter: Create multi-resolution octree structure}, author = {Markus Schütz}, year = {2024}, url = {https://github.com/potree/PotreeConverter}}</citation> | |
| 154 <citation type="bibtex"> | |
| 155 @misc{3dtrees_potree, title = {3Dtrees: Potree Converter}, author = {3Dtrees-Project}, year = {2025}} | |
| 156 </citation> | |
| 157 </citations> | |
| 158 </tool> |
