Initializes a new ApplyTransformationParametersCommand class object with default parameters.
public ApplyTransformationParametersCommand()Public Function New()- (instancetype)initpublic ApplyTransformationParametersCommand()public:ApplyTransformationParametersCommand();
This example computes the translation parameters. The example makes the assumption that you have saved the position of the registration marks of the reference image in a file. Modify this example and replace the manual assignment of the rmData with your own code to load the reference registration mark data before testing this example.
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub ApplyTransformationParametersConstructorExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "RGSRef.cmp"))' Prepare the commandDim tempImage As RasterImagetempImage = leadImageTrytempImage = leadImage.Clone()If (tempImage.HasRegion) ThentempImage.MakeRegionEmpty()End IfIf (leadImage.HasRegion) ThenleadImage.MakeRegionEmpty()End IfDim rmData() As SearchRegistrationMarksCommandDataReDim rmData(2)Dim points() As LeadPointReDim points(0)' Mark1rmData(0) = New SearchRegistrationMarksCommandDatarmData(0).Rectangle = New LeadRect(680, 20, 941 - 680, 218 - 20)rmData(0).MarkDetectedPoints = pointsrmData(0).Width = 31rmData(0).Height = 29rmData(0).Type = RegistrationMarkCommandType.TShapermData(0).MinimumScale = 90rmData(0).MaximumScale = 110rmData(0).SearchMarkCount = 1' Mark2rmData(1) = New SearchRegistrationMarksCommandDatarmData(1).Rectangle = New LeadRect(665, 790, 899 - 665, 961 - 790)rmData(1).MarkDetectedPoints = pointsrmData(1).Width = 31rmData(1).Height = 29rmData(1).Type = RegistrationMarkCommandType.TShapermData(1).MinimumScale = 90rmData(1).MaximumScale = 110rmData(1).SearchMarkCount = 1' Mark3rmData(2) = New SearchRegistrationMarksCommandData(31, 29, 90, 110, New LeadRect(7, 1073, 298 - 7, 1246 - 1073), 1, points, RegistrationMarkCommandType.TShape)Dim command1 As SearchRegistrationMarksCommandcommand1 = New SearchRegistrationMarksCommandcommand1.SearchMarks = rmDatacommand1.Run(leadImage)If ((rmData(2).MarkDetectedCount <> 1) OrElse (rmData(1).MarkDetectedCount <> 1) OrElse (rmData(0).MarkDetectedCount <> 1)) ThenReturnEnd IfDim original() As LeadPointReDim original(2)original(0) = New LeadPoint(81400, 11300)original(1) = New LeadPoint(78600, 87400)original(2) = New LeadPoint(14300, 115400)Dim detected() As LeadPointReDim detected(2)detected(0) = rmData(0).MarkDetectedPoints(0)detected(1) = rmData(1).MarkDetectedPoints(0)detected(2) = rmData(2).MarkDetectedPoints(0)' Find center of mass for detected registration marks in the transformed imageDim transformed() As LeadPointtransformed = CoreUtilities.GetRegistrationMarksCenterMass(leadImage, detected)' Find transformation parametersDim parameters As TransformationParametersparameters = CoreUtilities.GetTransformationParameters(leadImage, original, transformed)' Apply transformatin parameters to correct the imageDim applyCommand As ApplyTransformationParametersCommandapplyCommand = New ApplyTransformationParametersCommandapplyCommand.XTranslation = parameters.XTranslationapplyCommand.YTranslation = parameters.YTranslationapplyCommand.Angle = parameters.AngleapplyCommand.XScale = parameters.XScaleapplyCommand.YScale = parameters.YScaleapplyCommand.Flags = ApplyTransformationParametersCommandFlags.NormalapplyCommand.Run(tempImage)Catch e As ExceptionMessageBox.Show(e.Message)End TryEnd SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;public void ApplyTransformationParametersConstructorExample(){// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "RGSRef.cmp"));// Prepare the commandRasterImage tempImage = image;try{tempImage = image.Clone();if (tempImage.HasRegion)tempImage.MakeRegionEmpty();if (image.HasRegion)image.MakeRegionEmpty();SearchRegistrationMarksCommandData[] rmData = new SearchRegistrationMarksCommandData[3];// Mark1rmData[0] = new SearchRegistrationMarksCommandData();rmData[0].Rectangle = new LeadRect (680, 20, 941 - 680, 218 - 20);rmData[0].MarkDetectedPoints = new LeadPoint[1];rmData[0].Width = 31;rmData[0].Height = 29;rmData[0].Type = RegistrationMarkCommandType.TShape;rmData[0].MinimumScale = 90;rmData[0].MaximumScale = 110;rmData[0].SearchMarkCount =1;// Mark2rmData[1] = new SearchRegistrationMarksCommandData();rmData[1].Rectangle = new LeadRect(665,790,899-665,961-790);rmData[1].MarkDetectedPoints = new LeadPoint[1];rmData[1].Width = 31;rmData[1].Height = 29;rmData[1].Type = RegistrationMarkCommandType.TShape;rmData[1].MinimumScale = 90;rmData[1].MaximumScale = 110;rmData[1].SearchMarkCount =1;// Mark3rmData[2] = new SearchRegistrationMarksCommandData(31, 29, 90, 110, new LeadRect(7,1073,298-7,1246-1073), 1, new LeadPoint[1], RegistrationMarkCommandType.TShape);SearchRegistrationMarksCommand command1 = new SearchRegistrationMarksCommand();command1.SearchMarks = rmData;command1.Run(image);if((rmData[2].MarkDetectedCount != 1) || (rmData[1].MarkDetectedCount != 1) || (rmData[0].MarkDetectedCount != 1))return;LeadPoint[] original ={new LeadPoint(81400, 11300),new LeadPoint(78600, 87400),new LeadPoint(14300, 115400)};LeadPoint[] detected ={rmData[0].MarkDetectedPoints[0],rmData[1].MarkDetectedPoints[0],rmData[2].MarkDetectedPoints[0]};// Find center of mass for detected registration marks in the transformed imageLeadPoint[] transformed = CoreUtilities.GetRegistrationMarksCenterMass(image, detected);// Find transformation parametersTransformationParameters parameters = CoreUtilities.GetTransformationParameters(image, original, transformed);// Apply transformation parameters to correct the imageApplyTransformationParametersCommand applyCommand = new ApplyTransformationParametersCommand();applyCommand.XTranslation = parameters.XTranslation;applyCommand.YTranslation = parameters.YTranslation;applyCommand.Angle = parameters.Angle;applyCommand.XScale = parameters.XScale;applyCommand.YScale = parameters.YScale;applyCommand.Flags = ApplyTransformationParametersCommandFlags.Normal;applyCommand.Run(tempImage);}catch(Exception exception){MessageBox.Show(exception.Message);}}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
using Leadtools;using Leadtools.Examples;using Leadtools.Codecs;using Leadtools.ImageProcessing.Core;public void ApplyTransformationParametersConstructorExample(RasterImage image, Stream outStream){// Prepare the commandRasterImage tempImage = image;tempImage = image.Clone();if (tempImage.HasRegion)tempImage.MakeRegionEmpty();if (image.HasRegion)image.MakeRegionEmpty();// Apply transformatin parameters to correct the imageApplyTransformationParametersCommand applyCommand = new ApplyTransformationParametersCommand();applyCommand.XTranslation = 10;applyCommand.YTranslation = 10;applyCommand.Angle = 500;applyCommand.XScale = 1;applyCommand.YScale = 2;applyCommand.Flags = ApplyTransformationParametersCommandFlags.Normal;applyCommand.Run(tempImage);// Save result imageRasterCodecs codecs = new RasterCodecs();codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel);image.Dispose();}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub ApplyTransformationParametersConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)' Prepare the commandDim tempImage As RasterImage = imagetempImage = image.Clone()If tempImage.HasRegion ThentempImage.MakeRegionEmpty()End IfIf image.HasRegion Thenimage.MakeRegionEmpty()End If' Apply transformatin parameters to correct the imageDim applyCommand As ApplyTransformationParametersCommand = New ApplyTransformationParametersCommand()applyCommand.XTranslation = 10applyCommand.YTranslation = 10applyCommand.Angle = 500applyCommand.XScale = 1applyCommand.YScale = 2applyCommand.Flags = ApplyTransformationParametersCommandFlags.NormalapplyCommand.Run(tempImage)' Save result imageDim codecs As RasterCodecs = New RasterCodecs()codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel)image.Dispose()End Sub
ApplyTransformationParametersCommand Class
|
Products |
Support |
Feedback: ApplyTransformationParametersCommand Constructor() - Leadtools.ImageProcessing.Core |
Introduction |
Help Version 19.0.2017.3.21
|

Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.