Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Commandre Benjamin
OTB
Commits
396701b0
Commit
396701b0
authored
May 15, 2019
by
Antoine Regimbeau
Browse files
Merge branch 'ci_hidden_key' into packaging_ci
parents
e9cb6d26
34d4de51
Changes
182
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
396701b0
...
...
@@ -18,22 +18,10 @@ variables:
# The fetch strategy fails with LFS and GitLab
GIT_STRATEGY
:
"
clone"
before_script
:
# make sure LFS hooks are installed
-
git lfs install
# Provision efficiently the local LFS cache before checkout
-
git lfs fetch origin $CI_COMMIT_SHA
# Checkout the expected branch
-
git checkout -f -q $CI_COMMIT_SHA
after_script
:
-
python3 CI/cdash_handler.py $CI_COMMIT_SHA $CI_PROJECT_ID $CI_PROJECT_DIR $K8S_SECRET_CDASH
stages
:
-
precheck
-
prepare
-
build
-
package
.general
:
retry
:
...
...
@@ -48,9 +36,10 @@ fast-build:
stage
:
precheck
image
:
$BUILD_IMAGE_REGISTRY/otb-ubuntu-native-develop:latest
before_script
:
-
export GIT_LFS_SKIP_SMUDGE=1
-
git checkout -f -q $CI_COMMIT_SHA
-
python3 CI/check_twin_pipelines.py
after_script
:
-
python3 CI/cdash_handler.py $CI_COMMIT_SHA $CI_PROJECT_ID $CI_PROJECT_DIR $K8S_SECRET_CDASH $CI_MERGE_REQUEST_REF_PATH
script
:
-
ctest -V -S CI/main_ci.cmake -DIMAGE_NAME:string=ubuntu-18.04-fast
-
ccache -s
...
...
@@ -60,7 +49,14 @@ fast-build:
extends
:
.general
only
:
[
merge_requests
]
stage
:
build
dependencies
:
[]
before_script
:
-
git lfs install --skip-repo
# Provision efficiently the local LFS cache before checkout
-
git lfs fetch origin $CI_COMMIT_SHA
# Checkout the expected branch
-
git checkout -f -q $CI_COMMIT_SHA
after_script
:
-
python3 CI/cdash_handler.py $CI_COMMIT_SHA $CI_PROJECT_ID $CI_PROJECT_DIR $K8S_SECRET_CDASH $CI_MERGE_REQUEST_REF_PATH
debian-build
:
extends
:
.common-build
...
...
@@ -84,51 +80,29 @@ ubuntu-llvm:
only
:
[
merge_requests
]
stage
:
prepare
before_script
:
# This override the previous before_script
-
git checkout -f -q $CI_COMMIT_SHA
# We are now doing the git-lfs install
# This is done after the checkout so we avoid downloading Data
# But we need it to upload the archive
-
git-lfs install
-
git config --global user.email "otbbot@orfeo-toolbox.org"
-
git config --global user.name "otbbot"
-
eval $(ssh-agent -s)
-
ssh-add <(echo "$K8S_SECRET_SSH")
# This is for debug, we are checking the owner of the ssh key
-
ssh -o StrictHostKeyChecking=no -T git@gitlab.orfeo-toolbox.org
after_script
:
-
echo "Nothing to do for after_script"
-
git lfs install --skip-repo
artifacts
:
expire_in
:
24 hrs
when
:
on_success
paths
:
# This recovers logs from superbuild build
# - build/*/*/*/*.log
-
sb_branch.txt
artifacts
:
expire_in
:
2 days
when
:
on_failure
paths
:
# This recovers logs from superbuild build
-
build/*/*/*/*.log
## Ubuntu superbuild
ubuntu-superbuild-prepare
:
extends
:
.common-prepare
image
:
$BUILD_IMAGE_REGISTRY/otb-ubuntu-superbuild-base:18.04
script
:
-
ctest -V -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=otb-ubuntu-superbuild-base
centos-superbuild-prepare
:
extends
:
.common-prepare
image
:
$BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:6.6
script
:
-
ctest -V -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=otb-centos-superbuild-base
.superbuild-build
:
only
:
[
merge_requests
]
extends
:
.common-build
artifacts
:
expire_in
:
1 week
paths
:
# - build/*/*/*/*.log
-
build_packages/*/*/*/*.log
-
build_packages/OTB-*.run
-
ctest -VV -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=otb-ubuntu-superbuild-base
ubuntu-superbuild-build
:
extends
:
.
superbuild
-build
extends
:
.
common
-build
image
:
$BUILD_IMAGE_REGISTRY/otb-ubuntu-superbuild-base:18.04
script
:
-
xvfb-run -a -n 1 -s "-screen 0 1024x768x24 -dpi 96" ctest -V -S CI/main_superbuild.cmake -DIMAGE_NAME:string=otb-ubuntu-superbuild-base
...
...
@@ -136,8 +110,15 @@ ubuntu-superbuild-build:
dependencies
:
-
ubuntu-superbuild-prepare
## Centos superbuild
centos-superbuild-prepare
:
extends
:
.common-prepare
image
:
$BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:6.6
script
:
-
ctest -VV -S CI/prepare_superbuild.cmake -DIMAGE_NAME:string=otb-centos-superbuild-base
centos-superbuild-build
:
extends
:
.
superbuild
-build
extends
:
.
common
-build
image
:
$BUILD_IMAGE_REGISTRY/otb-centos-superbuild-base:6.6
script
:
-
xvfb-run -a -n 1 -s "-screen 0 1024x768x24 -dpi 96" ctest -V -S CI/main_superbuild.cmake -DIMAGE_NAME:string=otb-centos-superbuild-base
...
...
CI/cdash_handler.py
View file @
396701b0
...
...
@@ -245,14 +245,14 @@ TODO :
"""
if
__name__
==
"__main__"
:
if
(
len
(
sys
.
argv
)
<
5
):
print
(
"Usage : "
+
sys
.
argv
[
0
]
+
" commit_sha1 project_id build_directory token"
)
if
(
len
(
sys
.
argv
)
<
6
):
print
(
"Usage : "
+
sys
.
argv
[
0
]
+
" commit_sha1 project_id build_directory token
ref_name
"
)
sys
.
exit
()
if
trace
:
print
(
sys
.
argv
)
handler
=
Handler
()
build_dir
=
os
.
path
.
join
(
sys
.
argv
[
3
]
,
"build/"
)
# build_dir
= sys.argv[
3
]
ref_name
=
sys
.
argv
[
5
]
if
trace
:
print
(
"build_dir is: "
+
build_dir
)
handler
.
build_dir
=
build_dir
...
...
@@ -271,7 +271,7 @@ if __name__ == "__main__":
gitlab_url
=
"https://gitlab.orfeo-toolbox.org/api/v4/projects/"
gitlab_url
+=
sys
.
argv
[
2
]
+
"/statuses/"
+
sys
.
argv
[
1
]
params
=
urllib
.
parse
.
urlencode
({
'name'
:
'cdash:'
+
handler
.
site
,
'state'
:
state
,
\
'target_url'
:
cdash_url
,
'description'
:
error
})
'target_url'
:
cdash_url
,
'description'
:
error
,
'ref'
:
ref_name
})
gitlab_request
=
urllib
.
request
.
Request
(
gitlab_url
)
gitlab_request
.
add_header
(
'PRIVATE-TOKEN'
,
sys
.
argv
[
4
]
)
res
=
urllib
.
request
.
urlopen
(
gitlab_request
,
data
=
params
.
encode
(
'ascii'
))
...
...
CI/check_twin_pipelines.py
View file @
396701b0
...
...
@@ -64,25 +64,29 @@ if __name__ == "__main__":
sha1
=
env
[
'CI_COMMIT_SHA'
]
# are we in a merge_request pipeline ?
if
'CI_MERGE_REQUEST_IID'
in
env
.
keys
():
if
not
CheckEnvParameters
([
'K8S_SECRET_TWIN_PIPELINE'
,
'CI_PROJECT_ID'
,
'CI_PIPELINE_ID'
]):
if
not
CheckEnvParameters
([
'K8S_SECRET_API_TOKEN'
]):
print
(
"Make sure you have set a valid acces token for Gitlab API"
)
print
(
"The K8S_SECRET_API_TOKEN environment variable should be set in 'Settings -> CI/CD -> Variables'"
)
sys
.
exit
(
1
)
mrInfo
=
GitlabRequest
(
'merge_requests/'
+
env
[
'CI_MERGE_REQUEST_IID'
],
token
=
env
[
'K8S_SECRET_TWIN_PIPELINE'
])
if
not
CheckEnvParameters
([
'CI_PROJECT_ID'
,
'CI_PIPELINE_ID'
]):
sys
.
exit
(
1
)
mrInfo
=
GitlabRequest
(
'merge_requests/'
+
env
[
'CI_MERGE_REQUEST_IID'
],
token
=
env
[
'K8S_SECRET_API_TOKEN'
])
wip_regex
=
re
.
compile
(
"^[Ww][Ii][Pp]:"
)
# is it a "WIP" merge request ?
if
wip_regex
.
search
(
mrInfo
[
"title"
]):
# Yes: cancel the current pipeline
print
(
"Cancel current pipeline "
+
env
[
'CI_PIPELINE_ID'
])
GitlabRequest
(
'pipelines/'
+
env
[
'CI_PIPELINE_ID'
]
+
'/cancel'
,
data
=
{},
\
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
TWIN_PIPELINE
'
])
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
API_TOKEN
'
])
time
.
sleep
(
180
)
print
(
"Error: this pipeline should have been canceled"
)
sys
.
exit
(
1
)
else
:
# No: cancel any previous "normal" pipeline on the same SHA1
jres
=
GitlabRequest
(
'pipelines?sha='
+
sha1
,
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
TWIN_PIPELINE
'
])
jres
=
GitlabRequest
(
'pipelines?sha='
+
sha1
,
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
API_TOKEN
'
])
for
item
in
jres
:
if
item
[
"id"
]
<
int
(
env
[
'CI_PIPELINE_ID'
])
and
item
[
"status"
]
==
"running"
:
print
(
"Cancel pipeline "
+
str
(
item
[
"id"
]))
jres2
=
GitlabRequest
(
'pipelines/'
+
str
(
item
[
"id"
])
+
'/cancel'
,
data
=
{},
\
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
TWIN_PIPELINE
'
])
project
=
env
[
'CI_PROJECT_ID'
],
token
=
env
[
'K8S_SECRET_
API_TOKEN
'
])
CI/configure_options.cmake
View file @
396701b0
...
...
@@ -55,8 +55,7 @@ OTB_USE_SSE_FLAGS:BOOL=ON
OTB_MPIEXEC_OPT:STRING=--allow-run-as-root"
)
set
(
otb_wrap_option
"OTB_WRAP_JAVA:BOOL=ON
OTB_WRAP_PYTHON:BOOL=ON"
)
"OTB_WRAP_PYTHON:BOOL=ON"
)
set
(
otb_data_option
"OTB_DATA_USE_LARGEINPUT:BOOL=OFF
...
...
CI/main_superbuild.cmake
View file @
396701b0
...
...
@@ -51,7 +51,7 @@ find_program(CTEST_GIT_COMMAND NAMES git git.cmd)
# FIXME: Replace ${GIT} variable with $[CTEST_GIT_COMMAND}"
set
(
GIT
"
${
CTEST_GIT_COMMAND
}
"
)
set
(
DEBUG 1
)
execute_process
(
COMMAND
${
GIT
}
"clone"
"
${
REMOTE
}
"
"--branch"
"
${
BRANCH_NAME
}
"
"--depth"
"1"
"superbuild-artifact"
...
...
CI/prepare_superbuild.cmake
View file @
396701b0
...
...
@@ -24,8 +24,6 @@ include( "${CMAKE_CURRENT_LIST_DIR}/macros.cmake" )
set
(
ENV{LANG}
"C"
)
# Only ascii output
get_filename_component
(
OTB_SOURCE_DIR
${
CMAKE_CURRENT_LIST_DIR
}
DIRECTORY
)
set
(
DEBUG
"1"
)
set
(
SUPERBUILD_SOURCE_DIR
"
${
OTB_SOURCE_DIR
}
/SuperBuild"
)
set
(
CTEST_BUILD_CONFIGURATION
"Release"
)
...
...
@@ -184,55 +182,6 @@ execute_process(
)
set
(
SB_ARTIFACT_GIT
"
${
OTB_SOURCE_DIR
}
/superbuild-artifact"
)
# setting up the repo
# StrictHostKeyChecking so we don't have to add the host as a known key
# -F /dev/null so the agent is not taking a default file ~/.ssh/..
execute_process
(
COMMAND
${
GIT
}
"config"
"core.sshCommand"
"ssh -o StrictHostKeyChecking=no"
WORKING_DIRECTORY
${
SB_ARTIFACT_GIT
}
RESULT_VARIABLE ssh_res
OUTPUT_VARIABLE ssh_out
ERROR_VARIABLE ssh_err
)
if
(
DEBUG
)
message
(
"Step 1: ssh"
)
message
(
"ssh_res =
${
ssh_res
}
"
)
message
(
"ssh_out =
${
ssh_out
}
"
)
message
(
"ssh_err =
${
ssh_err
}
"
)
endif
()
execute_process
(
COMMAND
${
GIT
}
"config"
"user.mail"
"otbbot@orfeo-toolbox.org"
WORKING_DIRECTORY
${
SB_ARTIFACT_GIT
}
RESULT_VARIABLE mail_res
OUTPUT_VARIABLE mail_out
ERROR_VARIABLE mail_err
)
if
(
DEBUG
)
message
(
"Step 2: mail"
)
message
(
"mail_res =
${
mail_res
}
"
)
message
(
"mail_out =
${
mail_out
}
"
)
message
(
"mail_err =
${
mail_err
}
"
)
endif
()
execute_process
(
COMMAND
${
GIT
}
"config"
"user.name"
"otbbot"
WORKING_DIRECTORY
${
SB_ARTIFACT_GIT
}
RESULT_VARIABLE name_res
OUTPUT_VARIABLE name_out
ERROR_VARIABLE name_err
)
if
(
DEBUG
)
message
(
"Step 3: name"
)
message
(
"name_res =
${
name_res
}
"
)
message
(
"name_out =
${
name_out
}
"
)
message
(
"name_err =
${
name_err
}
"
)
endif
()
# create a branche
execute_process
(
COMMAND
${
GIT
}
"checkout"
"-b"
"
${
BRANCH_NAME
}
"
...
...
@@ -260,9 +209,6 @@ execute_process(
WORKING_DIRECTORY
${
OTB_SOURCE_DIR
}
)
# In a near futur it might be nice to clean up the mess we made...
if
(
DEBUG
)
if
(
EXISTS
"
${
SB_ARTIFACT_GIT
}
/
${
SB_TAR_NAME
}
"
)
message
(
"Tar file exists in superbuild_artefact at:
${
SB_ARTIFACT_GIT
}
/
${
SB_TAR_NAME
}
"
)
...
...
CMakeLists.txt
View file @
396701b0
...
...
@@ -165,9 +165,6 @@ endif()
if
(
NOT OTB_INSTALL_PYTHON_DIR
)
set
(
OTB_INSTALL_PYTHON_DIR
"
${
OTB_INSTALL_LIBRARY_DIR
}
/otb/python"
)
endif
()
if
(
NOT OTB_INSTALL_JAVA_DIR
)
set
(
OTB_INSTALL_JAVA_DIR
"
${
OTB_INSTALL_LIBRARY_DIR
}
/otb/java"
)
endif
()
if
(
NOT OTB_INSTALL_DATA_DIR
)
set
(
OTB_INSTALL_DATA_DIR
"share/otb"
)
endif
()
...
...
@@ -533,7 +530,6 @@ foreach(otb_option
CMAKE_CXX_FLAGS
${
option_list
}
OTB_WRAP_PYTHON
OTB_WRAP_JAVA
OTB_DATA_ROOT
OTB_USE_OPENMP
OTB_USE_SSE_FLAGS
...
...
Data/Baseline/OTB-Applications/Files/apTvClTrainVectorRegressionModel.1.txt
0 → 100644
View file @
396701b0
io.mse: 0.003289417131
Data/Baseline/OTB-Applications/Files/apTvClTrainVectorRegressionModel.txt
0 → 100644
View file @
396701b0
io.mse: 0.001359587419
Data/Baseline/OTB-Applications/Files/apTvTestApplicationOutputXML_All.xml
View file @
396701b0
...
...
@@ -5,7 +5,6 @@
<name>
TestApplication
</name>
<descr>
This application helps developers to test parameters types
</descr>
<doc>
<name>
Test
</name>
<longdescr>
The purpose of this application is to test parameters types.
</longdescr>
<authors>
OTB-Team
</authors>
<limitations>
None
</limitations>
...
...
Documentation/Cookbook/Scripts/otbGenerateWrappersRstDoc.py
View file @
396701b0
...
...
@@ -25,7 +25,7 @@ import argparse
import
re
import
otbApplication
from
otbApplication
import
ParameterType_Bool
,
ParameterType_Int
,
ParameterType_Radius
,
ParameterType_RAM
,
ParameterType_Float
,
ParameterType_String
,
ParameterType_StringList
,
ParameterType_InputFilename
,
ParameterType_OutputFilename
,
ParameterType_InputImage
,
ParameterType_OutputImage
,
ParameterType_InputVectorData
,
ParameterType_OutputVectorData
,
ParameterType_Directory
,
ParameterType_Choice
,
ParameterType_InputImageList
,
ParameterType_InputVectorDataList
,
ParameterType_InputFilenameList
,
ParameterType_InputProcessXML
,
ParameterType_OutputProcessXML
,
ParameterType_ListView
,
ParameterType_Group
from
otbApplication
import
ParameterType_Bool
,
ParameterType_Int
,
ParameterType_Radius
,
ParameterType_RAM
,
ParameterType_Float
,
ParameterType_String
,
ParameterType_StringList
,
ParameterType_InputFilename
,
ParameterType_OutputFilename
,
ParameterType_InputImage
,
ParameterType_OutputImage
,
ParameterType_InputVectorData
,
ParameterType_OutputVectorData
,
ParameterType_Directory
,
ParameterType_Choice
,
ParameterType_InputImageList
,
ParameterType_InputVectorDataList
,
ParameterType_InputFilenameList
,
ParameterType_ListView
,
ParameterType_Group
from
otb_warnings
import
application_documentation_warnings
...
...
@@ -202,7 +202,6 @@ def rst_parameter_value(app, key):
values
.
update
({
ParameterType_InputImageList
:
"image1 image2..."
})
values
.
update
({
ParameterType_InputVectorDataList
:
"vectorfile1 vectorfile2..."
})
values
.
update
({
ParameterType_InputFilenameList
:
"filename1 filename2..."
})
values
.
update
(
dict
.
fromkeys
([
ParameterType_InputProcessXML
,
ParameterType_OutputProcessXML
],
"filename.xml"
))
if
type
in
values
:
return
values
[
type
]
...
...
@@ -356,10 +355,17 @@ def make_links(text, allapps):
rep
=
{
appname
:
":ref:`{}`"
.
format
(
appname
)
for
appname
in
allapps
}
return
multireplace
(
text
,
rep
)
def
render_deprecation_string
(
app
):
if
app
.
IsDeprecated
():
return
"This application is deprecated and will be removed in a future release."
else
:
return
""
def
render_application
(
appname
,
allapps
):
"Render app to rst"
app
=
otbApplication
.
Registry
.
CreateApplication
(
appname
)
# Create the application without logger to avoid the deprecation warning log
app
=
otbApplication
.
Registry
.
CreateApplicationWithoutLogger
(
appname
)
# TODO: remove this when bug 440 is fixed
app
.
Init
()
...
...
@@ -368,6 +374,7 @@ def render_application(appname, allapps):
output
=
template_application
.
format
(
label
=
appname
,
deprecation_string
=
render_deprecation_string
(
app
),
heading
=
rst_section
(
app
.
GetName
(),
'='
),
description
=
app
.
GetDescription
(),
longdescription
=
make_links
(
app
.
GetDocLongDescription
(),
allapps
),
...
...
@@ -381,8 +388,9 @@ def render_application(appname, allapps):
return
output
def
GetApplicationTags
(
appname
):
app
=
otbApplication
.
Registry
.
CreateApplication
(
appname
)
return
app
.
GetDocTags
()
# Create the application without logger to avoid the deprecation warning log
app
=
otbApplication
.
Registry
.
CreateApplicationWithoutLogger
(
appname
)
return
app
.
GetDocTags
()
def
GenerateRstForApplications
(
rst_dir
):
"Generate .rst files for all applications"
...
...
@@ -404,9 +412,12 @@ def GenerateRstForApplications(rst_dir):
for
appName
in
appNames
:
# Get application first tag
tags
=
GetApplicationTags
(
appName
)
tags
=
list
(
GetApplicationTags
(
appName
))
if
"Deprecated"
in
tags
:
tags
.
remove
(
"Deprecated"
)
if
not
tags
or
len
(
tags
)
==
0
:
raise
RuntimeError
(
"No tags for application: "
+
appName
)
tag
=
tags
[
0
]
tag_
=
tag
.
replace
(
" "
,
"_"
)
...
...
Documentation/Cookbook/rst/C++/WriteAnApplication.rst
View file @
396701b0
...
...
@@ -158,9 +158,6 @@ parameters:
- ``ParameterType_InputVectorDataList`` : parameter storing a list of
input vector data.
- ``ParameterType_InputProcessXML`` : parameter storing an input XML
file name.
- ``ParameterType_OutputFilename`` : parameter storing an output file
name.
...
...
@@ -169,9 +166,6 @@ parameters:
- ``ParameterType_OutputVectorData`` : parameter storing an output
vector data.
- ``ParameterType_OutputProcessXML`` : parameter storing an output XML
file name.
- ``ParameterType_RAM`` : parameter storing the maximum amount of RAM
to be used.
...
...
Documentation/Cookbook/rst/CliInterface.rst
View file @
396701b0
...
...
@@ -123,7 +123,6 @@ example based on the OrthoRectification application:
-opt.rpc <int32> RPC modeling (points per axis) (optional, off by default, default value is 10)
-opt.ram <int32> Available RAM (MB) (optional, off by default, default value is 128)
-opt.gridspacing <float> Resampling grid spacing (optional, off by default, default value is 4)
-inxml <string> Load parameters from XML (optional, off by default)
-progress <boolean> Report progress
-help <string list> Display long help (empty list), or help for given parameters keys
...
...
@@ -145,11 +144,10 @@ Command-line examples are provided in the chapter :ref:`apprefdoc`.
Load and save parameters to XML
-------------------------------
Since OTB 3.20, OTB applications parameters can be export/import to/from
an XML file using inxml/outxml parameters. Those parameters are
available in all applications.
An example is worth a thousand words
OTB application parameters can be saved and loaded to
an XML file using the special ``-inxml`` and ``-outxml`` parameters.
Those parameters are available in all applications.
For example:
::
...
...
@@ -177,17 +175,6 @@ time
In this case it will use as mathematical expression “(im1b1 - im2b1)”
instead of “abs(im1b1 - im2b1)”.
Finally, you can also launch applications directly from the command-line
launcher executable using the inxml parameter without having to declare
the application name. Use in this case:
::
otbApplicationLauncherCommandLine -inxml saved_applications_parameters.xml
It will retrieve the application name and related parameters from the
input XML file and launch in this case the BandMath applications.
Parallel execution with MPI
---------------------------
...
...
Documentation/Cookbook/rst/Installation.rst
View file @
396701b0
...
...
@@ -152,3 +152,15 @@ following repositories with these command-lines:
http://download.opensuse.org/repositories/home:/tzotsos/openSUSE_Tumbleweed/ tzotsos
and then add the OTB packages as shown above.
Archlinux
~~~~~~~~~~
Package is in AUR (Arch User Repository).
You will then need to run (if you use yaourt, you could use trizen instead):
::
yaourt -S orfeo-toolbox
Documentation/Cookbook/rst/PythonAPI.rst
View file @
396701b0
...
...
@@ -218,11 +218,34 @@ implementation does not break it, for instance by using an internal
writer to write intermediate data. In this case, execution should
still be correct, but some intermediate data will be read or written.
Load and save parameters to XML
-------------------------------
As with a the `command line interface` you can save application parameters
to an xml file:
.. code-block:: python
# Save application parameters to XML
app = otb.Registry.CreateApplication('BandMath')
app.SetParameterStringList("il", ["image1.tif", "image2.tif"], True)
app.SetParameterString("out", out, True)
app.SetParameterString("exp", "cos(im1b1)+im2b1*im1b1", True)
app.SaveParametersToXML("parameters.xml")
And load them later for execution:
.. code-block:: python
# Load application parameters from XML
app = otb.Registry.CreateApplication("BandMath")
app.LoadParametersFromXML("parameters.xml")
app.ExecuteAndWriteOutput()
Interactions with OTB pipeline
------------------------------
[Since OTB 6.6]
The application framework has been extended in order to provide ways to
interact with the pipelines inside each application. It applies only to
applications that use input or output images. Let's check which
...
...
Documentation/Cookbook/rst/templates/application.rst
View file @
396701b0
.. _{label}:
{heading}
{deprecation_string}
{description}
Description
...
...
Examples/Application/ApplicationExample.cxx
View file @
396701b0
...
...
@@ -68,7 +68,6 @@ private:
// \begin{description}
// \item[\code{SetName()}] Name of the application.
// \item[\code{SetDescription()}] Set the short description of the class.
// \item[\code{SetDocName()}] Set long name of the application (that can be displayed \dots).
// \item[\code{SetDocLongDescription()}] This methods is used to describe the class.
// \item[\code{SetDocLimitations()}] Set known limitations (threading, invalid pixel type \dots) or bugs.
// \item[\code{SetDocAuthors()}] Set the application Authors. Author List. Format : "John Doe, Winnie the Pooh" \dots
...
...
@@ -81,7 +80,6 @@ private:
"Pay attention, it includes Latex snippets in order to generate "
"software guide documentation"
);
SetDocName
(
"Example"
);
SetDocLongDescription
(
"The purpose of this application is "
"to present parameters types,"
...
...
Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
View file @
396701b0
...
...
@@ -49,7 +49,6 @@ private:
SetDescription
(
"Change detection by Multivariate Alteration Detector (MAD) algorithm"
);
// Documentation
SetDocName
(
"Multivariate Alteration Detector"
);
SetDocLongDescription
(
"This application performs change detection between two multispectral"
" images using the Multivariate Alteration Detector (MAD) [1]"
" algorithm.
\n\n
"
...
...
Modules/Applications/AppClassification/app/CMakeLists.txt
View file @
396701b0
...
...
@@ -65,6 +65,11 @@ otb_create_application(
SOURCES otbTrainRegression.cxx
LINK_LIBRARIES
${${
otb-module
}
_LIBRARIES
}
)
otb_create_application
(
NAME TrainVectorRegression
SOURCES otbTrainVectorRegression.cxx
LINK_LIBRARIES
${${
otb-module
}
_LIBRARIES
}
)
otb_create_application
(
NAME PredictRegression
SOURCES otbPredictRegression.cxx
...
...
Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
View file @
396701b0
...
...
@@ -62,7 +62,6 @@ private:
SetName
(
"ClassificationMapRegularization"
);
SetDescription
(
"Filters the input labeled image using Majority Voting in a ball shaped neighbordhood"
);
SetDocName
(
"Classification Map Regularization"
);
SetDocLongDescription
(
"This application filters the input labeled image (with a maximal class label = 65535) using Majority Voting in a ball shaped neighbordhood."
...
...
Prev
1
2
3
4
5
…
10
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment