LEADTOOLS MRC (Leadtools.Mrc assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
SetSegmentData Method
See Also 
Leadtools.Mrc Namespace > MrcSegmenter Class : SetSegmentData Method



image
The image that will be segmented.
id
ID of the segment to be updated.
data
Instance of the structure that contains the new segment information.

The SetSegmentData Method is available in LEADTOOLS Document and Medical Imaging toolkits.

image
The image that will be segmented.
id
ID of the segment to be updated.
data
Instance of the structure that contains the new segment information.
Updates the specified segment.

Syntax

Visual Basic (Declaration) 
Public Sub SetSegmentData( _
   ByVal image As RasterImage, _
   ByVal id As Integer, _
   ByVal data As MrcSegmentData _
) 
Visual Basic (Usage)Copy Code
Dim instance As MrcSegmenter
Dim image As RasterImage
Dim id As Integer
Dim data As MrcSegmentData
 
instance.SetSegmentData(image, id, data)
C# 
public void SetSegmentData( 
   RasterImage image,
   int id,
   MrcSegmentData data
)
C++/CLI 
public:
void SetSegmentData( 
   RasterImage^ image,
   int id,
   MrcSegmentData data
) 

Parameters

image
The image that will be segmented.
id
ID of the segment to be updated.
data
Instance of the structure that contains the new segment information.

Example

Visual BasicCopy Code
Private segmentedImage As RasterImage
   Private Function MrcEnumerateSegmentInfoSetSegmentDataCallback(ByVal segmentHandle As MrcSegmenter, ByVal data As MrcSegmentData, ByVal iD As Integer) As Boolean
      If iD = 0 Then
         Dim newData As MrcSegmentData = data
         newData.ImageSegment = New LeadRect(0, 0, 60, 60)
         newData.SegmentType = MrcSegmentType.Picture
         'segmenter.SetSegmentData(segmentedImage, iD, newData);
      End If
      Return True
   End Function

   Public Sub SetSegmentDataExample()
      ' Load an image
      Dim codecs As RasterCodecs = New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

      Dim segmenter As MrcSegmenter = New MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black))
      segmenter.SegmentImage(image, MrcSegmentImageOptions.Empty)

      Dim setSegmentCallBack As MrcEnumerateSegmentsInfo = New MrcEnumerateSegmentsInfo(AddressOf MrcEnumerateSegmentInfoSetSegmentDataCallback)
      segmenter.EnumerateSegments(setSegmentCallBack)
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
private bool MrcEnumerateSegmentInfoSetSegmentDataCallback(MrcSegmenter segmentHandle, MrcSegmentData data, int iD)
   {
      if (iD == 0)
      {
         MrcSegmentData newData = data;
         newData.ImageSegment = new LeadRect(0, 0, 60, 60);
         newData.SegmentType = MrcSegmentType.Picture;
         //segmenter.SetSegmentData(segmentedImage, iD, newData);
      }
      return true;
   }

   public void SetSegmentDataExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      MrcSegmenter segmenter = new MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black));

      segmenter.SegmentImage(image, MrcSegmentImageOptions.Empty);

      MrcEnumerateSegmentsInfo setSegmentCallBack = new MrcEnumerateSegmentsInfo(MrcEnumerateSegmentInfoSetSegmentDataCallback);
      segmenter.EnumerateSegments(setSegmentCallBack);
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

This method is used to update the segment information.

In the auto segmentation mode, the LEADTOOLS engine will update the segments using the new segment data passed to this method. This process may create or delete segments. The method will update the segments so they remain within the image width and height.

In the manual segmentation mode, the user is free to update the segments. The LEAD engine will not delete or create segments. If an error occurs, the data parameter will be updated with the target segment.

To get segment IDs and segment information, the user can enumerate all segments using the MrcSegmenter.EnumerateSegments method.

The method will return an error if the updated segment exceeds its image boundaries. For more information, refer to Programming with LEADTOOLS MRC.

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Mrc requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features