OTB
9.0.0
Orfeo Toolbox
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Variables
a
c
d
f
g
h
i
l
m
n
p
r
s
t
u
v
Typedefs
b
c
d
f
g
i
k
l
m
n
p
r
s
u
v
z
Enumerations
Enumerator
a
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
u
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
b
c
d
f
h
i
l
m
o
p
s
t
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
a
b
c
e
f
g
i
l
m
n
o
r
Files
File List
File Members
All
_
b
c
d
e
f
g
i
l
m
o
p
r
s
t
u
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
_
b
c
d
g
i
o
r
t
u
Examples
Modules
Core
Transform
include
otbSarInverseTransform.hxx
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3
*
4
* This file is part of Orfeo Toolbox
5
*
6
* https://www.orfeo-toolbox.org/
7
*
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
* You may obtain a copy of the License at
11
*
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*/
20
21
#ifndef otbSarInverseTransform_hxx
22
#define otbSarInverseTransform_hxx
23
24
#include "
otbSarInverseTransform.h
"
25
#include "
otbDEMHandler.h
"
26
27
namespace
otb
28
{
29
template
<
class
TScalarType,
unsigned
int
NInputDimensions,
unsigned
int
NOutputDimensions>
30
SarInverseTransform<TScalarType, NInputDimensions, NOutputDimensions>::SarInverseTransform
() :
Superclass
(
TransformDirection
::INVERSE)
31
{}
32
33
template
<
class
TScalarType,
unsigned
int
NInputDimensions,
unsigned
int
NOutputDimensions>
34
typename
SarInverseTransform<TScalarType, NInputDimensions, NOutputDimensions>::OutputPointType
35
SarInverseTransform<TScalarType, NInputDimensions, NOutputDimensions>::TransformPoint
(
const
InputPointType
& point)
const
36
{
37
SarSensorModel::Point2DType
sensorPoint;
38
SarSensorModel::Point3DType
worldPoint;
39
worldPoint[0] =
static_cast<
double
>
(point[0]);
40
worldPoint[1] =
static_cast<
double
>
(point[1]);
41
if
(NInputDimensions > 2)
42
worldPoint[2] =
static_cast<
double
>
(point[2]);
43
else
44
worldPoint[2] =
otb::DEMHandler::GetInstance
().
GetHeightAboveEllipsoid
(point[0], point[1]);
45
46
this->m_Transformer->WorldToLineSample(worldPoint, sensorPoint);
47
48
OutputPointType
pOut;
49
50
// from centered to upper left corner pixel convention
51
pOut[0] =
static_cast<
TScalarType
>
(sensorPoint[0]) + 0.5;
52
pOut[1] =
static_cast<
TScalarType
>
(sensorPoint[1]) + 0.5;
53
54
if
(NOutputDimensions > 2)
55
pOut[2] =
static_cast<
TScalarType
>
(worldPoint[2]);
56
57
return
pOut;
58
}
59
63
template
<
class
TScalarType,
unsigned
int
NInputDimensions,
unsigned
int
NOutputDimensions>
64
void
SarInverseTransform<TScalarType, NInputDimensions, NOutputDimensions>::PrintSelf
(std::ostream& os, itk::Indent indent)
const
65
{
66
Superclass::PrintSelf(os, indent);
67
os << indent <<
"Transformation direction: Inverse"
<< std::endl;
68
}
70
71
}
72
73
#endif
otb::SarInverseTransform::PrintSelf
void PrintSelf(std::ostream &os, itk::Indent indent) const override
Definition:
otbSarInverseTransform.hxx:64
otb::DEMHandler::GetInstance
static DEMHandler & GetInstance()
otbSarInverseTransform.h
otb::Transform< TScalarType, 2, 3 >::TransformDirection
TransformDirection
Definition:
otbPCAImageFilter.h:34
otb::SarInverseTransform::TransformPoint
OutputPointType TransformPoint(const InputPointType &point) const override
Definition:
otbSarInverseTransform.hxx:35
otbDEMHandler.h
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition:
otbJoinContainer.h:32
otb::SarInverseTransform::SarInverseTransform
SarInverseTransform()
Definition:
otbSarInverseTransform.hxx:30
otb::SarTransformBase
Base projection class based on the Sar model.
Definition:
otbSarTransformBase.h:46
otb::SarInverseTransform::OutputPointType
itk::Point< TScalarType, NOutputDimensions > OutputPointType
Definition:
otbSarInverseTransform.h:49
otb::SarSensorModel::Point2DType
itk::Point< double, 2 > Point2DType
Definition:
otbSarSensorModel.h:41
otb::SarInverseTransform::InputPointType
itk::Point< TScalarType, NInputDimensions > InputPointType
Definition:
otbSarInverseTransform.h:48
otb::SarSensorModel::Point3DType
itk::Point< double, 3 > Point3DType
Definition:
otbSarSensorModel.h:42
otb::DEMHandler::GetHeightAboveEllipsoid
double GetHeightAboveEllipsoid(double lon, double lat) const
Generated at Wed Feb 28 2024 15:23:40 for
OTB
with
1.8.17