XDMBandIRFilter2 Class |
Namespace: Pixoneer.NXDL.NRSEX
public class XDMBandIRFilter2 : XDMBand
The XDMBandIRFilter2 type exposes the following members.
Name | Description | |
---|---|---|
XDMBandIRFilter2 | XDMBandIRFilter2클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다. |
Name | Description | |
---|---|---|
Calcplateau | IR 필터링 방법이 Ape 일 경우 plateau 값을 계산한다. | |
CalcStatistics | Statistics 를 계산한다. | |
CreateHistogram | 소스 밴드에 대한 Histogram 을 생성한다. | |
DoIRFilter | IR 필터링을 수행한다. | |
GetInputParam | IR 필터링을 위한 입력 파라미터를 얻는다. | |
SetInputParam | IR 필터링을 위한 입력 파라미터를 설정. | |
SetPlateauValue | IR 필터링 방법이 Ape 일 경우 plateau 값을 설정한다. |
// IO initialize to load image file XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Image load String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\Fusion\\ir.xdm"; XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg); // Set input param XDMBand srcBand = xrsFileInput1.GetBandAt(0); // Set input param XBandParamIRFilter2 param = new XBandParamIRFilter2Meam(); param.SrcBand = srcBand; param.FilterType = eIRFilterType.Meam; ((XBandParamIRFilter2Meam)param).LsYMin = srcBand.BandMin + 30; ((XBandParamIRFilter2Meam)param).LsYMax = srcBand.BandMax - 30; ((XBandParamIRFilter2Meam)param).LsAlpha = 0.1; ((XBandParamIRFilter2Meam)param).LsBeta = 0.1; ((XBandParamIRFilter2Meam)param).GainThreshold = 5; ((XBandParamIRFilter2Meam)param).Gain1 = 10; ((XBandParamIRFilter2Meam)param).Gain2 = 0.5; ((XBandParamIRFilter2Meam)param).KernelSize = 3; // Create New process band and set input param XDMBandIRFilter2 bandProcess = new XDMBandIRFilter2(); if (!bandProcess.SetInputParam(ref param)) { return; } bandProcess.CreateHistogram(null); if (bandProcess.DoIRFilter(null) == false) { return; } bandProcess.CalcStatistics(true); // create XRSSaveFile to save realtime band(XDMBandXXXX) XRSSaveFile fileSave = new XRSSaveFile(); XDMBand bandCast = (XDMBand)bandProcess; fileSave.AddBand(ref bandCast); // Save output file String strFilePathSave = @"D:\Sample\result.xdm"; if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd)) { return; }
// IO initialize to load image file XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Image load String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\Fusion\\ir.xdm"; XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg); // Set input param XDMBand srcBand = xrsFileInput1.GetBandAt(0); // Set input param XBandParamIRFilter2 param = new XBandParamIRFilter2Ape(); param.SrcBand = srcBand; param.FilterType = eIRFilterType.Ape; ((XBandParamIRFilter2Ape)param).OutMaxValue = 256; ((XBandParamIRFilter2Ape)param).InfPtFraction = 3; // Create New process band and set input param XDMBandIRFilter2 bandProcess = new XDMBandIRFilter2(); if (!bandProcess.SetInputParam(ref param)) { return; } bandProcess.CreateHistogram(null); if (bandProcess.DoIRFilter(null) == false) { return; } double dblPlateauValue = bandProcess.Calcplateau(); bandProcess.SetPlateauValue(dblPlateauValue); bandProcess.CalcStatistics(true); // create XRSSaveFile to save realtime band(XDMBandXXXX) XRSSaveFile fileSave = new XRSSaveFile(); XDMBand bandCast = (XDMBand)bandProcess; fileSave.AddBand(ref bandCast); // Save output file String strFilePathSave = @"D:\Sample\result.xdm"; if (!RasterIO.Export(ref fileSave, strFilePathSave, "XDM", out strError, thd)) { return; }