Mercurial > repos > ecology > srs_pca
diff pca_raster.xml @ 0:79bcb8c6dff0 draft
planemo upload for repository https://github.com/Marie59/Sentinel_2A/srs_tools commit b32737c1642aa02cc672534e42c5cb4abe0cd3e7
author | ecology |
---|---|
date | Mon, 09 Jan 2023 13:55:34 +0000 |
parents | |
children | 9300a492b634 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pca_raster.xml Mon Jan 09 13:55:34 2023 +0000 @@ -0,0 +1,120 @@ +<tool id="srs_pca" name="Compute a PCA raster" version="@VERSION@" profile = "20.01"> + <description>from remote sensing data</description> + <macros> + <import>macro.xml</import> + </macros> + <expand macro="SRS_requirements"/> + <command detect_errors="exit_code"><![CDATA[ + #import re + #if $method.origin == 'envi_bil': + #set input_raster = $method.input_raster + #set input_raster_identifier = re.sub('[^\s\w\-]', '_', str($input_raster.element_identifier)) + #set input_header = $method.input_header + #set input_header_identifier = re.sub('[^\s\w\-]+[^.hdr]', '_', str($input_header.element_identifier)) + cp '${input_raster}' '${input_raster_identifier}' && + cp '${input_header}' '${input_header_identifier}' && + #end if + Rscript + '$__tool_directory__/pca_raster.r' + #if $method.origin == 'envi_bil': + '$input_raster_identifier' + '$input_header_identifier' + '' + #else: + '' + '' + '$method.input' + #end if + '$type' + '$__tool_directory__/functions.r' + '$output_raster' + '$output_pca' + '$plots' + ]]> + </command> + <inputs> + <conditional name="method"> + <param name="origin" type="select" label="In which format are your data ?"> + <option value="zipper">The data you are using are in a zip folder Reflectance</option> + <option value="envi_bil">Your already have the files ENVI BIL</option> + </param> + <when value="zipper"> + <param name="input" type="data" format="zip" multiple="true" label="Input data"/> + </when> + <when value="envi_bil"> + <param name="input_raster" type="data" format="bil" label="Input raster"/> + <param name="input_header" type="data" format="hdr" label="Input raster header"/> + </when> + </conditional> + <param name="type" type="select" label="Do you want to do a PCA or a SPCA ?" display="radio" help="If you choose PCA there is no rescaling of the data as oppposed as if you choose SPCA"> + <option value="SPCA">SPCA</option> + <option value="PCA">PCA</option> + </param> + </inputs> + <outputs> + <collection type="list" name="output_raster" label="PCA raster"> + <discover_datasets pattern="(?P<designation>.+)" directory="RESULTS/" visible="false" recurse="true" format="bil,hdr"/> + </collection> + <data name="output_pca" from_work_dir="PCA.tabular" format="tabular" label="PCA tabular"/> + <collection type="list" name="plots" label="PCA plot"> + <discover_datasets pattern="(?P<designation>.+)\.png" visible="false" format="png"/> + </collection> + </outputs> + <tests> + <test> + <param name="origin" value="envi_bil"/> + <param name="input_raster" value="S2A_Subset"/> + <param name="input_header" value="S2A_Subset.hdr"/> + <param name="type" value="PCA"/> + <output_collection name="output_raster" type="list" count="5"/> + <output name="output_pca"> + <assert_contents> + <has_n_lines n="960435"/> + </assert_contents> + </output> + <output_collection name="plots" type="list" count="1"/> + </test> + </tests> + <help><![CDATA[ +======================================================================== +Process satellite remote sensing data to produce biodiversity indicators +======================================================================== + + +**What it does** + +Féret and Asner (2014) developed a method for **tropical forest** diversity mapping based on very high spatial resolution airborne imaging spectroscopy. + +The goal of this tool using the package biodivMapR is to produce a Principal Components Analysis (PCA) based on (optical) images. Principal component analysis prepares for feature extraction in order to reduce noise in the image. It is performed on a random subset of the image to ensure computational efficiency for large images. + +**Input description** + +It expects an image file as input, with a specific data format. ENVI HDR image with BIL interleave required. +The image is an ENVI raster including : + +- A binary file (which has no extension here). + +- A header file (with .hdr extension). + +The header file is a text file including all necessary metadata which can be read with a text editor. It includes image dimensions, projection, and the name and central wavelength for each spectral band. + +In order to get such input we advise to use the tool preprocessing sentinel 2 data. + ++--------------+----------+ +| BIL | ENVI HDR | ++==============+==========+ +| raster stack | Metadata | ++--------------+----------+ +| ... | ... | ++--------------+----------+ + +**Output** + +- One tabular with 3 columns : longitude, latitude and pca. + +- One png graph. + +- One ENVI BIL files with the one file for the bil raster and one file for the hdr header. + ]]> </help> + <expand macro="SRS_BDMRref"/> +</tool>