mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Requirements
Set OTB environment
export PYTHONPATH=/path/to/OTB/install/lib/otb/python/:$PYTHONPATH
# Environment variable for old OTB versions (< 5.2)
export ITK_AUTOLOAD_PATH=/path/to/OTB/install/lib/otb/applications/
# Environment variable for new OTB versions (>= 5.2)
export OTB_APPLICATION_PATH=/path/to/OTB/install/lib/otb/applications/
# Set LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/path/to/OTB/install/lib/:$LD_LIBRARY_PATH
Set QGIS environment
export QGIS_PREFIX_PATH=/path/to/QGIS/install
export PYTHONPATH=$QGIS_PREFIX_PATH/share/qgis/python:$QGIS_PREFIX_PATH/share/qgis/python/plugins:$PYTHONPATH
# Set LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$QGIS_PREFIX_PATH/lib/:$LD_LIBRARY_PATH
# Add maintenance folder to python path
export PYTHONPATH=/path/to/QGIS/src/python/plugins/processing/algs/otb/maintenance:$PYTHONPATH
Check the white and black list for the current OTB version
In the maintenance directory, the OTB applications are split in two files black_list.xml
and white_list.xml
.
These files are organized as follows. For each OTB version, a new node version with id as attribute is added
to the node data. Each application is then added in the node app_name.
<?xml version="1.0"?>
<data>
<version id="3.16">
<app_name>BinaryMorphologicalOperation</app_name>
<app_name>EdgeExtraction</app_name>
<app_name>GrayScaleMorphologicalOperation</app_name>
<app_name>DimensionalityReduction</app_name>
<app_name>Pansharpening</app_name>
<app_name>ExtractROI</app_name>
<app_name>RigidTransformResample</app_name>
<app_name>Segmentation</app_name>
<app_name>KMeansClassification</app_name>
<app_name>TrainSVMImagesClassifier</app_name>
<app_name>ComputeConfusionMatrix</app_name>
<app_name>OpticalCalibration</app_name>
<app_name>SarRadiometricCalibration</app_name>
<app_name>Smoothing</app_name>
</version>
</data>
The list of available applications for each version is not fixed.
OTBSpecific_XMLcreation.py
Warning: Some of the applications needs to be split to be user-friendly. Here comes the file OTBSpecific_XMLcreation.py
.
Each function follows the pattern getNameOfTheOTBApplication()
.
Creating xml files
cd /path/to/QGIS/src/python/plugins/processing/algs/otb/maintenance
python ./OTBHelper.py