Operator Reference

expand_lineexpand_lineExpandLineExpandLineexpand_line (Operator)

expand_lineexpand_lineExpandLineExpandLineexpand_line — Expand a region starting at a given line.

Warning

expand_lineexpand_lineExpandLineExpandLineexpand_line is obsolete and is only provided for reasons of backward compatibility.

Signature

Herror expand_line(const Hobject Image, Hobject* RegionExpand, const Hlong Coordinate, const char* ExpandType, const char* RowColumn, double Threshold)

Herror T_expand_line(const Hobject Image, Hobject* RegionExpand, const Htuple Coordinate, const Htuple ExpandType, const Htuple RowColumn, const Htuple Threshold)

void ExpandLine(const HObject& Image, HObject* RegionExpand, const HTuple& Coordinate, const HTuple& ExpandType, const HTuple& RowColumn, const HTuple& Threshold)

HRegion HImage::ExpandLine(Hlong Coordinate, const HString& ExpandType, const HString& RowColumn, const HTuple& Threshold) const

HRegion HImage::ExpandLine(Hlong Coordinate, const HString& ExpandType, const HString& RowColumn, double Threshold) const

HRegion HImage::ExpandLine(Hlong Coordinate, const char* ExpandType, const char* RowColumn, double Threshold) const

HRegion HImage::ExpandLine(Hlong Coordinate, const wchar_t* ExpandType, const wchar_t* RowColumn, double Threshold) const   ( Windows only)

static void HOperatorSet.ExpandLine(HObject image, out HObject regionExpand, HTuple coordinate, HTuple expandType, HTuple rowColumn, HTuple threshold)

HRegion HImage.ExpandLine(int coordinate, string expandType, string rowColumn, HTuple threshold)

HRegion HImage.ExpandLine(int coordinate, string expandType, string rowColumn, double threshold)

def expand_line(image: HObject, coordinate: int, expand_type: str, row_column: str, threshold: Union[int, float]) -> HObject

Description

expand_lineexpand_lineExpandLineExpandLineexpand_line generates a region by expansion, starting at a given line (row or column). The expansion is terminated when the current gray value differs by more than ThresholdThresholdThresholdthresholdthreshold from the mean gray value along the line (ExpandTypeExpandTypeExpandTypeexpandTypeexpand_type = 'mean'"mean""mean""mean""mean") or from the previously added gray value (ExpandTypeExpandTypeExpandTypeexpandTypeexpand_type = 'gradient'"gradient""gradient""gradient""gradient").

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.

Parameters

ImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject (byte)

Input image.

RegionExpandRegionExpandRegionExpandregionExpandregion_expand (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Extracted segments.

CoordinateCoordinateCoordinatecoordinatecoordinate (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row or column coordinate.

Default: 256

Suggested values: 16, 64, 128, 200, 256, 300, 400, 511

Restriction: Coordinate >= 0

ExpandTypeExpandTypeExpandTypeexpandTypeexpand_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Stopping criterion.

Default: 'gradient' "gradient" "gradient" "gradient" "gradient"

List of values: 'gradient'"gradient""gradient""gradient""gradient", 'mean'"mean""mean""mean""mean"

RowColumnRowColumnRowColumnrowColumnrow_column (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Segmentation mode (row or column).

Default: 'row' "row" "row" "row" "row"

List of values: 'column'"column""column""column""column", 'row'"row""row""row""row"

ThresholdThresholdThresholdthresholdthreshold (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Threshold for the expansion.

Default: 3.0

Suggested values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 13.0, 17.0, 20.0, 30.0

Value range: 0 ≤ Threshold Threshold Threshold threshold threshold ≤ 255 (lin)

Minimum increment: 1.0

Recommended increment: 1.0

Example (C++)

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

int main (int argc, char *argv[])
{
  HImage   image (argv[1]),
           gauss;
  HWindow  win;

  win.SetDraw ("margin");
  win.SetColored (12);

  image.Display (win);

  gauss = image.GaussImage (5);

  HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);

  reg.Display (win);
  win.Click ();

  return (0);
}

Example (C)

read_image(&Image,"fabrik");
gauss_filter(Image,&Gauss,5);
expand_line(Gauss,&Reg,100,"mean","row",5.0);
set_colored(WindowHandle,12);
disp_region(Maxima,WindowHandle);

Example (C++)

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

int main (int argc, char *argv[])
{
  HImage   image (argv[1]),
           gauss;
  HWindow  win;

  win.SetDraw ("margin");
  win.SetColored (12);

  image.Display (win);

  gauss = image.GaussImage (5);

  HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);

  reg.Display (win);
  win.Click ();

  return (0);
}

Example (C++)

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

int main (int argc, char *argv[])
{
  HImage   image (argv[1]),
           gauss;
  HWindow  win;

  win.SetDraw ("margin");
  win.SetColored (12);

  image.Display (win);

  gauss = image.GaussImage (5);

  HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);

  reg.Display (win);
  win.Click ();

  return (0);
}

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImagesmooth_image, anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionanisotropic_diffusion, median_imagemedian_imageMedianImageMedianImagemedian_image, affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageaffine_trans_image, rotate_imagerotate_imageRotateImageRotateImagerotate_image

Possible Successors

intersectionintersectionIntersectionIntersectionintersection, openingopeningOpeningOpeningopening, closingclosingClosingClosingclosing

Alternatives

regiongrowing_meanregiongrowing_meanRegiongrowingMeanRegiongrowingMeanregiongrowing_mean, expand_grayexpand_grayExpandGrayExpandGrayexpand_gray, expand_gray_refexpand_gray_refExpandGrayRefExpandGrayRefexpand_gray_ref

Module

Foundation