NXImageLayerStereoComposites Class |
Namespace: Pixoneer.NXDL.NXImage
public class NXImageLayerStereoComposites : NXImageLayer
The NXImageLayerStereoComposites type exposes the following members.
Name | Description | |
---|---|---|
NXImageLayerStereoComposites |
Name | Description | |
---|---|---|
CursorOffset | 커서 오프셋을 가져오거나 설정한다. | |
CustomCursorOffsetUnit | 사용자 지정 커서 오프셋 조정 단위를 설정한다. | |
FixedMode | 고정 모드인지를 확인하거나 설정한다. | |
LayerVisible | 레이어의 도시여부를 확인하거나 설정한다. (Overrides NXImageLayerLayerVisible.) | |
TerrainFollowing | Terrain following 옵션을 확인하거나 설정한다. | |
UseCustomCursorOffsetUnit | 사용자 지정 커서 오프셋 조정 단위 사용 여부를 설정한다. |
Name | Description | |
---|---|---|
ConvRightImagePosition | 왼쪽 커서의 영상 화소 위치를 오른쪽 커서의 화소 위치로 변환한다. | |
FindMatchPoint(Double, Double) | 오른쪽 영상 화소 위치를 입력 왼쪽 영상 화소 위치와 맞는 위치를 찾는다. | |
FindMatchPoint(Double, Double, Double, Double) | 오른쪽 영상 화소 위치를 입력 왼쪽 영상 화소 위치와 맞는 위치를 찾는다. | |
GetMatchKernelSize | 영상 매칭을 위한 커널 크기를 가져온다. | |
GetSearchOffset | 영상 매칭을 위한 검색 오프셋을 가져온다. | |
GetXDMCompManagerL | 왼쪽 composite 관리자를 가져온다. | |
GetXDMCompManagerR | 오른쪽 composite 관리자를 가져온다. | |
Invalidate | 전체 화면을 갱신하도록 하며, 컨트롤의 내용을 다시 그리도록 한다. | |
Lock | XDMCompManager 객체를 다른 쓰레드에서 변경하지 못하도록 제한한다. | |
SetMatchKernelSize | 영상 매칭을 위한 커널 크기를 설정한다. | |
SetSearchOffset | 영상 매칭을 위한 검색 오프셋을 설정한다. | |
SetYOffSetConst | Y 방향으로의 커서 오프셋을 설정한다. | |
SyncStereoViewPixelOffset | ImageView 인수를 이용하여 화소 오프셋 매개변수(스테레어 매개변수)를 동기화한다. | |
UnLock | XDMCompManager 객체의 제한 설정을 해제한다. | |
ZoomFit | 화면에 전체 영상이 보이도록 확대축소한다. | |
ZoomOneToOne | 영상의 해상도에 대해 1:1로 도시하도록 확대축소한다. |
Name | Description | |
---|---|---|
OnStereoCursorPos | 스테레오 커서 위치가 변경되면 이에 대한 왼쪽/오른쪽 커서 위치를 반환하도록 발생한다. |
XRasterIO RasterIO = new XRasterIO(); String strError = ""; if (RasterIO.Initialize(out strError) == false) { return; } // Left and right Image load String strFilePathLoad1 = "D:\\Sample\\RS_Sample\\Epipolar\\po_120030_pan_0000010000.xdm"; String strFilePathLoad2 = "D:\\Sample\\RS_Sample\\Epipolar\\po_120030_pan_0010000000.xdm"; XRSLoadFile xrsFileInput1 = RasterIO.LoadFile(strFilePathLoad1, out strError, false, eIOCreateXLDMode.All_NoMsg); XRSLoadFile xrsFileInput2 = RasterIO.LoadFile(strFilePathLoad2, out strError, false, eIOCreateXLDMode.All_NoMsg); XDMBand bandL = xrsFileInput1.GetBandAt(0); XDMBand bandR = xrsFileInput2.GetBandAt(0); // Set Stereo mode and Color mask to NXImageView nxImageLayerStereoComposites1.Lock(); nxImageView1.StereoViewType = eStereoType.Anaglyph; nxImageView1.StereoColorMaskL = eStereoColorMask.Red; nxImageView1.StereoColorMaskR = eStereoColorMask.GreenBlue; nxImageView1.StereoFocusLayer = nxImageLayerStereoComposites1; // Set layer stereo composite nxImageLayerStereoComposites1.StereoCursor.CursorColor = Color.White; nxImageLayerStereoComposites1.StereoCursor.CursorSize = 20; nxImageLayerStereoComposites1.StereoCursor.CursorThick = 2; nxImageLayerStereoComposites1.StereoCursor.CursorType = XCursor.eCursorType.CROSSHAIR; nxImageLayerStereoComposites1.StereoCursor.CursorOperation = XCursor.eOperation.XOR; // Create Left and Right Composite XDMCompManager xdmCompManagerL = nxImageLayerStereoComposites1.GetXDMCompManagerL(); for (int i = 0; i < xdmCompManagerL.NumComp; i++) { XDMComposite comp = xdmCompManagerL.GetXDMCompositeAt(i); comp.Dispose(); } xdmCompManagerL.RemoveXDMCompositeAll(); XDMCompManager xdmCompManagerR = nxImageLayerStereoComposites1.GetXDMCompManagerR(); for (int i = 0; i < xdmCompManagerR.NumComp; i++) { XDMComposite comp = xdmCompManagerR.GetXDMCompositeAt(i); comp.Dispose(); } xdmCompManagerR.RemoveXDMCompositeAll(); // Create Left and Right composite. XDMComposite newCompL = new XDMComposite(); XDMComposite newCompR = new XDMComposite(); newCompL.Name = bandL.BandName; newCompL.Mode = eCompMode.RGB; if (bandL != null) newCompL.SetBand(ref bandL, 2); if (bandL != null) newCompL.SetBand(ref bandL, 1); if (bandL != null) newCompL.SetBand(ref bandL, 0); for (int i = 0; i < 3; i++) { newCompL.SetCutType(eCompCutType.Ct95, i); newCompL.SetStretchCoverage(eCompStretchCoverage.Band, i); newCompL.SetStretchType(eCompStretchType.Gaussian, i); } newCompR.Name = bandR.BandName; newCompR.Mode = eCompMode.RGB; if (bandR != null) newCompR.SetBand(ref bandR, 2); if (bandR != null) newCompR.SetBand(ref bandR, 1); if (bandR != null) newCompR.SetBand(ref bandR, 0); for (int i = 0; i < 3; i++) { newCompR.SetCutType(eCompCutType.Ct95, i); newCompR.SetStretchCoverage(eCompStretchCoverage.Band, i); newCompR.SetStretchType(eCompStretchType.Gaussian, i); } xdmCompManagerL.AddXDMComposite(ref newCompL); xdmCompManagerR.AddXDMComposite(ref newCompR); // Stereo composite layer. nxImageLayerStereoComposites1.ZoomFit(); nxImageLayerStereoComposites1.Invalidate(); nxImageLayerStereoComposites1.UnLock(); nxImageView1.RefreshScreen();