Click or drag to resize
XDL

XDMBandIRFilter2 Class

IR 영상 필터링을 수행한다.
Inheritance Hierarchy

Namespace:  Pixoneer.NXDL.NRSEX
Assembly:  NXDLrsEx (in NXDLrsEx.dll) Version: 2.0.3.31
Syntax
C#
public class XDMBandIRFilter2 : XDMBand

The XDMBandIRFilter2 type exposes the following members.

Constructors
  NameDescription
Public methodXDMBandIRFilter2
XDMBandIRFilter2클래스의 기본 생성자로서, 멤버변수에 대하여 초기화를 수행한다.
Top
Methods
  NameDescription
Public methodCalcplateau
IR 필터링 방법이 Ape 일 경우 plateau 값을 계산한다.
Public methodCalcStatistics
Statistics 를 계산한다.
Public methodCreateHistogram
소스 밴드에 대한 Histogram 을 생성한다.
Public methodDoIRFilter
IR 필터링을 수행한다.
Public methodGetInputParam
IR 필터링을 위한 입력 파라미터를 얻는다.
Public methodSetInputParam
IR 필터링을 위한 입력 파라미터를 설정.
Public methodSetPlateauValue
IR 필터링 방법이 Ape 일 경우 plateau 값을 설정한다.
Top
Examples
This is example C# : IR 필터 방법 중 Meam 이용하는 예제
// 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;
}
This is example C# : IR 필터 방법 중 Ape 이용하는 예제
// 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;
}
See Also