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&lt;designation&gt;metadata)\.json$" directory="output" format="json" recurse="true"/>
57 <discover_datasets pattern="(?P&lt;designation&gt;hierarchy)\.bin$" directory="output" format="binary" recurse="true"/>
58 <discover_datasets pattern="(?P&lt;designation&gt;octree)\.bin$" directory="output" format="binary" recurse="true"/>
59 <discover_datasets pattern="(?P&lt;designation&gt;log)\.txt$" directory="output" format="txt" recurse="true"/>
60 <discover_datasets pattern="(?P&lt;designation&gt;.+)\.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>