isce3 0.25.0
Loading...
Searching...
No Matches
isce3::product::RadarGridParameters Class Reference

Public Member Functions

 RadarGridParameters ()
 Default constructor.
 
 RadarGridParameters (const isce3::product::RadarGridProduct &product, char frequency='A')
 Constructor with a product.
 
 RadarGridParameters (const isce3::product::Swath &swath, isce3::core::LookSide lookSide)
 Constructor with a swath.
 
 RadarGridParameters (const isce3::core::Metadata &meta, const isce3::core::DateTime &refEpoch)
 Constructor from an isce3::core::Metadata object.
 
 RadarGridParameters (double sensingStart, double wavelength, double prf, double startingRange, double rangePixelSpacing, isce3::core::LookSide lookSide, size_t length, size_t width, isce3::core::DateTime refEpoch)
 Constructor from individual components and values.
 
 RadarGridParameters (const RadarGridParameters &rgparam)
 Copy constructor.
 
RadarGridParametersoperator= (const RadarGridParameters &rgparam)
 Assignment operator.
 
isce3::core::LookSide lookSide () const
 Get the look direction.
 
void lookSide (isce3::core::LookSide side)
 Set look direction.
 
void lookSide (const std::string &)
 Set look direction from a string.
 
const isce3::core::DateTimerefEpoch () const
 Get reference epoch DateTime.
 
void refEpoch (const isce3::core::DateTime &epoch)
 Set reference epoch DateTime.
 
double sensingStart () const
 Get sensing start time in seconds since reference epoch.
 
void sensingStart (const double &t)
 Set sensing start time in seconds since reference epoch.
 
double wavelength () const
 Get radar wavelength in meters.
 
void wavelength (const double &t)
 Set radar wavelength in meters.
 
double prf () const
 Get pulse repetition frequency in Hz - inverse of azimuth time interval.
 
void prf (const double &t)
 Set pulse repetition frequency in Hz - inverse of azimuth time interval.
 
double azimuthTimeInterval () const
 Get azimuth time interval in seconds.
 
double startingRange () const
 Get starting slant range in meters.
 
void startingRange (const double &r)
 Set starting slant range in meters.
 
double rangePixelSpacing () const
 Get slant range pixel spacing in meters.
 
void rangePixelSpacing (const double &t)
 Set slant range pixel spacing in meters.
 
size_t length () const
 Get radar grid length.
 
void length (const size_t &t)
 Set radar grid length.
 
size_t width () const
 Get radar grid width.
 
void width (const size_t &t)
 Set radar grid width.
 
size_t size () const
 Get total number of radar grid elements.
 
double sensingStop () const
 Get sensing stop time in seconds since reference epoch.
 
double sensingMid () const
 Get sensing mid time in seconds.
 
double sensingTime (double line) const
 Get sensing time for a given line (zero-index row)
 
double azimuthIndex (double az_time) const
 Get azimuth fractional index (line) at a given sensing time.
 
isce3::core::DateTime sensingDateTime (double line) const
 Get a sensing DateTime for a given line (zero-index row)
 
double endingRange () const
 Get ending slant range.
 
double midRange () const
 Get middle slant range.
 
double slantRange (double sample) const
 Get slant range for a given sample (zero-index column)
 
double slantRangeIndex (double slant_range) const
 Get slant range fractional index at a given slant range distance.
 
RadarGridParameters offsetAndResize (double yoff, double xoff, size_t ysize, size_t xsize) const
 Crop/ Expand while keeping the spacing the same with top left offset and size.
 
RadarGridParameters resizeKeepStartStop (size_t ysize, size_t xsize) const
 Return a new resized radar grid with the same start and stop points.
 
RadarGridParameters addMargin (size_t ymargin, size_t xmargin, std::string side="both") const
 Add margins to start, stop or both sides to the radar grid.
 
RadarGridParameters multilook (size_t azlooks, size_t rglooks) const
 Multilook.
 
RadarGridParameters upsample (size_t az_upsampling_factor, size_t rg_upsampling_factor) const
 Upsample.
 
bool contains (const double az_time, const double srange) const
 

Protected Member Functions

void validate () const
 Validate parameters of data structure.
 

Protected Attributes

isce3::core::LookSide _lookSide
 Left or right looking geometry indicator.
 
double _sensingStart
 Sensing start time.
 
double _wavelength
 Imaging wavelength.
 
double _prf
 PRF.
 
double _startingRange
 Slant range to center of first pixel.
 
double _rangePixelSpacing
 Slant range pixel spacing.
 
size_t _rlength
 Number of lines in the image.
 
size_t _rwidth
 Number of samples in the image.
 
isce3::core::DateTime _refEpoch
 Reference epoch for time tags.
 

Constructor & Destructor Documentation

◆ RadarGridParameters() [1/4]

isce3::product::RadarGridParameters::RadarGridParameters ( const isce3::product::RadarGridProduct & product,
char frequency = 'A' )

Constructor with a product.

Parameters
[in]productInput RadarGridProduct
[in]frequencyFrequency designation

◆ RadarGridParameters() [2/4]

isce3::product::RadarGridParameters::RadarGridParameters ( const isce3::product::Swath & swath,
isce3::core::LookSide lookSide )

Constructor with a swath.

Parameters
[in]swathInput swath
[in]lookSideIndicate left (+1) or right (-1)

◆ RadarGridParameters() [3/4]

isce3::product::RadarGridParameters::RadarGridParameters ( const isce3::core::Metadata & meta,
const isce3::core::DateTime & refEpoch )
inline

Constructor from an isce3::core::Metadata object.

Parameters
[in]metaisce3::core::Metadata object
[in]refEpochReference epoch date

◆ RadarGridParameters() [4/4]

isce3::product::RadarGridParameters::RadarGridParameters ( const RadarGridParameters & rgparams)
inline

Copy constructor.

Parameters
[in]rgparamRadarGridParameters object

Member Function Documentation

◆ addMargin()

RadarGridParameters isce3::product::RadarGridParameters::addMargin ( size_t ymargin,
size_t xmargin,
std::string side = "both" ) const
inline

Add margins to start, stop or both sides to the radar grid.

Parameters
[in]ymarginthe number of margin samples along the azimuth
[in]xmarginthe number of margin samples along the slant range
[in]sidethe side where the margin samples will be added ('start', 'stop', 'both') NOTE: When only add the margin to the azimuth, please pass 'xmargin' as 0. Similarly, when only add the margin to the slant range, please pass 'ymargin' as 0.

◆ lookSide()

void isce3::product::RadarGridParameters::lookSide ( const std::string & inputLook)
inline

Set look direction from a string.

Parameters
[in]lookString representation of look side

◆ operator=()

isce3::product::RadarGridParameters & isce3::product::RadarGridParameters::operator= ( const RadarGridParameters & rgparams)
inline

Assignment operator.

Parameters
[in]rgparamRadarGridParameters object

◆ refEpoch()

void isce3::product::RadarGridParameters::refEpoch ( const isce3::core::DateTime & epoch)
inline

Set reference epoch DateTime.

Other dependent parameters like sensingStart are not modified. Use with caution.

◆ resizeKeepStartStop()

RadarGridParameters isce3::product::RadarGridParameters::resizeKeepStartStop ( size_t ysize,
size_t xsize ) const
inline

Return a new resized radar grid with the same start and stop points.

Parameters
[in]ysizenew number of samples along the azimuth direction
[in]xsizenew number of samples along the slant range direction

The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.13.2.