Click or drag to resize
XDL

XDMComposite Class

XDMComposite클래스는 1~3개 영상 밴드의 색합성을 위한 다양한 기능을 정의한다.
Inheritance Hierarchy
SystemObject
  Pixoneer.NXDL.NRSXDMComposite

Namespace:  Pixoneer.NXDL.NRS
Assembly:  NXDLrs (in NXDLrs.dll) Version: 1.2.817.72
Syntax
C#
public class XDMComposite : IDisposable

The XDMComposite type exposes the following members.

Constructors
  NameDescription
Public methodXDMComposite
XDMComposite 객체에 기본 생성자로서 멤버 변수들을 초기화 한다.
Public methodXDMComposite(XDMComposite*)
XDMComposite 객체에 대하여 외부 비관리객체의 포인터를 입력받아 복사하여 초기화 한다.
Top
Properties
  NameDescription
Public propertyAlpha
영상을 도시할 때 투명도를 설정하거나 얻는다.
Public propertyApplyTransparent
투명값을 적용할지 여부를 설정하거나 얻는다.
Public propertyInterpolPixel
영상을 도시할 때 Interpolation을 수행할지 여부를 설정하거나 얻는다.
Public propertyMode
색합성 종류를 설정하거나 얻는다.
Public propertyName
색합성의 이름을 설정하거나 얻는다.
Public propertyShowBoundary
영상의 경계역역을 도시할지 여부를 설정하거나 얻는다.
Top
Methods
  NameDescription
Public methodAddHistPt
입력 인덱스에 대하여 Piecewise Linear Stretching을 적용하기 위해 경계값 및 Intensity 값을 추가한다.
Public methodAddXValue
입력 인덱스에 해당하는 Piecewise Linear를 적용하기 위한 X 값을 추가한다.
Public methodGetBand
입력 인덱스에 해당하는 영상 밴드를 얻는다.
Public methodGetBoundRect
공간 상의 경계 영역을 얻는다.
Public methodGetBrightness
설정된 Brightness값을 얻는다(-255~255). Brightness is an attributes of visual perception in which a source appears to be radiating or reflecting light. Adjusted pixel value = original pixel + brightness adjustment value.
Public methodGetColorBalance
Color balance 값을 얻는다.
Public methodGetContrast
설정된 Contrast값(-127~127)을 얻는다. Contrast is the difference in luminance or color that makes an object distinguishable. Adjusted pixel value = 128 + (original pixel - 128) * contrast adjustment value.
Public methodGetCutMax
SetCutType을 통해 eCompCutType의 방법중 User로 설정한 경우, 사용자가 입력한 최대값을 얻어온다.
Public methodGetCutMin
SetCutType을 통해 eCompCutType의 방법중 User로 설정한 경우, 사용자가 입력한 최소값을 얻어온다.
Public methodGetCutType
히스토그램을 이용하여 대비 조절시 Stretching에 적용될 히스토그램의 최소 최대값 계산하는 설정된 방법을 얻는다.
Public methodGetGammaValue
영상의 밝기 조절을 위해 입력한 인덱스에 대응하는 Gamma값을 얻는다.
Public methodGetHideFlag
입력 인덱스에 대응하는 영상의 도시 여부를 얻는다.
Public methodGetHistPtsList
입력 인덱스에 해당하는 Piecewise Linear에 대한 정점들의 배열과 Intensity값 배열을 얻는다.
Public methodGetIntensity000
입력 인덱스에 해당하는 Intensity 최소값(histogram stretching에 적용)을 얻는다.
Public methodGetIntensity255
입력 인덱스에 해당하는 Intensity 최대값(histogram stretching에 적용)을 얻는다.
Public methodGetNumOfHistPts
입력 인덱스에 해당하는 Piecewise Linear를 위한 정점들의 갯수를 얻는다.
Public methodGetNumOfXValues
입력 인덱스에 해당하는 Piece-wise Linear를 위한 X 값들의 갯수를 얻는다.
Public methodGetSTB
Stretch Table을 얻는다.
Public methodGetStretchCoverage
입력 인덱스에 해당하는 Band에 대한 Histogram Stretch Coverage가 어떻게 설정되어 있는지 얻는다.
Public methodGetStretchType
입력 인덱스에 해당하는 Histogram Stretching을 수행하는 설정된 방법을 얻는다
Public methodGetSubsetStatistics
입력 인덱스에 해당하는 통계 정보를 얻는다.
Public methodGetTransparentValue
입력 인덱스에 해당하는 Band에 투명하게 처리하도록 설정한 화소값을 얻는다.
Public methodGetXValuesList
입력 인덱스에 해당하는 Piece-wise Linear에 대한 X 값들의 배열을 얻는다.
Public methodRemoveAllHistPts
입력 인덱스에 해당하는 Piecewise Linear를 위한 정점(중간점)들을 모두 삭제한다.
Public methodRemoveAllXValues
입력 인덱스에 해당하는 Piece-wise Linear를 위한 X 값들을 모두 삭제한다.
Public methodSetBand
영상 밴드를 해당 index에 설정한다.

Mode가 RGB인 경우 Band 설정시 3개의 Band가 설정될 수 있으며, blue band(Idx = 0), green band(nIndex = 1), red band(nIndex = 2)의 순서로 설정된다.

Mode가 Grey인 경우 Band 설정시 1개만 유효하며 인덱스가 0만 유효하다.

Public methodSetBandGIS
XDMComposite를 Gray나 RGB로 만들기 위해 SetBand를 사용하지만, 분류(Classification) 영상처리 결과를 도시할 때는 SetBandGIS를 사용한다. SetBandGIS를 사용시는 SetBand를 사용하여 설정할 필요가 없다.
Public methodSetBrightness
도시 영상의 Brightness를 변경하기 위해 Brightness(0~255)값을 설정한다.

Brightness is an attributes of visual perception in which a source appears to be radiating or reflecting light. Adjusted pixel value = original pixel + brightness adjustment value.

Public methodSetCLT
색상표를 설정한다.
Public methodSetColorBalance
Color balance 값를 설정한다. Color Balance는 칼라 값의 인텐시티에 대한 조절을 의미한다.
Public methodSetContrast
도시 영상의 Contrast를 변경하기 위해 Contrast(0~255)값을 설정한다. Contrast is the difference in luminance or color that makes an object distinguishable. Adjusted pixel value = 128 + (original pixel - 128) * contrast adjustment value.
Public methodSetCutMax
SetCutType을 통해 eCompCutType의 방법 중 User로 설정한 경우, 사용자가 직접 SetCutMax함수를 통해 최대값을 입력한다.
Public methodSetCutMin
SetCutType을 통해 eCompCutType의 방법중 User로 설정한 경우, 사용자가 직접 SetCutMin함수를 통해 최소값을 입력한다.
Public methodSetCutType
히스토그램을 이용하여 대비 조절시 Stretching에 적용될 히스토그램의 최소 최대값 계산하는 방법을 설정한다.
Public methodSetGammaValue
영상의 밝기 조절을 하기 위해 입력 인덱스의 Gamma값을 설정한다. 해당 값은 Gamma 알고리즘에 사용된다.
Public methodSetHideFlag
입력 인덱스에 대응하는 영상을 도시할지 여부를 설정한다.
Public methodSetIntensity000
입력 인덱스에 해당하는 Intensity 최소값(histogram stretching에 적용)을 설정한다.
Public methodSetIntensity255
입력 인덱스에 해당하는 Intensity 최대값(histogram stretching에 적용)을 설정한다.
Public methodSetSTB
Stretch Table을 설정한다.
Public methodSetStretchCoverage
영상 향상에 통계치를 계산하는 영역에 대한 형태(eCompStretchCoverage)을 설정한다. 입력 인덱스에 해당하는 Band의 Histogram Stretching 방법에 따라서 전체 영역인지, 도시되는 화면 영역인지를 설정하게 된다.
Public methodSetStretchType
입력 인덱스에 해당하는 Histogram Stretching을 수행하는 방법을 설정한다.
Public methodSetTransparentValue
입력 인덱스에 대응하는 Band에 투명하게 처리해야 할 화소값을 설정한다. 예를 들어 검은 색의 영역을 투명하게 처리하고 싶은 경우는 0을 설정한다.
Top
Examples
Red, Green, Blue 밴드 데이터를 이용하여 NXMapLayerComposites 객체에 새로운 RGB 색합성 객체를 생성하고 설정하여 추가한다. 새로운 색합성 객체에는 입력 strech coverage, stretch type, cut type이 설정된다.
public void updateViewRGB(XDMBand bandR, XDMBand bandG, XDMBand bandB, NXMapLayerComposites compLayer, eCompStretchCoverage sc, eCompStretchType st, eCompCutType ct)
{
    compLayer.Lock();
    // get XDMCompManager and reset list
    XDMCompManager xdmCompManager = compLayer.GetXDMCompManager();
    for (int i = 0; i < xdmCompManager.NumComp; i++)
    {
        XDMComposite comp = xdmCompManager.GetXDMCompositeAt(i);
        comp.Dispose();
    }
    xdmCompManager.RemoveXDMCompositeAll();

    // Generate XDMComposite
    XDMComposite newComp = new XDMComposite();

    newComp.Mode = eCompMode.RGB;
    if (bandR != null) newComp.SetBand(ref bandR, 2);
    if (bandG != null) newComp.SetBand(ref bandG, 1);
    if (bandB != null) newComp.SetBand(ref bandB, 0);

    for (int i = 0; i < 3; i++)
    {
        newComp.SetCutType(ct, i);
        newComp.SetStretchCoverage(sc, i);
        newComp.SetStretchType(st, i);
    }

    xdmCompManager.AddXDMComposite(ref newComp);
    compLayer.ZoomFit();
    compLayer.Invalidate();
    compLayer.UnLock();
}
See Also