view ashlar.xml @ 3:ef68bc2a4dbc draft default tip

planemo upload for repository https://github.com/ohsu-comp-bio/ashlar commit 69f200fcfa0b1d17de50466c51d8c5468fdeb54c
author goeckslab
date Fri, 09 Feb 2024 22:48:46 +0000
parents 33ab2058c6d9
children
line wrap: on
line source

<tool id="ashlar" name="ASHLAR" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="19.01">
    <description>Alignment by Simultaneous Harmonization of Layer/Adjacency Registration</description>
    <macros>
        <import>macros.xml</import>
    </macros>
 
    <expand macro="requirements"/>
    <expand macro="version_cmd"/>

    <command detect_errors="aggressive"><![CDATA[

        #def clean(file,type)
          #set name_clean = str($file.element_identifier).replace('.ome.tiff','').replace('.tiff','').replace('.tiff.','')

          #if $type == "raw"
            #set file_clean = $name_clean + '.ome.tiff'
          #elif $type == "ffp"
            #set file_clean = $name_clean + '_ffp.ome.tiff'
          #elif $type == "dfp"
            #set file_clean = $name_clean + '_dfp.ome.tiff'
          #end if

          #return $file_clean
        #end def

        ## Link the illumination files to appropriate file extension
        #if $ldfp
            #for $dfp in $ldfp:
                ln -s '$dfp' '$clean($dfp,"dfp")' &&
            #end for
        #end if

        #if $lffp
            #for $ffp in $lffp:
                ln -s '$ffp' '$clean($ffp,"ffp")' &&
            #end for
        #end if

        @CMD_BEGIN@

        ## Supply the raw images
        #for $raw in $lraw:
            '$raw'
        #end for

        ## Additional arguments
        -m $max_shift

        $flip_x
        $flip_y

        -c $adv.align_channel

        #if $adv.stitch_alpha
        --stitch-alpha $adv.stitch_alpha
        #end if

        #if $adv.filter_sigma
        --filter-sigma $adv.filter_sigma
        #end if

        #if $adv.tile_size
        --tile-size $adv.tile_size
        #end if

        #if $lffp
        --ffp
            #for $ffp in $lffp:
                '$clean($ffp,"ffp")'
            #end for
        #end if

        #if $ldfp
        --dfp
            #for $dfp in $ldfp:
                '$clean($dfp,"dfp")'
            #end for
        #end if

        $adv.flip_mosaic_x
        $adv.flip_mosaic_y

        -o registered.ome.tif;
    ]]></command>

    <inputs>
        <param name="lraw" type="data_collection" format="ome.tiff,tiff" collection_type="list" label="Raw Images"/>
        <param name="ldfp" type="data_collection" format="ome.tiff,tiff" collection_type="list" optional="true" label="Deep Field Profile Images"/>
        <param name="lffp" type="data_collection" format="ome.tiff,tiff" collection_type="list" optional="true" label="Flat Field Profile Images"/>
        <param name="flip_x" type="boolean" truevalue="--flip-x" falsevalue="" label="Flip X-axis"/>
        <param name="flip_y" type="boolean" truevalue="--flip-y" falsevalue="" label="Flip Y-axis"/>
        <param name="max_shift" type="integer" value="30" label="Maximum allowed per-tile corrective shift" help="In micros"/>
        <section name="adv" title="Advanced Options" expanded="false">
            <param name="align_channel" type="integer" value="0" label="Align Channel Number"/>
            <param name="stitch_alpha" type="float" optional="true" label="Alpha"/>
            <param name="filter_sigma" type="float" optional="true" label="Sigma"/>
            <param name="tile_size" type="integer"  optional="true" label="Cyto Mask Channel"/>
            <param name="flip_mosaic_x" type="boolean" truevalue="--flip-mosaic-x" falsevalue="" label="Flip output image horizontally"/>
            <param name="flip_mosaic_y" type="boolean" truevalue="--flip-mosaic-y" falsevalue="" label="Flip output image vertically"/>
        </section>
    </inputs>

    <outputs>
        <data format="ome.tiff" name="output" from_work_dir="registered.ome.tif" label="${tool.name} on ${on_string}"/>
    </outputs>
    <tests>
        <test>
            <param name="lraw">
                <collection type="list">
                    <element name="rR1" value="ashlar_test_c0.tiff" />
                    <element name="rR2" value="ashlar_test_c1.tiff" />
                </collection>
            </param>
            <output name="output" ftype="ome.tiff">
                <assert_contents>
                    <has_size value="500000" delta="400000" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
--------------------------------------------------------------------------------
ASHLAR: Alignment by Simultaneous Harmonization of Layer/Adjacency Registration
--------------------------------------------------------------------------------

**Whole-slide microscopy image stitching and registration in Python**

**Ashlar** performs fast, high-quality stitching of microscopy images. It also
co-registers multiple rounds of cyclic imaging for methods such as CyCIF and
CODEX. Ashlar can read image data directly from BioFormats-supported microscope
vendor file formats as well as a directory of plain TIFF files. Output is saved
as pyramidal, tiled OME-TIFF.

Note that Ashlar requires unstitched individual "tile" images as input, so it is
not suitable for microscopes or slide scanners that only provide pre-stitched
images.

*Visit https://labsyspharm.github.io/ashlar/ for the most up-to-date information on ASHLAR.*
    ]]></help>
    <expand macro="citations" />
</tool>