public TagValueOrientationCondition(
long tag,
object tagValue
)
tag
The DICOM tag that must be present in the DicomDataSet for the condition to be true.
tagValue
The value that the DICOM element is required to contain for the condition to be true.
using Leadtools.Dicom;
using Leadtools.Dicom.Common;
using Leadtools.Dicom.Common.Extensions;
using Leadtools;
using Leadtools.Dicom.Common.Linq.BasicDirectory;
using Leadtools.Dicom.Common.DataTypes;
using Leadtools.Codecs;
public void GetImageExample()
{
DicomEngine.Startup();
string dicomFileCoronal = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "Image3.dcm");
DicomDataSet ds = new DicomDataSet();
ds.Load(dicomFileCoronal, DicomDataSetLoadFlags.None);
// Create a new coronal PlaneOrientation that corresponds to a horizontal flip
PlaneOrientation poCoronal = new PlaneOrientation();
poCoronal.Name = "Coronal or Frontal";
poCoronal.Top = OrientationAxis.Inferior;
poCoronal.Right = OrientationAxis.Right;
poCoronal.Condition = new TagValueOrientationCondition(DicomTag.ImageOrientationPatient, null);
if (!poCoronal.IsValid(Plane.Coronal))
{
Console.WriteLine("Invalid PlaneOrientation for Coronal");
return;
}
// Create a new sagittal PlaneOrientation that corresponds to a Rotate90
PlaneOrientation poSagittal = new PlaneOrientation();
poSagittal.Name = "Sagittal";
poSagittal.Top = OrientationAxis.Anterior;
poSagittal.Right = OrientationAxis.Inferior;
poSagittal.Condition = new TagValueOrientationCondition(0, null);
if (!poSagittal.IsValid(Plane.Sagittal))
{
Console.WriteLine("Invalid PlaneOrientation for Sagittal");
return;
}
// Create a new Axial that corresponds to a Rotate180
PlaneOrientation poAxial = new PlaneOrientation();
poAxial.Name = "Axial";
poAxial.Top = OrientationAxis.Posterior;
poAxial.Right = OrientationAxis.Left;
poAxial.Condition = new TagValueOrientationCondition(0, null);
if (!poAxial.IsValid(Plane.Axial))
{
Console.WriteLine("Invalid PlaneOrientation for Axial");
return;
}
// Setup the OrientationConfiguration
OrientationConfiguration oc = new OrientationConfiguration();
oc.Coronal.Add(poCoronal);
oc.Sagittal.Add(poSagittal);
oc.Axial.Add(poAxial);
if (!oc.IsValid())
{
Console.WriteLine("Invalid OrientationConfiguration");
return;
}
// Find the image from the dataset with the new view perspective
// RasterViewPerspective newViewPerspective = ds.GetNewViewPerspective(RasterViewPerspective.TopLeft, oc);
RasterImage image = ds.GetImage(null, 0, 0, RasterByteOrder.Gray, DicomGetImageFlags.None, oc);
// New view perspective should be BottomLeft
RasterViewPerspective newViewPerspective = image.ViewPerspective;
Console.WriteLine("newViewPerspective should be BottomLeft\nActual newViewPerspective is " + newViewPerspective.ToString());
DicomEngine.Shutdown();
}
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