I am trying to apply a GPF XML processing workflow to S1A_IW_GRDH_1SXX… data containers, but the different polarisations are causing issues because the ‘band names’ are hard coded into my
bandExpression. For example;
<node id="BandMaths"> <operator>BandMaths</operator> <sources> <sourceProduct refid="LinearTodB"/> </sources> <parameters class="com.bc.ceres.binding.dom.XppDomElement"> <targetBands/> <variables/> <bandName>water_mask_threshold</bandName> <bandUnit/> <bandNodataValue>NaN</bandNodataValue> <bandExpression>if Sigma0_VH_db > $thresh_Sigma0_VH_db and Sigma0_VV_db > $thresh_Sigma0_VV_db then NaN else 1</bandExpression> </parameters> </node>
Is there a mechanism for passing ‘relative’ band names in the bandExpression?
For other operators leaving
<sourceBands/> with no value appears to default to all bands in an image and for other image specific arguments I am dynamically generating and using the
$argument constructor in the generic GPF XML, for this case I am considering dynamically replacing the XML node, but I wanted to check in case I missed something and there was a simpler solution.
Any tips appreciated.