comparison 3dtrees_potree.xml @ 1:bd474d8124e3 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/3dtrees_potree commit b02bdb3361bc38ec2bc5efce09deed609eee26ba
author bgruening
date Fri, 06 Feb 2026 10:16:06 +0000
parents 3104b1edd779
children
comparison
equal deleted inserted replaced
0:3104b1edd779 1:bd474d8124e3
1 <tool id="3dtrees_potree" name="3Dtrees: Potree Converter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2"> 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> 2 <description>Convert LAS/LAZ point clouds to Potree octree format for web visualization</description>
3 <macros> 3 <macros>
4 <token name="@TOOL_VERSION@">1.0.0</token> 4 <token name="@TOOL_VERSION@">1.0.0</token>
5 <token name="@VERSION_SUFFIX@">0</token> 5 <token name="@VERSION_SUFFIX@">1</token>
6 </macros> 6 </macros>
7 <requirements> 7 <requirements>
8 <container type="docker">ghcr.io/3dtrees-earth/3dtrees_potree:@TOOL_VERSION@</container> 8 <container type="docker">ghcr.io/3dtrees-earth/3dtrees_potree:@TOOL_VERSION@</container>
9 </requirements> 9 </requirements>
10 <command detect_errors="exit_code"><![CDATA[ 10 <command detect_errors="exit_code"><![CDATA[
21 --attributes '$attributes' 21 --attributes '$attributes'
22 #end if 22 #end if
23 $keep_chunks 23 $keep_chunks
24 $no_chunking 24 $no_chunking
25 $no_indexing 25 $no_indexing
26 $generate_page
26 #if $generate_page 27 #if $generate_page
27 --generate-page '$generate_page' 28 &&
29
30 ## Setup HTML with extra files for Galaxy viewing
31 cp output/potree-vis.html '$viewer_html' &&
32 mkdir -p '$viewer_html.files_path' &&
33 cp -r /opt/PotreeConverter/resources/page_template/libs '$viewer_html.files_path/' &&
34 cp -r output/pointclouds '$viewer_html.files_path/' &&
35 chmod -R a+rX '$viewer_html.files_path'
28 #end if 36 #end if
29 2>&1 37 2>&1
30 ]]> 38 ]]>
31 </command> 39 </command>
32 <inputs> 40 <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" /> 41 <param name="input" type="data" format="laz" multiple="true" label="Point Cloud Files" help="Input LAS/LAZ files to convert to Potree format" />
42 <param argument="--generate-page" type="boolean" truevalue="-p potree-vis" falsevalue="" checked="false" label="Generate interactive Viewer" help="Generate a ready-to-use HTML viewer page for in-Galaxy visualization" />
34 <param argument="--encoding" type="select" label="Encoding" help="Compression encoding for output"> 43 <param argument="--encoding" type="select" label="Encoding" help="Compression encoding for output">
35 <option value="BROTLI" selected="true">Brotli</option> 44 <option value="BROTLI" selected="true">Brotli</option>
36 <option value="UNCOMPRESSED">Uncompressed</option> 45 <option value="UNCOMPRESSED">Uncompressed</option>
37 </param> 46 </param>
38 <param argument="--method" type="select" label="Sampling Method" help="Point sampling method for octree generation"> 47 <param argument="--method" type="select" label="Sampling Method" help="Point sampling method for octree generation">
44 <validator type="regex" message="Only letters and commas are allowed">^[a-zA-Z,]+$</validator> 53 <validator type="regex" message="Only letters and commas are allowed">^[a-zA-Z,]+$</validator>
45 </param> 54 </param>
46 <param argument="--keep-chunks" type="boolean" truevalue="--keep-chunks" falsevalue="" checked="false" label="Keep Chunks" help="Skip deleting temporary chunks during conversion" /> 55 <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" /> 56 <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" /> 57 <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> 58 </inputs>
53 <outputs> 59 <outputs>
60 <!-- HTML viewer for in-Galaxy viewing (when generate_page is specified) -->
61 <data name="viewer_html" format="html" label="Potree Visualization">
62 <filter>generate_page</filter>
63 </data>
54 <!-- Collection output - discovers files in output directory --> 64 <!-- Collection output - discovers files in output directory -->
55 <collection name="potree_output" type="list" label="Potree Output"> 65 <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"/> 66 <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"/> 67 <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"/> 68 <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"/> 69 <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> 70 </collection>
62 </outputs> 71 </outputs>
63 <tests> 72 <tests>
64 <test expect_num_outputs="1"> 73 <test expect_num_outputs="2">
65 <param name="input" value="mikro.laz" ftype="laz"/> 74 <param name="input" value="mikro.laz" ftype="laz"/>
66 <param name="generate_page" value="test"/> 75 <param name="generate_page" value="true"/>
67 <output_collection name="potree_output" type="list" count="5"> 76 <!-- HTML viewer for Galaxy -->
77 <output name="viewer_html" ftype="html">
78 <assert_contents>
79 <has_text text='Potree.loadPointCloud("./pointclouds/potree-vis/metadata.json", "potree-vis"'/>
80 </assert_contents>
81 </output>
82 <!-- Collection output for octree data -->
83 <output_collection name="potree_output" type="list" count="4">
68 <element name="metadata" ftype="json"> 84 <element name="metadata" ftype="json">
69 <assert_contents> 85 <assert_contents>
70 <has_json_property_with_value property="points" value="12917" /> 86 <has_json_property_with_value property="points" value="12917" />
71 </assert_contents> 87 </assert_contents>
72 </element> 88 </element>
81 </assert_contents> 97 </assert_contents>
82 </element> 98 </element>
83 <element name="log" ftype="txt"> 99 <element name="log" ftype="txt">
84 <assert_contents> 100 <assert_contents>
85 <has_text text="counting mikro.laz"/> 101 <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> 102 </assert_contents>
92 </element> 103 </element>
93 </output_collection> 104 </output_collection>
94 </test> 105 </test>
95 </tests> 106 </tests>
131 - **octree** (binary): Binary file containing the point data 142 - **octree** (binary): Binary file containing the point data
132 - **log** (text): Conversion log file 143 - **log** (text): Conversion log file
133 144
134 When **Generate Page** is specified (e.g., "viewer"): 145 When **Generate Page** is specified (e.g., "viewer"):
135 146
136 - **{name}** (HTML): Ready-to-use HTML page for visualizing the point cloud 147 - **{name} Potree Viewer** (HTML): Interactive viewer that can be viewed directly in Galaxy
148 - Note: This tool is meant for visualization - other tools (eg. measurements, camera) may not work properly
149 - Includes libs/ and pointclouds/ as extra files
137 150
138 Note: The libs/ folder required for the web viewer is not included in outputs. 151 - **{name} Potree Viewer Package (Download)** (ZIP): Self-contained package for local use
139 For production use, get the Potree libraries from: https://github.com/potree/potree/tree/develop/libs 152 - Download, extract, and open files in PotreeViewer.
140 153
141 ----- 154 -----
142 155
143 **Workflow Integration** 156 **Workflow Integration**
144 157
145 This tool converts point cloud data to an optimized web visualization format using PotreeConverter's octree algorithm. 158 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. 159 The output can be downloaded and visualized using the Potree viewer.
147 160
148 </help> 161 </help>
149 <creator> 162 <creator>
150 <organization name="3Dtrees-Team, University of Freiburg" url="https://github.com/3dTrees-earth"/> 163 <organization name="3Dtrees-Team, University of Freiburg" url="https://github.com/3dTrees-earth"/>
151 </creator> 164 </creator>