Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
otb
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
David Youssefi
otb
Commits
6fbb120e
Commit
6fbb120e
authored
13 years ago
by
Julien Michel
Browse files
Options
Downloads
Patches
Plain Diff
DOC: Adding an example for the MAF filter
parent
66fd07d4
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Examples/DimensionReduction/CMakeLists.txt
+16
-0
16 additions, 0 deletions
Examples/DimensionReduction/CMakeLists.txt
Examples/DimensionReduction/MaximumAutocorrelationFactor.cxx
+174
-0
174 additions, 0 deletions
Examples/DimensionReduction/MaximumAutocorrelationFactor.cxx
with
190 additions
and
0 deletions
Examples/DimensionReduction/CMakeLists.txt
0 → 100644
+
16
−
0
View file @
6fbb120e
PROJECT
(
ChangeDetectionExamples
)
INCLUDE_REGULAR_EXPRESSION
(
"^.*$"
)
# Adjust the compiler flags to avoid problems with multiline comment.
IF
(
CMAKE_COMPILER_IS_GNUCXX
)
SET_SOURCE_FILES_PROPERTIES
(
KullbackLeiblerDistanceChDet.cxx
PROPERTIES COMPILE_FLAGS -Wno-comment
)
ENDIF
(
CMAKE_COMPILER_IS_GNUCXX
)
ADD_EXECUTABLE
(
PCAExample PCAExample.cxx
)
TARGET_LINK_LIBRARIES
(
PCAExample OTBCommon OTBIO OTBBasicFilters
)
ADD_EXECUTABLE
(
MaximumAutocorrelationFactor MaximumAutocorrelationFactor.cxx
)
TARGET_LINK_LIBRARIES
(
MaximumAutocorrelationFactor OTBIO OTBCommon OTBBasicFilters
)
This diff is collapsed.
Click to expand it.
Examples/DimensionReduction/MaximumAutocorrelationFactor.cxx
0 → 100644
+
174
−
0
View file @
6fbb120e
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#include
"otbVectorImage.h"
#include
"otbImageFileReader.h"
#include
"otbStreamingImageFileWriter.h"
#include
"otbPrintableImageFilter.h"
// Software Guide : BeginCommandLineArgs
// INPUTS: {wv2_cannes_8bands.tif}
// OUTPUTS: {MAFOutput.tif}, {maf-input.png}, {maf-output.png}
//
// Software Guide : EndCommandLineArgs
// Software Guide : BeginLatex
// This example illustrates the class
// \doxygen{otb}{MaximumAutocorrelationFactorImageFilter} ...
//
// We start by including the corresponding header file.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
#include
"otbMaximumAutocorrelationFactorImageFilter.h"
// Software Guide : EndCodeSnippet
int
main
(
int
argc
,
char
*
argv
[])
{
char
*
infname
=
argv
[
1
];
char
*
outfname
=
argv
[
2
];
char
*
inpretty
=
argv
[
3
];
char
*
outpretty
=
argv
[
4
];
// Software Guide : BeginLatex
// We then define the types for the input image and the
// output image.
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
typedef
otb
::
VectorImage
<
unsigned
short
,
2
>
InputImageType
;
typedef
otb
::
VectorImage
<
double
,
2
>
OutputImageType
;
// Software Guide : EndCodeSnippet
// Software Guide : BeginLatex
//
// We can now declare the types for the reader. Since the images
// can be vey large, we will force the pipeline to use
// streaming. For this purpose, the file writer will be
// streamed. This is achieved by using the
// \doxygen{otb}{StreamingImageFileWriter} class.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
typedef
otb
::
ImageFileReader
<
InputImageType
>
ReaderType
;
typedef
otb
::
StreamingImageFileWriter
<
OutputImageType
>
WriterType
;
// Software Guide : EndCodeSnippet
// SoftwareGuide : BeginLatex
// The \doxygen{otb}{MultivariateAlterationDetectorImageFilter} is templated over
// the type of the input images and the type of the generated change
// image.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
typedef
otb
::
MaximumAutocorrelationFactorImageFilter
<
InputImageType
,
OutputImageType
>
FilterType
;
// Software Guide : EndCodeSnippet
// Software Guide : BeginLatex
//
// The different elements of the pipeline can now be instantiated.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
ReaderType
::
Pointer
reader
=
ReaderType
::
New
();
WriterType
::
Pointer
writer
=
WriterType
::
New
();
FilterType
::
Pointer
filter
=
FilterType
::
New
();
// Software Guide : EndCodeSnippet
// Software Guide : BeginLatex
//
// We set the parameters of the different elements of the pipeline.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
reader
->
SetFileName
(
infname
);
writer
->
SetFileName
(
outfname
);
// Software Guide : EndCodeSnippet
// Software Guide : BeginLatex
//
// We build the pipeline by plugging all the elements together.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
filter
->
SetInput
(
reader
->
GetOutput
());
writer
->
SetInput
(
filter
->
GetOutput
());
// Software Guide : EndCodeSnippet
// Software Guide : BeginLatex
//
// And then we can trigger the pipeline update, as usual.
//
// Software Guide : EndLatex
// Software Guide : BeginCodeSnippet
writer
->
Update
();
// Software Guide : EndCodeSnippet
// This is for rendering in software guide
typedef
otb
::
PrintableImageFilter
<
InputImageType
,
InputImageType
>
InputPrintFilterType
;
typedef
otb
::
PrintableImageFilter
<
OutputImageType
,
OutputImageType
>
OutputPrintFilterType
;
typedef
InputPrintFilterType
::
OutputImageType
VisuImageType
;
typedef
otb
::
StreamingImageFileWriter
<
VisuImageType
>
VisuWriterType
;
InputPrintFilterType
::
Pointer
inputPrintFilter
=
InputPrintFilterType
::
New
();
OutputPrintFilterType
::
Pointer
outputPrintFilter
=
OutputPrintFilterType
::
New
();
VisuWriterType
::
Pointer
inputVisuWriter
=
VisuWriterType
::
New
();
VisuWriterType
::
Pointer
outputVisuWriter
=
VisuWriterType
::
New
();
inputPrintFilter
->
SetInput
(
reader
->
GetOutput
());
inputPrintFilter
->
SetChannel
(
5
);
inputPrintFilter
->
SetChannel
(
3
);
inputPrintFilter
->
SetChannel
(
2
);
outputPrintFilter
->
SetInput
(
filter
->
GetOutput
());
outputPrintFilter
->
SetChannel
(
1
);
outputPrintFilter
->
SetChannel
(
2
);
outputPrintFilter
->
SetChannel
(
3
);
inputVisuWriter
->
SetInput
(
inputPrintFilter
->
GetOutput
());
outputVisuWriter
->
SetInput
(
outputPrintFilter
->
GetOutput
());
inputVisuWriter
->
SetFileName
(
inpretty
);
outputVisuWriter
->
SetFileName
(
outpretty
);
inputVisuWriter
->
Update
();
outputVisuWriter
->
Update
();
// Software Guide : BeginLatex
// Figure \ref{fig:MAFFIG} shows the
// results of Maximum Autocorrelation Factor applied to an 8 bands
// Worldview2 image.
// \begin{figure}
// \center \includegraphics[width=0.4\textwidth]{maf-input.eps}
// \includegraphics[width=0.4\textwidth]{maf-output.eps}
// \itkcaption[Maximum Autocorrelation Factor results]{Results of the
// Maximum Autocorrelation Factor algorithm applied to a 8 bands
// Worldview2 image (3 first components).} \label{fig:MAFFIG}
// \end{figure}
// Software Guide : EndLatex
return
EXIT_SUCCESS
;
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment