annotate palom_svs.xml @ 1:69f8e01b2e17 draft

"planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit a19fd3bd500b83efe504234f3306b41e0334312d"
author watsocam
date Wed, 18 May 2022 22:55:21 +0000
parents b66b59713319
children e30f622ef2c3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
69f8e01b2e17 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit a19fd3bd500b83efe504234f3306b41e0334312d"
watsocam
parents: 0
diff changeset
1 <tool id="palom" name="palom" version="2021.12.0.1">
0
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
2 <description>Piecewise alignment for layers of mosaics. A tool for registering whole-slide images with different IHC stainings</description>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
3 <macros>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
4 <import>macros.xml</import>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
5 </macros>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
6 <expand macro="requirements" />
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
7 <command detect_errors="exit_code"><![CDATA[
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
8
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
9 ln -s "$reference_image" ./ref.svs &&
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
10
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
11 ln -s "$channels" ./channels.csv &&
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
12
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
13 #for $i in $moving_images:
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
14 ln -s "$i" "${i.name}" &&
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
15 #end for
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
16
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
17 python "$script"
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
18
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
19 ]]></command>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
20 <configfiles>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
21 <configfile name = "script">
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
22 import os
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
23 import pathlib
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
24 import pandas as pd
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
25 import palom
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
26 from palom.cli.svs import run_palom
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
27
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
28 cwd = os.getcwd()
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
29
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
30 ref_img = pathlib.Path(os.path.join(cwd,"ref.svs"))
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
31
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
32 images = [ref_img]
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
33 channels = ["hematoxylin"]
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
34 modes = ["hematoxylin"]
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
35
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
36 #for $i in $moving_images:
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
37 img = pathlib.Path("${i.name}")
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
38 images.append(img)
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
39 #end for
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
40
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
41 channel_df = pd.read_csv(os.path.join(cwd, "channels.csv"))
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
42 channel_df = channel_df.astype({'channel':'string'})
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
43 channels += list(channel_df['channel'])
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
44 modes += list(channel_df['mode'])
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
45
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
46 pixel_size = None
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
47
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
48 #if $pixel_size:
1
69f8e01b2e17 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit a19fd3bd500b83efe504234f3306b41e0334312d"
watsocam
parents: 0
diff changeset
49 pixel_size = float($pixel_size)
0
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
50 #end if
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
51
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
52 level = 0
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
53
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
54 #if $level:
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
55 level = int($level)
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
56 #end if
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
57
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
58 output_path = pathlib.Path(os.path.join(cwd, "registered.ome.tiff"))
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
59
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
60 qc_path = output_path.parent / 'qc'
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
61
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
62 os.mkdir(qc_path)
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
63
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
64 run_palom(
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
65 img_paths = images,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
66 img_modes = modes,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
67 pixel_size = pixel_size,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
68 channel_names = channels,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
69 output_path = output_path,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
70 qc_path = qc_path,
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
71 level = level
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
72 )
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
73 </configfile>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
74 </configfiles>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
75 <inputs>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
76 <param name="reference_image" type="data" format="tiff" label="Hematoxylin reference image" help="An H+E image in .svs format"/>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
77 <param name="moving_images" type="data_collection" label="Moving Images (data collection)" help="A collection of svs-format images to align to the reference image"/>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
78 <param name="channels" type="data" label="Channel and mode dataframe" help="A CSV file with 'channel' and 'mode' columns, with a row corresponding to each moving image"/>
1
69f8e01b2e17 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit a19fd3bd500b83efe504234f3306b41e0334312d"
watsocam
parents: 0
diff changeset
79 <param name="pixel_size" type="float" optional="true" label="Pixel Size" help="defaults to px size of reference image"/>
0
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
80 <param name="level" type="integer" optional="true" label="Level" help="pyramid level, defaults to 0 (lowest level)"/>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
81 </inputs>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
82 <outputs>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
83 <collection name="qc_plots" type="list" label="${tool.name}: qc_plots">
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
84 <discover_datasets pattern="__name_and_ext__" directory="qc" ext="png" visible="false"/>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
85 </collection>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
86 <data name="registered" from_work_dir="registered.ome.tiff" format="ome.tiff"/>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
87 </outputs>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
88 <help><![CDATA[
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
89 # PALOM
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
90 registration of whole-slide images with different IHC stainings
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
91
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
92 Tool github: https://github.com/Yu-AnChen/palom
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
93
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
94 # Main developer
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
95
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
96 Yu-An Chen (https://github.com/Yu-AnChen)
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
97 ]]></help>
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
98 <expand macro="citations" />
b66b59713319 "planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/palom commit 84aa6670d94fc7c7ef3178c606896f678119559e"
watsocam
parents:
diff changeset
99 </tool>