Beispiel #1
0
        /// <summary>
        /// Method checks if a given contour is relevant for the segmentation process.
        /// </summary>
        /// <param name="area">area size</param>
        /// <param name="autoMaxPixelSize">max area size</param>
        /// <param name="segmentationParameters">params</param>
        /// <returns>true if contour is relevant</returns>
        private bool IsContourRelevant(double area, int autoMaxPixelSize, SegmentationParameters segmentationParameters)
        {
            if (segmentationParameters.ManualContourSizeRestriction)
            {
                int minContour = segmentationParameters.MinContourSize;
                int maxContour = segmentationParameters.MaxContourSize;

                if (minContour == 0 && maxContour == 0)
                {
                    return(area > autoMaxPixelSize);
                }
                else if (minContour != 0 && maxContour != 0)
                {
                    return((minContour < area) && (area < maxContour));
                }
                else if (minContour == 0)
                {
                    return(area < maxContour);
                }
                else
                {
                    return(area > minContour);
                }
            }
            else
            {
                return(area > autoMaxPixelSize);
            }
        }
 public InnerTissueSegmentation(Image <Bgr, byte> image, Image <Gray, byte> particleMask, SegmentationParameters segmentationParameters)
 {
     this.image                  = image;
     this.particleMask           = particleMask;
     this.segmentationParameters = segmentationParameters;
 }
Beispiel #3
0
 public WholeTissueSegmentation(Image <Bgr, byte> image, SegmentationParameters parameters)
 {
     this.image = image.Clone();
     this.segmentationParameters = parameters;
 }