public int OffsetX { get; set; }
Value that represents the X offset of the fused image relative to the original image.
The value is scaled to match the scale of the original image, for example, if the image is scaled to 200%, then the amount of shift in X direction is OffsetX * 2.
using Leadtools;
using Leadtools.Dicom;
using Leadtools.Medical3D;
using Leadtools.Codecs;
using Leadtools.MedicalViewer;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Annotations.Engine;
using Leadtools.Annotations.Designers;
class MedicalViewerFusionForm : Form
{
private MedicalViewer _medicalViewer;
void MedicalViewerLocalizer_SizeChanged(object sender, EventArgs e)
{
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
}
public MedicalViewerFusionForm()
{
DicomEngine.Startup();
RasterCodecs _codecs = new RasterCodecs();
this.SizeChanged += new EventHandler(MedicalViewerLocalizer_SizeChanged);
// Create the medical viewer and adjust the size and the location.
_medicalViewer = new MedicalViewer(1, 2);
_medicalViewer.Location = new Point(0, 0);
_medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom);
// Load an image and then add it to the control.
RasterImage _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm"));
MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1);
cell.FitImageToCell = false;
// add some action that will be used to change the properties of the images inside the control.
cell.AddAction(MedicalViewerActionType.Scale);
cell.AddAction(MedicalViewerActionType.Offset);
cell.AddAction(MedicalViewerActionType.WindowLevel);
cell.AddAction(MedicalViewerActionType.Stack);
// assign the added actions to a mouse button, meaning that when the user click and drag the mouse button, the associated action will be activated.
cell.SetAction(MedicalViewerActionType.Scale, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active);
cell.SetAction(MedicalViewerActionType.Stack, MedicalViewerMouseButtons.Wheel, MedicalViewerActionFlags.Active);
// Creates a new fusion object, this object will hold the image (image3.dcm) that will be fused with the original image (xa.dcm).
MedicalViewerFusion fusion = new MedicalViewerFusion();
// the fused image.
fusion.FusedImage = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "image3.dcm"));
// the fusion scale.
fusion.FusionScale = 0.5f;
// the color palette that will be used in the fusion process.
fusion.ColorPalette = MedicalViewerPaletteType.Cool;
// start the fusion.
cell.SubCells[0].Fusion.Add(fusion);
_medicalViewer.Cells.Add(cell);
// adjust some properties to the cell and add some tags.
_medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448");
_medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame);
_medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale);
_medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData);
_medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView);
cell.ScaleType = MedicalViewerScaleType.Dynamic;
Controls.Add(_medicalViewer);
_medicalViewer.Dock = DockStyle.Fill;
DicomEngine.Shutdown();
}
void MedicalViewerLocalizer_FormClosing(object sender, FormClosingEventArgs e)
{
}
public MedicalViewer Viewer
{
get { return _medicalViewer; }
}
}
MedicalViewerFusionForm GetMedicalViewerFusionForm()
{
return new MedicalViewerFusionForm();
}
// This examples fuses the xa.dcm image with the image3.dcm image, and uses the preset palette (Cool) to do the fusion process.
public void MedicalViewerFusionExample()
{
MedicalViewerFusionForm myForm = GetMedicalViewerFusionForm();
MedicalViewer medicalViewer = myForm.Viewer;
myForm.ShowDialog();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document