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: 2.0.3.38
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 propertyCode exampleInterpolByCubic 영상을 도시할 때 Cubic Interpolation을 수행할지 여부를 설정하거나 얻는다.
Public propertyInterpolPixel 영상을 도시할 때 Interpolation을 수행할지 여부를 설정하거나 얻는다.
Public propertyMaxDepthWarpCoeff 좌표계가 다른 시스템에 투영할 때 사용하는 Warping Coefficient의 최대 분할 깊이.

기본값 : 2(영상 밴드를 가로 4개, 세로 4개로 분할하여 Warping Coefficient 계산)

-1을 입력하면 투영될 때마다 정확도를 위해 Warping coefficient를 세분화하여 자동 생성

Public propertyMode 색합성 종류를 설정하거나 얻는다.
Public propertyName 색합성의 이름을 설정하거나 얻는다.
Public propertyShowBoundary 영상의 경계역역을 도시할지 여부를 설정하거나 얻는다.
Public propertyShowCenter 영상의 중심을 도시할지 여부를 설정하거나 얻는다.
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 methodGetCLT 색상표를 가져온다.
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 methodGetCurSubsetStatistics 입력 인덱스에 해당하는 현재 통계 정보를 얻는다.
Public methodGetCutMax SetCutType을 통해 eCompCutType의 방법중 User로 설정한 경우, 사용자가 입력한 최대값을 얻어온다.
Public methodGetCutMin SetCutType을 통해 eCompCutType의 방법중 User로 설정한 경우, 사용자가 입력한 최소값을 얻어온다.
Public methodGetCutType 히스토그램을 이용하여 대비 조절시 Stretching에 적용될 히스토그램의 최소 최대값 계산하는 설정된 방법을 얻는다.
Public methodGetDIBits(Double, Double, Double, Double, Int32, Int32, Int32) 컴포지트에 특정 영역의 영상을 도시하고 그 영상의 DIBits 데이타를 얻는다.
Public methodGetDIBits(Double, Double, Double, Double, Int32, Int32, Int32, Color) 컴포지트에 특정 영역의 영상을 도시하고 그 영상의 DIBits 데이타를 얻는다.
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 methodGetSaturation 설정된 Saturation값(-100 ~ 100)을 얻는다.
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(XDMBand, eCompBandIdx) 영상 밴드를 해당 index에 설정한다.
Public methodSetBand(XDMBand, Int32) 영상 밴드를 해당 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(-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 methodSetCLT 색상표를 설정한다.
Public methodSetColorBalance Color balance 값를 설정한다. Color Balance는 칼라 값의 인텐시티에 대한 조절을 의미한다.
Public methodSetContrast 도시 영상의 Contrast를 변경하기 위해 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 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 methodSetSaturation 도시 영상의 Saturation(채도)를 변경하기 위해 값(-100~100)을 설정한다. 0으로 설정하면 Saturation이 적용되지 않는다.
Public methodSetSTB Stretch Table을 설정한다.
Public methodSetStretchCoverage 영상 향상에 통계치를 계산하는 영역에 대한 형태(eCompStretchCoverage)을 설정한다. 입력 인덱스에 해당하는 Band의 Histogram Stretching 방법에 따라서 전체 영역인지, 도시되는 화면 영역인지를 설정하게 된다.
Public methodSetStretchType 입력 인덱스에 해당하는 Histogram Stretching을 수행하는 방법을 설정한다.
Public methodSetTransparentValue 입력 인덱스에 대응하는 Band에 투명하게 처리해야 할 화소값을 설정한다. 예를 들어 검은 색의 영역을 투명하게 처리하고 싶은 경우는 0을 설정한다.
Top
Example
Red, Green, Blue 밴드 데이터를 이용하여 NXImageLayerComposites 객체에 새로운 RGB 색합성 객체를 생성하고 설정하여 추가한다. 새로운 색합성 객체에는 입력 strech coverage, stretch type, cut type이 설정된다.
C#
public void updateViewRGB(XDMBand bandR, XDMBand bandG, XDMBand bandB, NXImageLayerComposites 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, eCompBandIdx.Red);
    if (bandG != null) newComp.SetBand(ref bandG, eCompBandIdx.Green);
    if (bandB != null) newComp.SetBand(ref bandB, eCompBandIdx.Blue);

    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