|
XSarGenerateInterferogram Method
|
SAR 영상 두 장을 입력받아 Interferogram 데이터를 생성한다.
Namespace: Pixoneer.NXDL.NSARAssembly: NXDLsar (in NXDLsar.dll) Version: 3.0.0.3
Syntaxpublic static bool GenerateInterferogram(
XSarParameters paramA,
XOrbit orbitA,
XGrid slcA,
XSarParameters paramB,
XOrbit orbitB,
XGrid slcB,
eInterpFilter FilterType,
out XGrid Interferogram,
XGrid Phase,
XGrid Coherence,
int logType,
out string logFolderPath,
XThread thd
)
Parameters
- paramA XSarParameters
- Sar 영상 A의 입력 파라메터
- orbitA XOrbit
- Sar 영상 A의 궤도 정보
- slcA XGrid
- Sar 영상 A의 Single Look Complex data
- paramB XSarParameters
- Sar 영상 B의 입력 파라메터
- orbitB XOrbit
- Sar 영상 B의 궤도 정보
- slcB XGrid
- Sar 영상 B의 Single Look Complex data
- FilterType eInterpFilter
- Interferogram 데이터에 적용된 Filter 종류
- Interferogram XGrid
- [out] Interferogram 데이터
- Phase XGrid
- null이 아닌경우 Interferogram Phase 데이터를 저장
- Coherence XGrid
- null이 아닌경우 Coherence 데이터를 저장
- logType Int32
- 로그정보 저장 방식 (0:로그정보 저장 없음, 1:임시 폴더에 로그 정보 저장, 2:로그 파일(00log.txt)과 함께 임시 폴더에 중간 데이터(XDM 형식) 저장
- logFolderPath String
- [out] 로그 파일이 저장된 폴더. logType이 0인 경우 빈 문자열을 반환
- thd XThread
- 작업 쓰레드
Return Value
BooleanInterferogram 데이터 생성 성공 여부
Example
두 장의 SAR 영상(K5)를 입력으로 받아 Interferogram 데이터를 생성하는 예제이다.
각 하위 데이터 별로 영상을 로딩하는 예제이다.
XRasterIO RasterIO = new XRasterIO();
string strError = "";
if (!RasterIO.Initialize(out strError))
{
MessageBox.Show(strError);
}
string SrcPairAPath = "..\\A\\K5_20150205174406_000000_08001_D_HR05_HH_SCS_B_L1A.h5";
string SrcPairBPath = "..\\B\\K5_20150305174354_000000_08422_D_HR05_HH_SCS_B_L1A.h5";
string logFolderPath = "";
XRSLoadFile inputFileA = RasterIO.LoadFile("K5HDF5", SrcPairAPath, out strError, false, Pixoneer.NXDL.NIO.eIOCreateXLDMode.All_NoMsg, true);
XSarParameters paramsA = inputFileA.SarParameters;
XOrbit orbitA = inputFileA.Orbit;
XDMBandComplex bandA = new XDMBandComplex();
XBandParamComplex pA = new XBandParamComplex();
pA.OutputType = eComplexOutType.Complex;
pA.SrcBand = inputFileA.GetBandAt(0);
bandA.SetInputParam(ref pA);
XRSLoadFile inputFileB = RasterIO.LoadFile("K5HDF5", SrcPairBPath, out strError, false, Pixoneer.NXDL.NIO.eIOCreateXLDMode.All_NoMsg, true);
XSarParameters paramsB = inputFileB.SarParameters;
XOrbit orbitB = inputFileB.Orbit;
XDMBandComplex bandB = new XDMBandComplex();
XBandParamComplex pB = new XBandParamComplex();
pB.OutputType = eComplexOutType.Complex;
pB.SrcBand = inputFileB.GetBandAt(0);
bandB.SetInputParam(ref pB);
XGrid slcA = new XGrid();
XGrid slcB = new XGrid();
XGrid outInterf;
XGrid outPhase = new XGrid();
XGrid outCoherence = new XGrid();
bandA.ReadSubset(ref slcA, 0, 0, bandA.XSize - 1, 0, bandA.YSize - 1);
bandB.ReadSubset(ref slcB, 0, 0, bandB.XSize - 1, 0, bandB.YSize - 1);
Pixoneer.NXDL.NSAR.XSar.GenerateInterferogram(paramsA, orbitA, slcA, paramsB, orbitB, slcB, Pixoneer.NXDL.NSAR.eInterpFilter.Phase, out outInterf, null, null, 0, out logFolderPath, null);
See Also