SagittalFrame Property (original) (raw)

Summary

Gets or sets the control that will be used to display the MPR sagittal frame.

Syntax

Property Value

The control that will be used to display the MPR sagittal frame.

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.MedicalViewer; using Leadtools.Medical3D; public void Medical3DControlExample() { Medical3DLoadDICOMSeriesExamples LoadObject = new Medical3DLoadDICOMSeriesExamples(); MedicalViewerSeriesManager output = LoadObject.LoadJamesHead(); MainForm1 form = new MainForm1(output); form.ShowDialog(); } // MainForm1 will be the owner of the medical viewer control. public class MainForm1 : Form { private Medical3DControl _medical3DControl; private MedicalViewerMPRCell _axial; private MedicalViewerMPRCell _coronal; private MedicalViewerMPRCell _saggital; public MainForm1(MedicalViewerSeriesManager output) { RasterCodecs _codecs = new RasterCodecs(); RasterImage _image; CodecsImageInfo codecsInformation; _medical3DControl = new Medical3DControl(); this.SizeChanged += new EventHandler(MainForm1_SizeChanged); this.FormClosing += new FormClosingEventHandler(MainForm1_FormClosing); _medical3DControl.ObjectsContainer.Objects.Add(new Medical3DObject()); int index; codecsInformation = _codecs.GetInformation((string)output.Stacks[0].Items[0].Data, true); int width = codecsInformation.Width; int height = codecsInformation.Height; int depth = 256; _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientInit(depth); for (index = 0; index < depth; index++) { _image = _codecs.Load((string)output.Stacks[0].Items[index].Data, 0, CodecsLoadByteOrder.BgrOrGrayOrRomm, 1, 1); _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientSetFrame(_image, index, output.Stacks[0].Items[index].ImagePosition, true); } string spearator = ("\\"); string[] test = output.Stacks[0].Items[0].ImageOrientation.Split(spearator.ToCharArray()); float[] orientation = new float[6]; int i; for (i = 0; i < 6; i++) { orientation[i] = (float)Convert.ToDouble(test[i]); } _medical3DControl.ObjectsContainer.Objects[0].MemoryEfficientEnd(orientation, output.Stacks[0].PixelSpacing); _axial = new MedicalViewerMPRCell(); _coronal = new MedicalViewerMPRCell(); _saggital = new MedicalViewerMPRCell(); // set Medical 3DControl to viewer cell _medical3DControl.AxialFrame = _axial; _medical3DControl.SagittalFrame = _saggital; _medical3DControl.CoronalFrame = _coronal; // Fit image to cell _axial.FitImageToCell = true; _saggital.FitImageToCell = true; _coronal.FitImageToCell = true; // Show Cross hair lines _axial.ShowMPRCrossHair = true; _saggital.ShowMPRCrossHair = true; _coronal.ShowMPRCrossHair = true; // Show cell boundaries _axial.ShowCellBoundaries = true; _saggital.ShowCellBoundaries = true; _coronal.ShowCellBoundaries = true; // Enable slab option _medical3DControl.ObjectsContainer.Objects[0].Slab.Enabled = true; _axial.ShowSlabBoundaries = true; _saggital.ShowSlabBoundaries = true; _coronal.ShowSlabBoundaries = true; // invert the axial image _axial.InvertImage(); _medical3DControl.ApplyWindowLevelOnAllCells = true; _medical3DControl.AddAction(MedicalViewerActionType.Rotate3DObject); _medical3DControl.SetAction(MedicalViewerActionType.Rotate3DObject, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active); _medical3DControl.AddAction(MedicalViewerActionType.WindowLevel); _medical3DControl.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active); this.Controls.Add(_medical3DControl); this.Controls.Add(_axial); this.Controls.Add(_coronal); this.Controls.Add(_saggital); } void MainForm1_FormClosing(object sender, FormClosingEventArgs e) { _medical3DControl.Dispose(); } void MainForm1_SizeChanged(object sender, EventArgs e) { if (_medical3DControl != null) _medical3DControl.Size = new Size(this.ClientRectangle.Right / 2, this.ClientRectangle.Bottom / 2); if (_axial != null) _axial.Size = new Size(this.ClientRectangle.Right / 2, this.ClientRectangle.Bottom / 2); if (_saggital != null) _saggital.Size = new Size(this.ClientRectangle.Right / 2, this.ClientRectangle.Bottom / 2); if (_coronal != null) _coronal.Size = new Size(this.ClientRectangle.Right / 2, this.ClientRectangle.Bottom / 2); _axial.Location = new Point(this.ClientRectangle.Right / 2, 0); _saggital.Location = new Point(0, this.ClientRectangle.Bottom / 2); _coronal.Location = new Point(this.ClientRectangle.Right / 2, this.ClientRectangle.Bottom / 2); } }