changeset 4:a9f10dceb17e draft default tip

planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/libcarna/ commit 99d6ebe67515f1362ea4412b143ab2a140c8d631
author imgteam
date Tue, 13 Jan 2026 12:21:55 +0000
parents 31a2e1909ae5
children
files render.py render.xml
diffstat 2 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/render.py	Tue Jan 06 11:26:05 2026 +0000
+++ b/render.py	Tue Jan 13 12:21:55 2026 +0000
@@ -70,6 +70,7 @@
             GEOMETRY_TYPE_INTENSITIES,
             intensities.normalize_axes_like(tool.args.params['axes']).data,
             parent=root,
+            units=tool.args.params['units'],
             spacing=[
                 {
                     'X': intensities.metadata.pixel_size[0] or 1,
@@ -123,6 +124,7 @@
                         value if val_type == 'relative' else intensities_volume.normalized(value),
                     )
                 cmap_kwargs['ramp'] = tuple(ramp_values)
+                cmap_kwargs['n_samples'] = 1000  # high precision is required when sampling ramps to avoid "soft" corners
             mode.cmap(tool.args.params['colormap'], **cmap_kwargs)
 
         # Render
--- a/render.xml	Tue Jan 06 11:26:05 2026 +0000
+++ b/render.xml	Tue Jan 13 12:21:55 2026 +0000
@@ -5,10 +5,10 @@
         <import>validators.xml</import>
         <import>colormaps.xml</import>
         <token name="@TOOL_VERSION@">0.2.0</token>
-        <token name="@VERSION_SUFFIX@">1</token>
-        <xml name="params/intensity" tokens="name,label,value">
-            <section name="@NAME@" title="@LABEL@" expanded="true">
-                <param name="type" type="select" label="@LABEL@"
+        <token name="@VERSION_SUFFIX@">2</token>
+        <xml name="params/intensity" tokens="name,label,value,help" token_help="">
+            <section name="@NAME@" title="@LABEL@" expanded="true" help="@HELP@">
+                <param name="type" type="select" label="Type of the intensity value"
                        help="For relative intensity values, 0 is the minimum intensity of the image, and 1 is the maximum intensity.">
                     <option value="absolute">Absolute intensity value</option>
                     <option value="relative" selected="true">Relative intensity value</option>
@@ -24,8 +24,10 @@
                     <option value="true">Enabled</option>
                 </param>
                 <when value="true">
-                    <expand macro="params/intensity" name="start" value="0" label="Ramp start"/>
-                    <expand macro="params/intensity" name="end" value="0.5" label="Ramp end"/>
+                    <expand macro="params/intensity" name="start" value="0" label="Ramp start"
+                            help="Image voxels with this intensity and below will be invisible."/>
+                    <expand macro="params/intensity" name="end" value="0.5" label="Ramp end"
+                            help="Image voxels with this intensity and above will have full visibility."/>
                 </when>
                 <when value="false"/>
             </conditional>
@@ -116,6 +118,7 @@
                 #end if
 
                 "sample_rate": $sample_rate,
+                "units": "$units",
                 "axes": "$axes",
                 "width": $width,
                 "height": $height,
@@ -171,6 +174,10 @@
             <expand macro="validators/is_single_frame"/>
             <expand macro="validators/is_3d"/>
         </param>
+        <param name="units" type="select" label="Unit of the intensity values">
+            <option value="raw" selected="true">No unit</option>
+            <option value="hu">Hounsfield</option>
+        </param>
         <param name="axes" type="select" label="Coordinate system">
             <option value="XZY" selected="true">Point Z to the top</option>
             <option value="XYZ">Point Y to the top</option>