isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Geo2rdr.h
1 //-*- coding: utf-8 -*_
2 //
3 // Author: Bryan V. Riel
4 // Copyright: 2017-2018
5 
6 #pragma once
7 
8 #include "forward.h"
9 
10 #include <isce3/core/forward.h>
11 #include <isce3/geometry/Geo2rdr.h>
12 
13 // CUDA Topo class definition
18 
19  public:
21  inline Geo2rdr(const isce3::product::Product & product,
22  char frequency = 'A',
23  bool nativeDoppler = false) :
24  isce3::geometry::Geo2rdr(product, frequency, nativeDoppler) {}
25 
27  inline Geo2rdr(const isce3::core::Ellipsoid & ellps,
28  const isce3::core::Orbit & orbit,
30  const isce3::core::Metadata & meta) :
31  isce3::geometry::Geo2rdr(ellps, orbit, doppler, meta) {}
32 
33  inline Geo2rdr(const isce3::product::RadarGridParameters & radarGrid,
34  const isce3::core::Orbit & orbit,
36  const isce3::core::LUT2d<double> & doppler = {}) :
37  isce3::geometry::Geo2rdr(radarGrid, orbit, ellipsoid, doppler) {}
38 
40  void geo2rdr(isce3::io::Raster & topoRaster,
41  isce3::io::Raster & rgoffRaster,
42  isce3::io::Raster & azoffRaster,
43  double azshift=0.0, double rgshift=0.0);
44 
46  void geo2rdr(isce3::io::Raster & topoRaster,
47  const std::string & outdir,
48  double azshift=0.0, double rgshift=0.0);
49 
50  private:
51  // Default number of lines per block
52  size_t _linesPerBlock = 1000;
53 
54  private:
56  void _printExtents(pyre::journal::info_t &,
57  double, double, double,
58  double, double, double,
59  size_t, size_t);
60 
62  void _checkOrbitInterpolation(double);
63 
65  void computeLinesPerBlock();
66 };
Data structure to store Ellipsoid information.
Definition: Ellipsoid.h:20
const isce3::core::Orbit & orbit() const
Get Orbit object used for processing.
Definition: Geo2rdr.h:133
Definition: RadarGridParameters.h:15
Geo2rdr(const isce3::core::Ellipsoid &ellps, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, const isce3::core::Metadata &meta)
Constructor from isce3::core objects.
Definition: Geo2rdr.h:27
const isce3::core::LUT2d< double > & doppler() const
Get Doppler model used for processing.
Definition: Geo2rdr.h:139
Data structure for storing basic radar geometry image metadata.
Definition: Metadata.h:17
Transformer from map coordinates to radar geometry coordinates using GPU.
Definition: Geo2rdr.h:17
Geo2rdr(const isce3::product::Product &product, char frequency= 'A', bool nativeDoppler=false)
Constructor from Product.
Definition: Geo2rdr.h:21
Definition: Product.h:29
Transformer from map coordinates to radar geometry coordinates.
Definition: Geo2rdr.h:41
void geo2rdr(isce3::io::Raster &topoRaster, isce3::io::Raster &rgoffRaster, isce3::io::Raster &azoffRaster, double azshift=0.0, double rgshift=0.0)
Run geo2rdr with offsets and externally created offset rasters.
Definition: Geo2rdr.cpp:58
const isce3::core::Ellipsoid & ellipsoid() const
Get Ellipsoid object used for processing.
Definition: Geo2rdr.h:136
Sequence of platform ephemeris samples (state vectors) with uniform temporal spacing, supporting efficient lookup and interpolation.
Definition: Orbit.h:43
Data structure meant to handle Raster I/O operations.
Definition: Raster.h:34

Generated for ISCE3.0 by doxygen 1.8.5.