13,998 changes: 8,524 additions & 5,474 deletions i18n/qgis_sr_CS-Latn.ts → i18n/qgis_sr_Latn.ts

Large diffs are not rendered by default.

File renamed without changes
Binary file added images/flags/sr_Latn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
969 changes: 485 additions & 484 deletions images/images.qrc

Large diffs are not rendered by default.

Binary file added images/themes/default/mActionExpandNewTree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions python/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
SET (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)

ADD_SUBDIRECTORY(plugins)
ADD_SUBDIRECTORY(qsci_apis)

SET (PYTHON_OUTPUT_DIRECTORY ${QGIS_OUTPUT_DIRECTORY}/python)
SET (QGIS_PYTHON_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/qgis)

IF (WITH_PYSPATIALITE)
ADD_SUBDIRECTORY(pyspatialite)
ENDIF (WITH_PYSPATIALITE)
Expand All @@ -15,6 +14,7 @@ IF (WITH_INTERNAL_SPATIALITE)
)
ENDIF (WITH_INTERNAL_SPATIALITE)

SET (QGIS_PYTHON_OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}/qgis)
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY})
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QGIS_PYTHON_OUTPUT_DIRECTORY})

Expand Down
20 changes: 14 additions & 6 deletions python/console.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,16 @@ def show_console():
parent = iface.mainWindow() if iface else None
_console = PythonConsole( parent )
_console.show() # force show even if it was restored as hidden

# set focus to the console so the user can start typing
# defer the set focus event so it works also whether the console not visible yet
QTimer.singleShot(0, _console.activate)
else:
_console.setVisible(not _console.isVisible())

# set focus to the edit box so the user can start typing
if _console.isVisible():
_console.activateWindow()
_console.setFocus()
# set focus to the console so the user can start typing
if _console.isVisible():
_console.activate()

_old_stdout = sys.stdout
_console_output = None
Expand Down Expand Up @@ -78,11 +81,18 @@ def __init__(self, parent=None):

self.console = PythonConsoleWidget(self)
self.setWidget( self.console )
self.setFocusProxy( self.console )

# try to restore position from stored main window state
if iface and not iface.mainWindow().restoreDockWidget(self):
iface.mainWindow().addDockWidget(Qt.BottomDockWidgetArea, self)

def activate(self):
self.activateWindow()
self.raise_()
QDockWidget.setFocus(self)


class PythonConsoleWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
Expand Down Expand Up @@ -262,8 +272,6 @@ def __init__(self, parent=None):

self.e.addWidget(self.widgetButton)
self.e.addWidget(self.edit)

self.edit.setFocus()

self.clearButton.triggered.connect(self.edit.clearConsole)
self.optionsButton.triggered.connect(self.openSettings)
Expand Down
63 changes: 17 additions & 46 deletions python/core/raster/qgsrasterdataprovider.sip
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ class QgsRasterDataProvider : QgsDataProvider, QgsRasterInterface
Histogram,
Size,
Create,
Remove
Remove,
IdentifyValue,
IdentifyText,
IdentifyHtml,
IdentifyFeature
};

// This is modified copy of GDALColorInterp
Expand All @@ -54,6 +58,14 @@ class QgsRasterDataProvider : QgsDataProvider, QgsRasterInterface
/*! Max current value */ ColorInterpretationMax = 17
};

enum IdentifyFormat
{
IdentifyFormatValue,
IdentifyFormatText,
IdentifyFormatHtml,
IdentifyFormatFeature
};

// Progress types
enum RasterProgressType
{
Expand Down Expand Up @@ -135,12 +147,12 @@ class QgsRasterDataProvider : QgsDataProvider, QgsRasterInterface
// TODO: Get the file masks supported by this provider, suitable for feeding into the file open dialog box

/** Returns data type for the band specified by number */
virtual QgsRasterBlock::DataType dataType( int bandNo ) const;
virtual QgsRasterBlock::DataType dataType( int bandNo ) const = 0;

/** Returns source data type for the band specified by number,
* source data type may be shorter than dataType
*/
virtual QgsRasterBlock::DataType srcDataType( int bandNo ) const;
virtual QgsRasterBlock::DataType srcDataType( int bandNo ) const = 0;

/** Returns data type for the band specified by number */
virtual int colorInterpretation( int theBandNo ) const;
Expand Down Expand Up @@ -304,47 +316,9 @@ class QgsRasterDataProvider : QgsDataProvider, QgsRasterInterface
*/
virtual QString metadata() = 0;

/** \brief Identify raster value(s) found on the point position
* @param point coordinates in data source CRS
* @return list of pointers to data blocks for all bands,
* caller is responsible to free the allocated memory,
* readValue() may be used to get values
* @note theBinCount, theMinimun and theMaximum not optional in python bindings
*/
// TODO: Consider QVariant or similar instead of void*
// virtual QMap<int, void *> identify( const QgsPoint & point );
virtual QMap<int, QVariant> identify( const QgsPoint & thePoint, IdentifyFormat theFormat, const QgsRectangle &theExtent = QgsRectangle(), int theWidth = 0, int theHeight = 0 );

/**
* \brief Identify details from a server (e.g. WMS) from the last screen update
*
* \param[in] point The pixel coordinate (as it was displayed locally on screen)
*
* \return A text document containing the return from the WMS server
*
* \note WMS Servers prefer to receive coordinates in image space, therefore
* this function expects coordinates in that format.
*
* \note The arbitraryness of the returned document is enforced by WMS standards
* up to at least v1.3.0
*/
virtual QString identifyAsText( const QgsPoint& point ) = 0;

/**
* \brief Identify details from a server (e.g. WMS) from the last screen update
*
* \param[in] point The pixel coordinate (as it was displayed locally on screen)
*
* \return A html document containing the return from the WMS server
*
* \note WMS Servers prefer to receive coordinates in image space, therefore
* this function expects coordinates in that format.
*
* \note The arbitraryness of the returned document is enforced by WMS standards
* up to at least v1.3.0
*
* \note added in 1.5
*/
virtual QString identifyAsHtml( const QgsPoint& point ) = 0;
QMap<QString, QString> identify( const QgsPoint & thePoint, const QgsRectangle &theExtent = QgsRectangle(), int theWidth = 0, int theHeight = 0 );

/**
* \brief Returns the caption error text for the last error in this provider
Expand Down Expand Up @@ -388,9 +362,6 @@ class QgsRasterDataProvider : QgsDataProvider, QgsRasterInterface
static QString makeTableCell( const QString & value );
static QString makeTableCells( const QStringList & values );

/** \brief Set null value in char */
QByteArray noValueBytes( int theBandNo );

/** Time stamp of data source in the moment when data/metadata were loaded by provider */
virtual QDateTime timestamp() const;

Expand Down
2 changes: 1 addition & 1 deletion python/core/raster/qgsrasterinterface.sip
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class QgsRasterInterface
virtual QgsRasterInterface * input() const;

/** Is on/off */
virtual bool on();
virtual bool on() const;

/** Set on/off */
virtual void setOn( bool on );
Expand Down
2 changes: 1 addition & 1 deletion python/core/raster/qgsrasteriterator.sip
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class QgsRasterIterator
int currentRow;
int nCols;
int nRows;
void* data; //data (can be in oversampled/undersampled resolution)
QgsRasterBlock *block;
QgsRasterProjector* prj; //raster projector (or 0 if no reprojection is done)
};

Expand Down
14 changes: 7 additions & 7 deletions python/core/raster/qgsrasterlayer.sip
Original file line number Diff line number Diff line change
Expand Up @@ -305,21 +305,21 @@ class QgsRasterLayer : QgsMapLayer
bool hasCompatibleSymbology( const QgsMapLayer& theOther ) const;

/** \brief Identify raster value(s) found on the point position */
bool identify( const QgsPoint & point, QMap<QString, QString>& results /Out/ );
//bool identify( const QgsPoint & point, QMap<QString, QString>& results /Out/ );

/** \brief Identify raster value(s) found on the point position */
bool identifyMap( const QgsPoint & point, QMap<int, QString>& results /Out/ );
%MethodCode
sipRes = sipCpp->identify( *a0, *a1 );
%End
// bool identifyMap( const QgsPoint & point, QMap<int, QString>& results /Out/ );
//%MethodCode
// sipRes = sipCpp->identify( *a0, *a1 );
//%End

/** \brief Identify arbitrary details from the WMS server found on the point position */
QString identifyAsText( const QgsPoint & point );
//QString identifyAsText( const QgsPoint & point );

/** \brief Identify arbitrary details from the WMS server found on the point position
* @note added in 1.5
*/
QString identifyAsHtml( const QgsPoint & point );
//QString identifyAsHtml( const QgsPoint & point );

/** \brief Currently returns always false */
bool isEditable() const;
Expand Down
2 changes: 1 addition & 1 deletion python/gui/raster/qgsmultibandcolorrendererwidget.sip
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ class QgsMultiBandColorRendererWidget: QgsRasterRendererWidget
int selectedBand( int index = 0 );

public slots:
void loadMinMax( int theBandNo, double theMin, double theMax );
void loadMinMax( int theBandNo, double theMin, double theMax, int theOrigin );
};
17 changes: 17 additions & 0 deletions python/plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@

MACRO (PLUGIN_INSTALL plugin subdir )
INSTALL(FILES ${ARGN} DESTINATION ${QGIS_DATA_DIR}/python/plugins/${plugin}/${subdir})
STRING(REPLACE "/" "_" subdir_sane "${subdir}")
ADD_CUSTOM_TARGET(${plugin}_${subdir_sane}_stageinstall ALL DEPENDS ${ARGN})
FOREACH(file ${ARGN})
ADD_CUSTOM_COMMAND(TARGET ${plugin}_${subdir_sane}_stageinstall
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}
COMMAND ${CMAKE_COMMAND} -E copy ${file} ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
#COMMENT "copying ${file} to ${PYTHON_OUTPUT_DIRECTORY}/plugins/${plugin}/${subdir}"
)
ENDFOREACH(file)
ENDMACRO (PLUGIN_INSTALL)


ADD_SUBDIRECTORY(plugin_installer)
ADD_SUBDIRECTORY(mapserver_export)
ADD_SUBDIRECTORY(fTools)
Expand Down
9 changes: 2 additions & 7 deletions python/plugins/db_manager/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
SET (DB_MANAGER_PLUGIN_DIR ${QGIS_DATA_DIR}/python/plugins/db_manager)

ADD_SUBDIRECTORY(db_plugins)
ADD_SUBDIRECTORY(icons)

Expand All @@ -9,9 +7,6 @@ FILE(GLOB PY_FILES *.py)
FILE(GLOB UI_FILES ui/*.ui)
PYQT4_WRAP_UI(PYUI_FILES ${UI_FILES})
PYQT4_ADD_RESOURCES(PYRC_FILES resources.qrc)
ADD_CUSTOM_TARGET(db_manager ALL DEPENDS ${PYUI_FILES} ${PYRC_FILES})

INSTALL(FILES ${OTHER_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR})
INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR})
INSTALL(FILES ui/__init__.py ${PYUI_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR}/ui)
INSTALL(FILES ${PYRC_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR})
PLUGIN_INSTALL(db_manager . ${OTHER_FILES} ${PY_FILES} ${PYRC_FILES})
PLUGIN_INSTALL(db_manager ui ${PYUI_FILES} ui/__init__.py)
2 changes: 1 addition & 1 deletion python/plugins/db_manager/db_plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ ADD_SUBDIRECTORY(postgis)
ADD_SUBDIRECTORY(spatialite)

FILE(GLOB PY_FILES *.py)
INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR}/db_plugins)
PLUGIN_INSTALL(db_manager db_plugins ${PY_FILES})
9 changes: 3 additions & 6 deletions python/plugins/db_manager/db_plugins/postgis/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
SET (DB_MANAGER_POSTGIS_DIR ${DB_MANAGER_PLUGIN_DIR}/db_plugins/postgis)

FILE(GLOB PY_FILES *.py)
FILE(GLOB ICON_FILES icons/*.png)

PYQT4_ADD_RESOURCES(PYRC_FILES resources.qrc)
ADD_CUSTOM_TARGET(db_manager_postgis ALL DEPENDS ${PYRC_FILES})

INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_POSTGIS_DIR})
INSTALL(FILES ${PYRC_FILES} DESTINATION ${DB_MANAGER_POSTGIS_DIR})
INSTALL(FILES ${ICON_FILES} DESTINATION ${DB_MANAGER_POSTGIS_DIR}/icons)
PLUGIN_INSTALL(db_manager db_plugins/postgis ${PY_FILES} ${PYRC_FILES})
PLUGIN_INSTALL(db_manager db_plugins/postgis/icons ${ICON_FILES})

ADD_SUBDIRECTORY(plugins)

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
INSTALL(FILES __init__.py DESTINATION ${DB_MANAGER_POSTGIS_DIR}/plugins)

ADD_SUBDIRECTORY(qgis_topoview)
ADD_SUBDIRECTORY(versioning)

PLUGIN_INSTALL(db_manager db_plugins/postgis/plugins __init__.py)
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
SET (DB_MANAGER_POSTGIS_TOPOVIEW_DIR ${DB_MANAGER_POSTGIS_DIR}/plugins/qgis_topoview)

FILE(GLOB PY_FILES *.py)

INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_POSTGIS_TOPOVIEW_DIR})

ADD_SUBDIRECTORY(templates)

PLUGIN_INSTALL(db_manager db_plugins/postgis/plugins/qgis_topoview ${PY_FILES})
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
SET (DB_MANAGER_POSTGIS_TOPOVIEW_TEMPLATE_DIR ${DB_MANAGER_POSTGIS_DIR}/plugins/qgis_topoview/templates)

FILE(GLOB QML_FILES *.qml)

INSTALL(FILES ${QML_FILES} DESTINATION ${DB_MANAGER_POSTGIS_TOPOVIEW_TEMPLATE_DIR})
PLUGIN_INSTALL(db_manager db_plugins/postgis/plugins/qgis_topoview/templates ${QML_FILES})
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
SET (DB_MANAGER_POSTGIS_VERSIONING_DIR ${DB_MANAGER_POSTGIS_DIR}/plugins/versioning)

FILE(GLOB PY_FILES *.py)

FILE(GLOB UI_FILES *.ui)
PYQT4_WRAP_UI(PYUI_FILES ${UI_FILES})
ADD_CUSTOM_TARGET(db_manager_postgis_versioning ALL DEPENDS ${PYUI_FILES})

INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_POSTGIS_VERSIONING_DIR})
INSTALL(FILES ${PYUI_FILES} DESTINATION ${DB_MANAGER_POSTGIS_VERSIONING_DIR})

PLUGIN_INSTALL(db_manager db_plugins/postgis/plugins/versioning ${PY_FILES} ${PYUI_FILES})
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
SET (DB_MANAGER_SPATIALITE_DIR ${DB_MANAGER_PLUGIN_DIR}/db_plugins/spatialite)

FILE(GLOB PY_FILES *.py)
FILE(GLOB ICON_FILES icons/*.png)

PYQT4_ADD_RESOURCES(PYRC_FILES resources.qrc)
ADD_CUSTOM_TARGET(db_manager_spatialite ALL DEPENDS ${PYRC_FILES})

INSTALL(FILES ${PY_FILES} DESTINATION ${DB_MANAGER_SPATIALITE_DIR})
INSTALL(FILES ${PYRC_FILES} DESTINATION ${DB_MANAGER_SPATIALITE_DIR})
INSTALL(FILES ${ICON_FILES} DESTINATION ${DB_MANAGER_SPATIALITE_DIR}/icons)
PLUGIN_INSTALL(db_manager db_plugins/spatialite ${PY_FILES} ${PYRC_FILES})
PLUGIN_INSTALL(db_manager db_plugins/spatialite/icons ${ICON_FILES})

3 changes: 2 additions & 1 deletion python/plugins/db_manager/icons/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
FILE(GLOB ICON_FILES *.png *.xpm toolbar/*.png)
INSTALL(FILES ${ICON_FILES} DESTINATION ${DB_MANAGER_PLUGIN_DIR}/icons)

PLUGIN_INSTALL(db_manager icons ${ICON_FILES})
2 changes: 2 additions & 0 deletions python/plugins/fTools/tools/doGeoprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ def convex_hull(self, useField ):
hull = []
first = True
outID = 0
vproviderA.rewind()
for inFeat in selectionA:
atMap = inFeat.attributeMap()
idVar = atMap[ self.myParam ]
Expand Down Expand Up @@ -546,6 +547,7 @@ def convex_hull(self, useField ):
hull = []
first = True
outID = 0
vproviderA.rewind()
while vproviderA.nextFeature( inFeat ):
atMap = inFeat.attributeMap()
idVar = atMap[ self.myParam ]
Expand Down
2 changes: 2 additions & 0 deletions python/plugins/plugin_installer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ qgis-icon.png
repoConnected.png
repoDisabled.png
repoUnavailable.png
pluginExperimental.png
pluginStable.png
unzip.py
version_compare.py
)
Expand Down
4 changes: 2 additions & 2 deletions python/plugins/sextante/core/QGisLayers.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ def load(layer, name = None, crs = None, style = None):
name = path.split(layer)[1]
qgslayer = QgsVectorLayer(layer, name , 'ogr')
if qgslayer.isValid():
if crs != None:
qgslayer.setCrs(crs,False)
if crs is not None and qgslayer.crs() is None:
qgslayer.setCrs(crs, False)
if style == None:
if qgslayer.geometryType == 0:
style = SextanteConfig.getSetting(SextanteConfig.VECTOR_POINT_STYLE)
Expand Down
1 change: 1 addition & 0 deletions python/plugins/sextante/core/Sextante.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
***************************************************************************
"""


__author__ = 'Victor Olaya'
__date__ = 'August 2012'
__copyright__ = '(C) 2012, Victor Olaya'
Expand Down
1 change: 1 addition & 0 deletions python/plugins/sextante/gdal/warp.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
from qgis.core import *
from sextante.parameters.ParameterSelection import ParameterSelection
from sextante.parameters.ParameterCrs import ParameterCrs
from sextante.gdal.GdalUtils import GdalUtils

class warp(GeoAlgorithm):

Expand Down
29 changes: 27 additions & 2 deletions python/plugins/sextante/grass/GrassAlgorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,31 @@ def defineCharacteristicsFromFile(self):
lines.close()

self.addParameter(ParameterExtent(self.GRASS_REGION_EXTENT_PARAMETER, "GRASS region extent"))
self.addParameter(ParameterNumber(self.GRASS_REGION_CELLSIZE_PARAMETER, "GRASS region cellsize", 0, None, 1))
self.addParameter(ParameterNumber(self.GRASS_REGION_CELLSIZE_PARAMETER, "GRASS region cellsize (leave 0 for default)", 0, None, 0.0))


def getDefaultCellsize(self):
cellsize = 0
for param in self.parameters:
if param.value:
if isinstance(param, ParameterRaster):
if isinstance(param.value, QgsRasterLayer):
layer = param.value
else:
layer = QGisLayers.getObjectFromUri(param.value)
cellsize = max(cellsize, (layer.extent().xMaximum() - layer.extent().xMinimum())/layer.width())

elif isinstance(param, ParameterMultipleInput):
layers = param.value.split(";")
for layername in layers:
layer = QGisLayers.getObjectFromUri(layername)
if isinstance(layer, QgsRasterLayer):
cellsize = max(cellsize, (layer.extent().xMaximum() - layer.extent().xMinimum())/layer.width())

if cellsize == 0:
cellsize = 1
return cellsize

def processAlgorithm(self, progress):
if SextanteUtils.isWindows():
path = GrassUtils.grassPath()
Expand All @@ -151,7 +173,10 @@ def processAlgorithm(self, progress):
command +=" s=" + str(regionCoords[2])
command +=" e=" + str(regionCoords[1])
command +=" w=" + str(regionCoords[0])
command +=" res=" + str(self.getParameterValue(self.GRASS_REGION_CELLSIZE_PARAMETER));
if self.getParameterValue(self.GRASS_REGION_CELLSIZE_PARAMETER) == 0:
command +=" res=" + str(self.getDefaultCellsize())
else:
command +=" res=" + str(self.getParameterValue(self.GRASS_REGION_CELLSIZE_PARAMETER));
commands.append(command)

#1: Export layer to grass mapset
Expand Down
10 changes: 10 additions & 0 deletions python/plugins/sextante/grass/description/r.series.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
r.series
r.series - Makes each output cell value a function of the values assigned to the corresponding cells in the input raster map layers.
Raster (r.*)
ParameterMultipleInput|input|Name of input raster map(s)|3.0|False
ParameterBoolean|-n|Propagate NULLs|True
ParameterSelection|method|Aggregate operation|average;count;median;mode;minimum;min_raster;maximum;max_raster;stddev;range;sum;threshold;variance;diversity;slope;offset;detcoeff;quart1;quart3;perc90;quantile;skewness;kurtosis
ParameterNumber|quantile|Quantile to calculate for method=quantile|0.0|1.0|0.0
ParameterNumber|threshold|Threshold to calculate for method=threshold|None|None|0.0
ParameterString|range|Ignore values outside this range (lo,hi)|-10000000000,10000000000
OutputRaster|output|Name for output raster map
19 changes: 16 additions & 3 deletions python/plugins/sextante/gui/BatchProcessingDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@
from sextante.gui.BatchInputSelectionPanel import BatchInputSelectionPanel
from sextante.gui.AlgorithmExecutionDialog import AlgorithmExecutionDialog

from sextante.parameters.ParameterExtent import ParameterExtent
from sextante.parameters.ParameterNumber import ParameterNumber
from sextante.parameters.ParameterFile import ParameterFile
from sextante.parameters.ParameterCrs import ParameterCrs
from sextante.gui.ExtentSelectionPanel import ExtentSelectionPanel

from sextante.parameters.ParameterBoolean import ParameterBoolean
from sextante.parameters.ParameterSelection import ParameterSelection
from sextante.parameters.ParameterFixedTable import ParameterFixedTable
Expand All @@ -52,7 +58,8 @@ def __init__(self, alg):
self.algs = None
self.table = QtGui.QTableWidget(None)
AlgorithmExecutionDialog.__init__(self, alg, self.table)
self.setModal(True)
#self.setModal(True)
self.setWindowModality(1)
self.algEx = None
self.resize(800, 500)
self.setWindowTitle("Batch Processing - " + self.alg.name)
Expand Down Expand Up @@ -93,7 +100,7 @@ def accept(self):
col = 0
for param in alg.parameters:
widget = self.table.cellWidget(row, col)
if not self.setParameterValueFromWidget(param, widget):
if not self.setParameterValueFromWidget(param, widget, alg):
QMessageBox.critical(self.dialog, "Unable to execute batch process", "Wrong or missing parameter values")
self.algs = None
return
Expand Down Expand Up @@ -176,7 +183,7 @@ def finishAll(self):
QMessageBox.information(self, "Batch processing", "Batch processing successfully completed!")
self.close()

def setParameterValueFromWidget(self, param, widget):
def setParameterValueFromWidget(self, param, widget, alg = None):
if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable, ParameterMultipleInput)):
return param.setValue(widget.getText())
elif isinstance(param, ParameterBoolean):
Expand All @@ -185,6 +192,10 @@ def setParameterValueFromWidget(self, param, widget):
return param.setValue(widget.currentIndex())
elif isinstance(param, ParameterFixedTable):
return param.setValue(widget.table)
elif isinstance(param, (ParameterExtent)):
if alg != None:
widget.useNewAlg(alg)
return param.setValue(widget.getValue())
else:
return param.setValue(widget.text())

Expand All @@ -204,6 +215,8 @@ def getWidgetFromParameter(self, param, row, col):
item.addItems(param.options)
elif isinstance(param, ParameterFixedTable):
item = FixedTablePanel(param)
elif isinstance(param, ParameterExtent):
item = ExtentSelectionPanel(self, self.alg, param.default)
else:
item = QtGui.QLineEdit()
try:
Expand Down
3 changes: 2 additions & 1 deletion python/plugins/sextante/gui/ExtentSelectionPanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ def getMinCoveringExtent(self):
else:
return None


def useNewAlg(self, alg):
self.params = alg.parameters

def addToRegion(self, layer, first):
if first:
Expand Down
16 changes: 15 additions & 1 deletion python/plugins/sextante/gui/MultipleInputPanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@

from PyQt4 import QtCore, QtGui
from sextante.gui.MultipleInputDialog import MultipleInputDialog
from sextante.parameters.ParameterMultipleInput import ParameterMultipleInput
from sextante.core.QGisLayers import QGisLayers

try:
_fromUtf8 = QtCore.QString.fromUtf8
Expand All @@ -33,9 +35,10 @@

class MultipleInputPanel(QtGui.QWidget):

def __init__(self, options, parent = None):
def __init__(self, options, datatype, parent = None):
super(MultipleInputPanel, self).__init__(parent)
self.options = options
self.datatype = datatype
self.selectedoptions = []
self.horizontalLayout = QtGui.QHBoxLayout(self)
self.horizontalLayout.setSpacing(2)
Expand All @@ -51,6 +54,17 @@ def __init__(self, options, parent = None):
self.setLayout(self.horizontalLayout)

def showSelectionDialog(self):
if self.datatype == ParameterMultipleInput.TYPE_RASTER:
options = QGisLayers.getRasterLayers()
elif self.datatype == ParameterMultipleInput.TYPE_VECTOR_ANY:
options = QGisLayers.getVectorLayers()
else:
options = QGisLayers.getVectorLayers(self.datatype)
opts = []
for opt in options:
opts.append(opt.name())
self.options = opts

dlg = MultipleInputDialog(self.options, self.selectedoptions)
dlg.exec_()
if dlg.selectedoptions != None:
Expand Down
2 changes: 1 addition & 1 deletion python/plugins/sextante/gui/ParametersPanel.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ def getWidgetFromParameter(self, param):
opts = []
for opt in options:
opts.append(opt.name())
item = MultipleInputPanel(opts)
item = MultipleInputPanel(opts, param.datatype)
elif isinstance(param, ParameterNumber):
item = NumberInputPanel(param.default, param.isInteger)
elif isinstance(param, ParameterExtent):
Expand Down
22 changes: 18 additions & 4 deletions python/plugins/sextante/modeler/ModelerParametersDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def setupUi(self):
for output in self.alg.outputs:
if output.hidden:
continue
if isinstance(output, (OutputRaster, OutputVector, OutputTable, OutputHTML)):
if isinstance(output, (OutputRaster, OutputVector, OutputTable, OutputHTML, OutputFile)):
label = QtGui.QLabel(output.description + "<" + output.__module__.split(".")[-1] + ">")
item = QLineEdit()
if hasattr(item, 'setPlaceholderText'):
Expand All @@ -137,10 +137,13 @@ def setupUi(self):
self.verticalLayout2.setSpacing(2)
self.verticalLayout2.setMargin(0)
self.tabWidget = QtGui.QTabWidget()
self.tabWidget.setMinimumWidth(300)
self.tabWidget.setMinimumWidth(300)
self.paramPanel = QtGui.QWidget()
self.paramPanel.setLayout(self.verticalLayout)
self.tabWidget.addTab(self.paramPanel, "Parameters")
self.scrollArea = QtGui.QScrollArea()
self.scrollArea.setWidget(self.paramPanel)
self.scrollArea.setWidgetResizable(True)
self.tabWidget.addTab(self.scrollArea, "Parameters")
self.webView = QtWebKit.QWebView()
html = None
try:
Expand All @@ -167,6 +170,17 @@ def setupUi(self):
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), self.cancelPressed)
QtCore.QMetaObject.connectSlotsByName(self)

def showAdvancedParametersClicked(self):
self.showAdvanced = not self.showAdvanced
if self.showAdvanced:
self.advancedButton.setText("Hide advanced parameters")
else:
self.advancedButton.setText("Show advanced parameters")
for param in self.alg.parameters:
if param.isAdvanced:
self.labels[param.name].setVisible(self.showAdvanced)
self.widgets[param.name].setVisible(self.showAdvanced)

def getRasterLayers(self):
layers = []
params = self.model.parameters
Expand Down Expand Up @@ -678,7 +692,7 @@ def setParamValue(self, param, widget):
name = self.getSafeNameForHarcodedParameter(param)
value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name)
self.params[param.name] = value
self.values[name] = str(widget.getText())
self.values[name] = str(widget.text())
return True

def getSafeNameForHarcodedParameter(self, param):
Expand Down
8 changes: 5 additions & 3 deletions python/plugins/sextante/otb/OTBAlgorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.WrongHelpFileException import WrongHelpFileException
from sextante.parameters.ParameterFactory import ParameterFactory
from sextante.outputs.OutputFactory import OutputFactory
from sextante.otb.OTBUtils import OTBUtils
Expand Down Expand Up @@ -65,10 +66,11 @@ def getIcon(self):

def helpFile(self):
folder = os.path.join( OTBUtils.otbDescriptionPath(), 'doc' )
if str(folder).strip() != "":
helpfile = os.path.join( str(folder), self.appkey + ".html")
helpfile = os.path.join( str(folder), self.appkey + ".html")
if os.path.exists(helpfile):
return helpfile
return None
else:
raise WrongHelpFileException("Could not find help file for this algorithm. \nIf you have it put it in: \n"+str(folder))

def defineCharacteristicsFromFile(self):
lines = open(self.descriptionFile)
Expand Down
33 changes: 33 additions & 0 deletions python/plugins/sextante/otb/description/BlockMatching.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
BlockMatching
otbcli_BlockMatching
Pixel-wise Block-Matching
Stereo
ParameterRaster|-io.inleft|Left input image|False
ParameterRaster|-io.inright|Right input image|False
OutputRaster|-io.out|The output disparity map
OutputRaster|-io.outmask|The output mask corresponding to all criterions
ParameterBoolean|-io.outmetric|Output optimal metric values as well|
ParameterRaster|-mask.inleft|Discard left pixels from mask image|True
ParameterRaster|-mask.inright|Discard right pixels from mask image|True
ParameterNumber|-mask.nodata|Discard pixels with no-data value|None|None|0.0
ParameterNumber|-mask.variancet|Discard pixels with low local variance|None|None|100.0
ParameterSelection|-bm.metric|Block-matching metric|ssd;ncc;lp|0
ParameterNumber|-bm.metric.lp.p|p value|None|None|1.0
ParameterNumber|-bm.radius|Radius of blocks|None|None|3
ParameterNumber|-bm.minhd|Minimum horizontal disparity|None|None|0
ParameterNumber|-bm.maxhd|Maximum horizontal disparity|None|None|0
ParameterNumber|-bm.minvd|Minimum vertical disparity|None|None|0
ParameterNumber|-bm.maxvd|Maximum vertical disparity|None|None|0
ParameterSelection|-bm.subpixel|Sub-pixel interpolation|none;parabolic;triangular;dichotomy|0
ParameterNumber|-bm.medianfilter.radius|Radius|None|None|0
ParameterNumber|-bm.medianfilter.incoherence|Incoherence threshold|None|None|0.0
ParameterSelection|-bm.initdisp|Initial disparities|none;uniform;maps|0
ParameterNumber|-bm.initdisp.uniform.hdisp|Horizontal initial disparity|None|None|0
ParameterNumber|-bm.initdisp.uniform.vdisp|Vertical initial disparity|None|None|0
ParameterNumber|-bm.initdisp.uniform.hrad|Horizontal exploration radius|None|None|0
ParameterNumber|-bm.initdisp.uniform.vrad|Vertical exploration radius|None|None|0
ParameterRaster|-bm.initdisp.maps.hmap|Horizontal initial disparity map|False
ParameterRaster|-bm.initdisp.maps.vmap|Vertical initial disparity map|False
ParameterNumber|-bm.initdisp.maps.hrad|Horizontal exploration radius|None|None|0
ParameterNumber|-bm.initdisp.maps.vrad|Vertical exploration radius|None|None|0
ParameterNumber|-ram|Available RAM (Mb)|None|None|128
2 changes: 1 addition & 1 deletion python/plugins/sextante/otb/description/ColorMapping.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ColorMapping
otbcli_ColorMapping
Color Mapping
Learning
Image Manipulation
ParameterRaster|-in|Input Image|False
OutputRaster|-out|Output Image
ParameterNumber|-ram|Available RAM (Mb)|None|None|128
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ Cartographic to geographic coordinates conversion
Geometry
ParameterNumber|-carto.x|X cartographic coordinates|None|None|0.0
ParameterNumber|-carto.y|Y cartographic coordinates|None|None|0.0
ParameterSelection|-mapproj|Output Cartographic Map Projection|utm;lambert2;lambert93;transmercator;wgs;epsg|5
ParameterNumber|-mapproj.utm.zone|Zone number|None|None|0
ParameterSelection|-mapproj|Output Cartographic Map Projection|utm;lambert2;lambert93;wgs;epsg|4
ParameterNumber|-mapproj.utm.zone|Zone number|None|None|31
ParameterBoolean|-mapproj.utm.northhem|Northern Hemisphere|
ParameterNumber|-mapproj.transmercator.falseeasting|False easting|None|None|0.0
ParameterNumber|-mapproj.transmercator.falsenorthing|False northing|None|None|0.0
ParameterNumber|-mapproj.transmercator.scale|Scale factor|None|None|1.0
ParameterNumber|-mapproj.epsg.code|EPSG Code|None|None|32631
ParameterNumber|-long|Output long|None|None|0.0
ParameterNumber|-lat|Output lat|None|None|0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
DimensionalityReduction
otbcli_DimensionalityReduction
Dimensionality reduction application
Image Filtering
ParameterRaster|-in|Input Image|False
OutputRaster|-out|Output Image
ParameterNumber|-rescale.outmin|Output min value|None|None|0.0
ParameterNumber|-rescale.outmax|Output max value|None|None|255.0
OutputRaster|-outinv| Inverse Output Image
ParameterSelection|-method|Algorithm|pca;napca;maf;ica|0
ParameterNumber|-method.napca.radiusx|Set the x radius of the sliding window.|None|None|1
ParameterNumber|-method.napca.radiusy|Set the y radius of the sliding window.|None|None|1
ParameterNumber|-method.ica.iter|number of iterations |None|None|20
ParameterNumber|-method.ica.mu|Give the increment weight of W in [0, 1]|None|None|1.0
ParameterNumber|-nbcomp|Number of Components.|None|None|0
ParameterBoolean|-normalize|Normalize.|
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
DisparityMapToElevationMap
otbcli_DisparityMapToElevationMap
Disparity map to elevation map
Stereo
ParameterRaster|-io.in|Input disparity map|False
ParameterRaster|-io.left|Left sensor image|False
ParameterRaster|-io.right|Right sensor image|False
ParameterRaster|-io.lgrid|Left Grid|False
ParameterRaster|-io.rgrid|Right Grid|False
OutputRaster|-io.out|Output elevation map
ParameterRaster|-io.mask|Disparity mask|True
ParameterNumber|-step|DEM step|None|None|5.0
ParameterNumber|-hmin|Minimum elevation expected|None|None|0.0
ParameterNumber|-hmax|Maximum elevation expected|None|None|100.0
ParameterSelection|-elev|Elevation management|dem;average|1
ParameterFile|-elev.dem.path|DEM directory|
ParameterFile|-elev.dem.geoid|Geoid File||
ParameterNumber|-elev.average.value|Average Elevation|None|None|0.0
ParameterNumber|-ram|Available RAM (Mb)|None|None|128
1 change: 1 addition & 0 deletions python/plugins/sextante/otb/description/ImageEnvelope.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Image Envelope
Geometry
ParameterRaster|-in|Input Image|False
OutputVector|-out|Output Vector Data
ParameterNumber|-sr|Sampling Rate|None|None|0
ParameterSelection|-elev|Elevation management|dem;average|1
ParameterFile|-elev.dem.path|DEM directory|
ParameterFile|-elev.dem.geoid|Geoid File||
Expand Down
11 changes: 11 additions & 0 deletions python/plugins/sextante/otb/description/MeanShiftSmoothing.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
MeanShiftSmoothing
otbcli_MeanShiftSmoothing
Mean Shift filtering
Image Filtering
ParameterRaster|-in|Input Image|False
OutputRaster|-fout|Filtered output
ParameterNumber|-spatialr|Spatial radius|None|None|5
ParameterNumber|-ranger|Range radius|None|None|15.0
ParameterNumber|-thres|Mode convergence threshold|None|None|0.10000000149
ParameterNumber|-maxiter|Maximum number of iterations|None|None|100
ParameterBoolean|-modesearch|Mode search.|True
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ ParameterNumber|-atmo.wa|Water Vapor Amount|None|None|2.5
ParameterNumber|-atmo.pressure|Atmospheric Pressure|None|None|1030.0
ParameterNumber|-atmo.opt|Aerosol Optical Thickness|None|None|0.20000000298
ParameterFile|-atmo.aeronet|Aeronet File||
ParameterNumber|-radius|Window radius|None|None|2
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ Ortho-rectification
Geometry
ParameterRaster|-io.in|Input Image|False
OutputRaster|-io.out|Output Image
ParameterSelection|-map|Output Cartographic Map Projection|utm;lambert2;lambert93;transmercator;wgs;epsg|5
ParameterNumber|-map.utm.zone|Zone number|None|None|0
ParameterSelection|-map|Output Cartographic Map Projection|utm;lambert2;lambert93;wgs;epsg|4
ParameterNumber|-map.utm.zone|Zone number|None|None|31
ParameterBoolean|-map.utm.northhem|Northern Hemisphere|
ParameterNumber|-map.transmercator.falseeasting|False easting|None|None|0.0
ParameterNumber|-map.transmercator.falsenorthing|False northing|None|None|0.0
ParameterNumber|-map.transmercator.scale|Scale factor|None|None|1.0
ParameterNumber|-map.epsg.code|EPSG Code|None|None|32631
ParameterSelection|-outputs.mode|Parameters estimation modes|auto;autosize;autospacing|0
ParameterNumber|-outputs.ulx|Upper Left X|None|None|0.0
Expand Down
24 changes: 14 additions & 10 deletions python/plugins/sextante/otb/description/Rasterization.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@ Rasterization
otbcli_Rasterization
Rasterization
Vector Data Manipulation
ParameterVector|-in|InputVectorData|-1|False
OutputRaster|-out|OutputImage
ParameterRaster|-im|InputImage|True
ParameterNumber|-szx|SizeX|None|None|0.0
ParameterNumber|-szy|SizeY|None|None|0.0
ParameterNumber|-epsg|RSID|None|None|0
ParameterNumber|-orx|OriginX|None|None|0.0
ParameterNumber|-ory|OriginY|None|None|0.0
ParameterNumber|-spx|SpacingX|None|None|0.0
ParameterNumber|-spy|SpacingY|None|None|0.0
ParameterFile|-in|Input vector dataset||
OutputRaster|-out|Ouptut image
ParameterRaster|-im|Input reference image|True
ParameterNumber|-szx|Output size x|None|None|0
ParameterNumber|-szy|Output size y|None|None|0
ParameterNumber|-epsg|Output EPSG code|None|None|0
ParameterNumber|-orx|Output Upper-left x|None|None|0.0
ParameterNumber|-ory|Output Upper-left y|None|None|0.0
ParameterNumber|-spx|Spacing (GSD) x|None|None|0.0
ParameterNumber|-spy|Spacing (GSD) y|None|None|0.0
ParameterNumber|-background|Background value|None|None|0.0
ParameterSelection|-mode|Rasterization mode|binary;attribute|0
ParameterNumber|-mode.binary.foreground|Foreground value|None|None|255.0
ParameterString|-mode.attribute.field|The attribute field to burn|DN
ParameterNumber|-ram|Available RAM (Mb)|None|None|128
13 changes: 11 additions & 2 deletions python/plugins/sextante/otb/description/RigidTransformResample.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,14 @@ Image resampling with a rigid transform
Geometry
ParameterRaster|-in|Input image|False
OutputRaster|-out|Output image
ParameterNumber|-tx|The X translation (in physical units)|None|None|0.0
ParameterNumber|-ty|The Y translation (in physical units)|None|None|0.0
ParameterSelection|-transform.type|Type of transformation|id;translation;rotation|0
ParameterNumber|-transform.type.id.scalex|X scaling|None|None|1.0
ParameterNumber|-transform.type.id.scaley|Y scaling|None|None|1.0
ParameterNumber|-transform.type.translation.tx|The X translation (in physical units)|None|None|0.0
ParameterNumber|-transform.type.translation.ty|The Y translation (in physical units)|None|None|0.0
ParameterNumber|-transform.type.rotation.angle|Rotation angle|None|None|0.0
ParameterNumber|-transform.type.rotation.scalex|X scaling|None|None|1.0
ParameterNumber|-transform.type.rotation.scaley|Y scaling|None|None|1.0
ParameterSelection|-interpolator|Interpolation|nn;linear;bco|2
ParameterNumber|-interpolator.bco.radius|Radius for bicubic interpolation|None|None|2
ParameterNumber|-ram|Available RAM (Mb)|None|None|128
1 change: 0 additions & 1 deletion python/plugins/sextante/otb/description/Smoothing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ ParameterNumber|-type.mean.radius|Radius|None|None|2
ParameterNumber|-type.gaussian.radius|Radius|None|None|2
ParameterNumber|-type.anidif.timestep|Time Step|None|None|0.125
ParameterNumber|-type.anidif.nbiter|Nb Iterations|None|None|10
Extent
13 changes: 13 additions & 0 deletions python/plugins/sextante/otb/description/VectorDataReprojection.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
VectorDataReprojection
otbcli_VectorDataReprojection
Vector Data reprojection
Vector Data Manipulation
ParameterFile|-in.vd|Input vector data||
ParameterRaster|-in.kwl|Use image keywords list|True
OutputFile|-out.vd|Output vector data
ParameterSelection|-out.proj|Output Projection choice|image;user|0
ParameterRaster|-out.proj.image.in|Image used to get projection map|False
ParameterSelection|-out.proj.user.map|Output Cartographic Map Projection|utm;lambert2;lambert93;wgs;epsg|4
ParameterNumber|-out.proj.user.map.utm.zone|Zone number|None|None|31
ParameterBoolean|-out.proj.user.map.utm.northhem|Northern Hemisphere|
ParameterNumber|-out.proj.user.map.epsg.code|EPSG Code|None|None|32631
2 changes: 2 additions & 0 deletions python/plugins/sextante/otb/description/doc/BandMath.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Band Math Application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Perform a mathematical operation on monoband images</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Util</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application performs a mathematical operation on monoband images. Mathematical formula interpretation is done via MuPasrer libraries http://muparser.sourceforge.net/</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input image list (-il): </span>Image list to perform computation on.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output Image (-out): </span>Output image.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Available RAM (-ram): </span>Available RAM</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Expression (-exp): </span>The mathematical expression to apply.
Use im1b1 for the first band, im1b2 for the second one...</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input image list: poupees_sub_c1.png poupees_sub_c2.png poupees_sub_png</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output Image: apTvUtBandMathOutput.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Expression: "cos(im1b1)+im2b1*im3b1-im3b2+ndvi(im3b3, im3b4)"</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_BandMath -il poupees_sub_c1.png poupees_sub_c2.png poupees_sub_png -out apTvUtBandMathOutput.tif -exp "cos(im1b1)+im2b1*im3b1-im3b2+ndvi(im3b3, im3b4)"</p></ul></body></html>
901 changes: 901 additions & 0 deletions python/plugins/sextante/otb/description/doc/BlockMatching.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Bundle to perfect sensor application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Perform P+XS pansharpening</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Geometry, Image Manipulation, Pansharpening</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application performs P+XS pansharpening.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input PAN Image (-inp): </span></p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input XS Image (-inxs): </span></p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] DEM directory (-dem): </span></p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Spacing of the deformation field (-lms): </span></p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output image (-out): </span></p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Available RAM (-ram): </span>Available RAM</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input PAN Image: QB_Toulouse_Ortho_PAN.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input XS Image: QB_Toulouse_Ortho_XS.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output image: BundleToPerfectSensor.png uchar</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_BundleToPerfectSensor -inp QB_Toulouse_Ortho_PAN.tif -inxs QB_Toulouse_Ortho_XS.tif -out BundleToPerfectSensor.png uchar</p></ul></body></html>
7 changes: 7 additions & 0 deletions python/plugins/sextante/otb/description/doc/ColorMapping.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Color Mapping</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Maps an input grayscale image into 8-bits RGB using look-up tables.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Learning</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application allows to map an input grayscale into a 8-bits RGB image using three different methods.
-The custom method allows to apply a custom look-up table to a labeled image. The look-up table is loaded from a text file where each line describes an entry. The typical use of this method is to colorise a classification map.
-The continuous method allows to map a range of values in a scalar input image into a colored image using continuous look-up table, in order to enhance image interpretation. Several look-up tables can ben chosen with different color ranges.
-The segmentation method is dedicated to segmentation labeled outputs where each segment correspond to a unique labeled. It computes an optimal look-up table such that color difference between adjacent segmented regions is maximised.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input Image (-in): </span>Input image filename</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output Image (-out): </span>Output image filename</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Available RAM (-ram): </span>Available RAM</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[choice] Color mapping method (-method): </span>Selection of color mapping methods and their parameters.</p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Color mapping with custom labeled look-up table: </span>Apply a user-defined look-up table to a labeled image. Look-up table is loaded from a text file.</p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Look-up table file (-lut): </span>An ASCII file containing the look-up table
with one color per line
(for instance the line '1 255 0 0' means that all pixels with label 1 will be replaced by RGB color 255 0 0)
Lines beginning with a # are ignored</p></li></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Color mapping with continuous look-up table: </span>Apply a continuous look-up table to a range of input values.</p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[choice] Look-up tables (-lut): </span>Available look-up tables.</p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Red: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Green: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Blue: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Grey: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Hot: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Cool: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Spring: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Summer: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Autumn: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Winter: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Copper: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Jet: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] HSV: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] OverUnder: </span></p><ul></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Relief: </span></p><ul></ul></li></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Mapping range lower value (-min): </span>Set the lower input value of the mapping range.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Mapping range higher value (-max): </span>Set the higher input value of the mapping range.</p></li></ul></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Color mapping with a look-up table optimised for segmentation: </span>Compute an optimal look-up table such that neighbouring labels in a segmentation are mapped to highly contrasted colors.</p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Background label (-background): </span>Value of the background label</p></li></ul></li></ul></li><br /></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The segmentation method does not support streaming, and thus large images.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ImageSVMClassifier application</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input Image: clLabeledImageQB123_1.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output Image: clLabeledFancyImageQB123_1.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Color mapping method: custom</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Look-up table file: Classification/ColorTable.txt</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ColorMapping -in clLabeledImageQB123_1.tif -out clLabeledFancyImageQB123_1.tif -method custom -method.custom.lut Classification/ColorTable.txt</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Images comparaison</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Estimator between 2 images.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Statistics</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application computes MSE (Mean Squared Error), MAE (Mean Absolute Error) and PSNR(Peak Signal to Noise Ratio) between the channel of two images (reference and measurement). The user has to set the used channel and can specified an ROI.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Reference image properties (-ref): </span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Reference image (-in): </span>Image used as reference in the comparaison</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Reference image channel (-channel): </span>Used channel for the reference image</p></li></ul></li><br /><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Measured image properties (-meas): </span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Measured image (-in): </span>Image used as measured in the comparaison</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Measured image channel (-channel): </span>Used channel for the measured image</p></li></ul></li><br /><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[group] Region Of Interest (-roi): </span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Start X (-startx): </span>ROI start x position.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Start Y (-starty): </span>ROI start y position.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Size X (-sizex): </span>size along x in pixels.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Size Y (-sizey): </span>size along y in pixels.</p></li></ul></li><br /><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] MSE (-mse): </span>Mean Squared Error value</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] MAE (-mae): </span>Mean Absolute Error value</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] PSNR (-psnr): </span>Peak Signal to Noise Ratio value</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">BandMath application, ImageStatistics application</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reference image: GomaApres.png</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Reference image channel: 1</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Measured image: GomaAvant.png</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Measured image channel: 2</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Start X: 20</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Start Y: 30</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Size X: 150</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Size Y: 200</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_CompareImages -ref.in GomaApres.png -ref.channel 1 -meas.in GomaAvant.png -meas.channel 2 -roi.startx 20 -roi.starty 30 -roi.sizex 150 -roi.sizey 200</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Compute Images second order statistics</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Computes global mean and standard deviation for each band from a set of images and optionally saves the results in an XML file.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Learning, Image Analysis</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application computes a global mean and standard deviation for each band of a set of images and optionally saves the results in an XML file. The output XML is intended to be used an input for the TrainImagesSVMClassifier application to normalize samples before learning.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input images (-il): </span>List of input images filenames.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output XML file (-out): </span>XML filename where the statistics are saved for future reuse</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The set of input images must have the same number of bands. Input images must be of the same number, type and order of bands.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Documentation of the TrainImagesSVMClassifier application.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input images: QB_1_ortho.tif QB_2_ortho.tif QB_3_ortho.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output XML file: EstimateImageStatisticsQB123.xml</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ComputeImagesStatistics -il QB_1_ortho.tif QB_2_ortho.tif QB_3_ortho.tif -out EstimateImageStatisticsQB123.xml</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Compute Polyline Feature From Image Application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Compute a polyline feature descriptors from an input image which are part of the polyline pixels that verify the FeatureExpression</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Feature Extraction</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application computes a polyline feature descriptors from an input image which are part of the polyline pixels that verify the FeatureExpression.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input Image (-in): </span>An image from which to compute description.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Vector Data (-vd): </span>Vector data containing the polylines onto which the feature will be computed.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] DEM repository (-dem): </span>path to SRTM repository</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Feature expression (-expr): </span>The feature formula (b1 > 0.3)</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Feature name (-field): </span>The feature name (NONDVI, ROADSA...)</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output Vector Data (-out): </span>The output vector data containing the features</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Since it do not rely on streaming process, take care of the size of input image before launching application.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input Image: NDVI.TIF</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Vector Data: roads_ground_truth.shp</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Feature expression: "(b1 > 0.4)"</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Feature name: NONDVI</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output Vector Data: PolylineFeatureFromImage_LI_NONDVI_gt.shp</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ComputePolylineFeatureFromImage -in NDVI.TIF -vd roads_ground_truth.shp -expr "(b1 > 0.4)" -field NONDVI -out PolylineFeatureFromImage_LI_NONDVI_gt.shp</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Images Concatenation Application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Concatenate a list of images into a single multi channel one.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Image Manipulation, Concatenation, Multi channel</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application performs images concatenation. It will take the input image list (mono or multi channel) and generate a single multi channel image. The channel order is the one of the list.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input image list (-il): </span>Image list to concatenate</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output Image (-out): </span>Output multiband image</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Available RAM (-ram): </span>Available RAM</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rescale application, Convert application</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input image list: poupees_sub_c1.png poupees_sub_c2.png poupees_sub_c3.png</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output Image: otbConcatenateImages.png uchar</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ConcatenateImages -il poupees_sub_c1.png poupees_sub_c2.png poupees_sub_c3.png -out otbConcatenateImages.png uchar</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Concatenate Application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Concatenate VectorDatas</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Vector data Manipulation</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">This application concatenate a list of VectorData to produce a unique VectorData as outputNote that the VectorDatas must be of the same type (Storing polygons only, lines only, or points only)</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input VectorDatas to concatenate (-vd): </span>VectorData files to be concatenated in an unique VectorData</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Concatenated VectorData (-out): </span></p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input VectorDatas to concatenate: waterways.shp france_coastline.shp</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Concatenated VectorData: ConcatenatedVectorData.shp</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ConcatenateVectorData -vd waterways.shp france_coastline.shp -out ConcatenatedVectorData.shp</p></ul></body></html>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"></style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"><p align="center" style=" margin-top:16px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large; font-weight:600;"><span style=" font-size:x-large;">Connected Component Segmentation Application</span></p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Brief Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Compute a connected component segmentation.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Tags</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Image Analysis, Segmentation</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Long Description</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Compute a connected component segmentation, which takes mathematical formula as a neighborhood thresholding criteria.</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Parameters</span></p><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Input Image (-in): </span>The image to segment.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Output Shape (-out): </span>The segmentation shape.</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Mask expression (-mask): </span>Mask mathematical expression (only if support image is given)</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Connected Component Expression (-expr): </span>Formula used for connected component segmentation</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] Minimum Object Size (-minsize): </span>Min object size (area in pixel)</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] OBIA Expression (-obia): </span>OBIA mathematical expression</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New, courier'; font-weight:600;"; >[param] DEM Directory (-dem): </span>DEM directory (used to reproject output in WGS84 if input image is in sensor model geometry)</p></li></ul><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Limitations</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">None</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Authors</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OTB-Team</p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">See also</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p><p style=" margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:large; font-weight:600;"><span style=" font-size:large;">Example of use</span></p><ul><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Parameters to set value:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><ul><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Input Image: ROI_QB_MUL_4.tif</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Output Shape: ConnectedComponentSegmentation.shp</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Mask expression: "((b1>80)*intensity>95)"</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Connected Component Expression: "distance<10"</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Minimum Object Size: 15</p></li><li><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">OBIA Expression: "SHAPE_Elongation>8"</p></li></ul></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><li>Command line to execute:</li></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New, courier';">otbcli_ConnectedComponentSegmentation -in ROI_QB_MUL_4.tif -out ConnectedComponentSegmentation.shp -mask "((b1>80)*intensity>95)" -expr "distance<10" -minsize 15 -obia "SHAPE_Elongation>8"</p></ul></body></html>
Loading