isce3 0.25.0
Loading...
Searching...
No Matches
Grid.h
1//-*- C++ -*-
2//-*- coding: utf-8 -*-
3
4#pragma once
5
6// std
7#include <valarray>
8
9// isce3::core
10#include <isce3/core/DateTime.h>
11#include <isce3/core/LUT2d.h>
12#include <isce3/core/Constants.h>
13
14// isce3::io
15#include <isce3/io/Raster.h>
16
17// isce3::product
18#include <isce3/product/GeoGridParameters.h>
19
20// Declaration
21namespace isce3 {
22 namespace product {
23
24
29class Grid {
30
31 public:
32 // Constructors
33 inline Grid() {};
34
36 inline double rangeBandwidth() const { return _rangeBandwidth; }
38 inline void rangeBandwidth(double b) { _rangeBandwidth = b; }
39
41 inline double azimuthBandwidth() const { return _azimuthBandwidth; }
43 inline void azimuthBandwidth(double b) { _azimuthBandwidth = b; }
44
46 inline double centerFrequency() const { return _centerFrequency; }
48 inline void centerFrequency(double f) { _centerFrequency = f; }
49
51 inline double wavelength() const {
52 return isce3::core::speed_of_light / _centerFrequency;
53 }
54
56 inline double slantRangeSpacing() const {
57 return _slantRangeSpacing;
58 }
59
60 inline void slantRangeSpacing(double s) {
61 _slantRangeSpacing = s;
62 }
63
66 return _geogrid;
67 }
68
71 _geogrid = geogrid;
72 }
73
75 inline double zeroDopplerTimeSpacing() const { return _zeroDopplerTimeSpacing; }
77 inline void zeroDopplerTimeSpacing(double dt) { _zeroDopplerTimeSpacing = dt; }
78
79 /* Geogrid parameters */
80
82 inline double startX() const { return _geogrid.startX(); }
84 inline void startX(double val) { _geogrid.startX(val); }
85
87 inline double startY() const { return _geogrid.startY(); }
89 inline void startY(double val) { _geogrid.startY(val);}
90
92 inline double spacingX() const { return _geogrid.spacingX(); }
94 inline void spacingX(double val) { _geogrid.spacingX(val); }
95
97 inline double spacingY() const { return _geogrid.spacingY(); }
99 inline void spacingY(double val) { _geogrid.spacingY(val);}
100
102 inline size_t width() const { return _geogrid.width(); }
104 inline void width(int w) { _geogrid.width(w); }
105
107 inline size_t length() const { return _geogrid.length(); }
108 //** Set number of pixels in east-west/x direction for geocoded grid */
109 inline void length(int l) { _geogrid.length(l); }
110
112 inline size_t epsg() const { return _geogrid.epsg(); }
113 //** Set epsg code for geocoded grid */
114 inline void epsg(int l) { _geogrid.epsg(l); }
115
116
117 private:
118
119 // Other metadata
121 double _rangeBandwidth = std::numeric_limits<double>::quiet_NaN();
122 double _azimuthBandwidth = std::numeric_limits<double>::quiet_NaN();
123 double _slantRangeSpacing = std::numeric_limits<double>::quiet_NaN();
124 double _zeroDopplerTimeSpacing = std::numeric_limits<double>::quiet_NaN();
125 double _centerFrequency = std::numeric_limits<double>::quiet_NaN();
126
127};
128
129
130 }
131}
Definition GeoGridParameters.h:21
void epsg(int e)
Set epsg code for geocoded grid.
Definition GeoGridParameters.h:65
void length(int l)
Set number of pixels in east-west/x direction for geocoded grid.
Definition GeoGridParameters.h:59
double azimuthBandwidth() const
Get acquired azimuth bandwidth in Hz.
Definition Grid.h:41
size_t epsg() const
Get epsg code for geocoded grid.
Definition Grid.h:112
double centerFrequency() const
Get processed center frequency in Hz.
Definition Grid.h:46
void width(int w)
Set number of pixels in north-south/y direction for geocoded grid.
Definition Grid.h:104
void azimuthBandwidth(double b)
Set acquired azimuth bandwidth in Hz.
Definition Grid.h:43
void geogrid(isce3::product::GeoGridParameters geogrid)
Set geogrid.
Definition Grid.h:70
void startX(double val)
Set the X-coordinate start.
Definition Grid.h:84
double rangeBandwidth() const
Get acquired range bandwidth in Hz.
Definition Grid.h:36
double spacingY() const
Get the y-coordinate spacing.
Definition Grid.h:97
size_t width() const
Get number of pixels in east-west/x direction for geocoded grid.
Definition Grid.h:102
double wavelength() const
Get processed wavelength in meters.
Definition Grid.h:51
void slantRangeSpacing(double s)
Set scene center ground range spacing in meters.
Definition Grid.h:60
double slantRangeSpacing() const
Get scene center ground range spacing in meters.
Definition Grid.h:56
void spacingY(double val)
Set the y-coordinate spacing.
Definition Grid.h:99
void spacingX(double val)
Set the X-coordinate spacing.
Definition Grid.h:94
double startX() const
Get the X-coordinate start.
Definition Grid.h:82
void zeroDopplerTimeSpacing(double dt)
Set time spacing of raster grid in seconds.
Definition Grid.h:77
void centerFrequency(double f)
Set processed center frequency in Hz.
Definition Grid.h:48
isce3::product::GeoGridParameters geogrid()
Get geogrid.
Definition Grid.h:65
void rangeBandwidth(double b)
Set acquired range bandwidth in Hz.
Definition Grid.h:38
double startY() const
Get the y-coordinate start.
Definition Grid.h:87
void startY(double val)
Set the y-coordinate start.
Definition Grid.h:89
double zeroDopplerTimeSpacing() const
Get time spacing of raster grid in seconds.
Definition Grid.h:75
size_t length() const
Get number of pixels in north-south/y direction for geocoded grid.
Definition Grid.h:107
double spacingX() const
Get the X-coordinate spacing.
Definition Grid.h:92
The isce3::product namespace.
Definition forward.h:3
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5

Generated for ISCE3.0 by doxygen 1.13.2.