isce3 0.25.0
Loading...
Searching...
No Matches
isce3::signal::Crossmul Class Reference

Intereferogram generation by cross-multiplication of reference and secondary SLCs. More...

#include <Crossmul.h>

Public Member Functions

void crossmul (isce3::io::Raster &refSlcRaster, isce3::io::Raster &secSlcRaster, isce3::io::Raster &ifgRaster, isce3::io::Raster &coherence, isce3::io::Raster *rngOffsetRaster=nullptr) const
 Crossmultiply 2 SLCs.
 
void doppler (isce3::core::LUT1d< double >, isce3::core::LUT1d< double >)
 Set doppler LUTs for reference and secondary SLCs.
 
void refDoppler (isce3::core::LUT1d< double > refDopp)
 Set dopplers LUT for reference SLC.
 
const isce3::core::LUT1d< double > & refDoppler () const
 Get doppler LUT for reference SLC.
 
void secDoppler (isce3::core::LUT1d< double > secDopp)
 Set dopplers LUT for secondary SLC.
 
const isce3::core::LUT1d< double > & secDoppler () const
 Get doppler LUT for secondary SLC.
 
void startingRangeShift (double rng_shift)
 Set reference and seconary starting range shift.
 
double startingRangeShift () const
 Get reference and secondary starting range shift.
 
void rangePixelSpacing (double rgPxlSpacing)
 Set range pixel spacing.
 
double rangePixelSpacing () const
 Get range pixel spacing.
 
void wavelength (double wvl)
 Set Wavelength.
 
double wavelength () const
 Get Wavelength.
 
void rangeLooks (int)
 Set number of range looks.
 
int rangeLooks () const
 Get number of range looks.
 
void azimuthLooks (int)
 Set number of azimuth looks.
 
int azimuthLooks () const
 Get number of azimuth looks.
 
void oversampleFactor (size_t oversamp)
 Set oversample factor.
 
size_t oversampleFactor () const
 Get oversample factor.
 
void linesPerBlock (size_t linesPerBlock)
 Set linesPerBlock.
 
size_t linesPerBlock () const
 Get linesPerBlock.
 
bool multiLookEnabled () const
 Get boolean multilook flag.
 
void rangeFrequencyShift (std::valarray< std::complex< float > > &refAvgSpectrum, std::valarray< std::complex< float > > &secAvgSpectrum, std::valarray< double > &rangeFrequencies, size_t linesPerBlockData, size_t fft_size, double &frequencyShift)
 Compute the avergae frequency shift in range direction between two SLCs.
 
void getPeakIndex (std::valarray< float > data, size_t &peakIndex)
 estimate the index of the maximum of a vector of data
 

Detailed Description

Intereferogram generation by cross-multiplication of reference and secondary SLCs.

The secondary SLC must be on the same image grid as the reference SLC,

Member Function Documentation

◆ azimuthLooks()

void isce3::signal::Crossmul::azimuthLooks ( int azimuthLooks)
inline

Set number of azimuth looks.

Parameters
[in]azimuthLooksnumber of looks in azimuth direction

◆ crossmul()

void isce3::signal::Crossmul::crossmul ( isce3::io::Raster & refSlcRaster,
isce3::io::Raster & secSlcRaster,
isce3::io::Raster & ifgRaster,
isce3::io::Raster & coherence,
isce3::io::Raster * rngOffsetRaster = nullptr ) const

Crossmultiply 2 SLCs.

Parameters
[in]refSlcRasterinput raster of reference SLC
[in]secSlcRasterinput raster of secondary SLC
[out]ifgRasteroutput interferogram raster
[out]coherenceRasteroutput coherence raster
[in]rngOffsetRasteroptional pointer to range offset raster if provided, interferogram will be flattened

◆ doppler()

void isce3::signal::Crossmul::doppler ( isce3::core::LUT1d< double > refSlcDoppler,
isce3::core::LUT1d< double > secSlcDoppler )
inline

Set doppler LUTs for reference and secondary SLCs.

Parameters
[in]refSlcDoppler2D Doppler polynomial for refernce SLC
[in]secSlcDoppler2D Doppler polynomial for secondary SLC

◆ getPeakIndex()

void isce3::signal::Crossmul::getPeakIndex ( std::valarray< float > data,
size_t & peakIndex )
inline

estimate the index of the maximum of a vector of data

Parameters
[in]dataa vector to be evaluated for the index of its maximum
[out]peakIndexindex of the maximum value in data

◆ rangeFrequencyShift()

void isce3::signal::Crossmul::rangeFrequencyShift ( std::valarray< std::complex< float > > & refSpectrum,
std::valarray< std::complex< float > > & secSpectrum,
std::valarray< double > & rangeFrequencies,
size_t linesPerBlock,
size_t fft_size,
double & frequencyShift )
inline

Compute the avergae frequency shift in range direction between two SLCs.

Parameters
[in]refSpectrumthe spectrum of a block of a complex data
[in]secSpectrumthe spectrum of a block of complex data
[in]rangeFrequenciesthe frequencies in range direction
[in]linesPerBlocknumber of rows in refSpectrum and secSpectrum
[in]fft_sizenumber of columns in refSpectrum and secSpectrum
[out]estimatedfrequency shift between refSpectrum and secSpectrum

◆ rangeLooks()

void isce3::signal::Crossmul::rangeLooks ( int rangeLooks)
inline

Set number of range looks.

Parameters
[in]rangeLooksnumber of looks in range direction

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

Generated for ISCE3.0 by doxygen 1.13.2.