interjacent interjacent Interjacent Interjacent interjacent (Operator)
Name
interjacent interjacent Interjacent Interjacent interjacent
— Partition the image plane using given regions.
Warning
interjacent interjacent Interjacent Interjacent Interjacent interjacent
is obsolete and is only provided for
reasons of backward compatibility.
Signature
def interjacent (region : HObject, mode : str) -> HObject
Description
interjacent interjacent Interjacent Interjacent Interjacent interjacent
partitions the image plane using the regions
given in Region Region Region Region region region
. The result is a region containing the
extracted separating lines. The following modes of operation can be
used:
'medial_axis'
This mode is used for regions that do not touch or overlap.
The operator will find separating lines between the regions
which partition the background evenly between the input
regions. This corresponds to the following calls:
Example:
complement('full',Region,Tmp) complement("full",Region,Tmp) Complement("full",Region,Tmp) Complement("full",Region,Tmp) Complement("full",Region,Tmp) complement("full",Region,Tmp)
skeleton(Tmp,Result) skeleton(Tmp,Result) Skeleton(Tmp,Result) Skeleton(Tmp,Result) Skeleton(Tmp,Result) skeleton(Tmp,Result)
'border'
If the input regions do not touch or overlap this mode is
equivalent to boundary(Region,Result) boundary(Region,Result) Boundary(Region,Result) Boundary(Region,Result) Boundary(Region,Result) boundary(Region,Result)
, i.e., it
replaces each region by its boundary. If regions are touching
they are aggregated into one region. The corresponding output
region then contains the boundary of the aggregated region, as
well as the one pixel wide separating line between the
original regions. This corresponds to the following calls:
Example:
boundary(Region,Tmp1,'inner') boundary(Region,Tmp1,"inner") Boundary(Region,Tmp1,"inner") Boundary(Region,Tmp1,"inner") Boundary(Region,Tmp1,"inner") boundary(Region,Tmp1,"inner")
union1(Tmp1,Tmp2) union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) union1(Tmp1,Tmp2)
skeleton(Tmp2,Result) skeleton(Tmp2,Result) Skeleton(Tmp2,Result) Skeleton(Tmp2,Result) Skeleton(Tmp2,Result) skeleton(Tmp2,Result)
'mixed'
In this mode the operator behaves like the mode 'medial_axis' "medial_axis" "medial_axis" "medial_axis" "medial_axis" "medial_axis"
for non-overlapping regions. If regions touch or overlap,
again separating lines between the input regions are generated
on output, but this time including the “touching line”
between regions, i.e., touching regions are separated by a
line in the output region. This corresponds to the following
calls:
Example:
erosion1(Region,Mask,Tmp1,1) erosion1(Region,Mask,Tmp1,1) Erosion1(Region,Mask,Tmp1,1) Erosion1(Region,Mask,Tmp1,1) Erosion1(Region,Mask,Tmp1,1) erosion1(Region,Mask,Tmp1,1)
union1(Tmp1,Tmp2) union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) Union1(Tmp1,Tmp2) union1(Tmp1,Tmp2)
complement(full,Tmp2,Tmp3) complement(full,Tmp2,Tmp3) Complement(full,Tmp2,Tmp3) Complement(full,Tmp2,Tmp3) Complement(full,Tmp2,Tmp3) complement(full,Tmp2,Tmp3)
skeleton(Tmp3,Result) skeleton(Tmp3,Result) Skeleton(Tmp3,Result) Skeleton(Tmp3,Result) Skeleton(Tmp3,Result) skeleton(Tmp3,Result)
where Mask denotes the following “cross mask”:
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
Region Region Region Region region region
(input_object) region(-array) →
object HRegion HObject HRegion Hobject
Regions for which the separating lines are to be
determined.
RegionInterjacent RegionInterjacent RegionInterjacent RegionInterjacent regionInterjacent region_interjacent
(output_object) region →
object HRegion HObject HRegion Hobject *
Output region containing the separating lines.
Mode Mode Mode Mode mode mode
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Mode of operation.
Default:
'mixed'
"mixed"
"mixed"
"mixed"
"mixed"
"mixed"
List of values:
'border' "border" "border" "border" "border" "border" , 'medial_axis' "medial_axis" "medial_axis" "medial_axis" "medial_axis" "medial_axis" , 'mixed' "mixed" "mixed" "mixed" "mixed" "mixed"
Example (HDevelop)
read_image(Image,'forest_air1')
mean_image(Image,Mean,31,31)
dyn_threshold(Image,Mean,Seg,20,'light')
interjacent(Seg,Graph,'medial_axis')
dev_display(Graph)
Example (C)
read_image(&Image,"forest_air1");
mean_imae(Image,&Mean,31,31);
dyn_threshold(Image,Mean,&Seg,20,"light");
interjacent(Seg,&Graph,"medial_axis");
disp_region(Graph,WindowHandle);
Example (HDevelop)
read_image(Image,'forest_air1')
mean_image(Image,Mean,31,31)
dyn_threshold(Image,Mean,Seg,20,'light')
interjacent(Seg,Graph,'medial_axis')
dev_display(Graph)
Example (HDevelop)
read_image(Image,'forest_air1')
mean_image(Image,Mean,31,31)
dyn_threshold(Image,Mean,Seg,20,'light')
interjacent(Seg,Graph,'medial_axis')
dev_display(Graph)
Example (HDevelop)
read_image(Image,'forest_air1')
mean_image(Image,Mean,31,31)
dyn_threshold(Image,Mean,Seg,20,'light')
interjacent(Seg,Graph,'medial_axis')
dev_display(Graph)
Result
interjacent interjacent Interjacent Interjacent Interjacent interjacent
always returns the value 2 (
H_MSG_TRUE )
. The behavior
in case of empty input (no regions given) can be set via
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
,
the behavior in case of an empty input region via
set_system('empty_region_result',<Result>) set_system("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) SetSystem("empty_region_result",<Result>) set_system("empty_region_result",<Result>)
,
and the behavior in case of an empty result region via
set_system('store_empty_region',<'true'/'false'>) set_system("store_empty_region",<"true"/"false">) SetSystem("store_empty_region",<"true"/"false">) SetSystem("store_empty_region",<"true"/"false">) SetSystem("store_empty_region",<"true"/"false">) set_system("store_empty_region",<"true"/"false">)
.
If necessary, an exception is raised.
Possible Predecessors
threshold threshold Threshold Threshold Threshold threshold
,
connection connection Connection Connection Connection connection
,
regiongrowing regiongrowing Regiongrowing Regiongrowing Regiongrowing regiongrowing
,
pouring pouring Pouring Pouring Pouring pouring
Possible Successors
select_shape select_shape SelectShape SelectShape SelectShape select_shape
,
disp_region disp_region DispRegion DispRegion DispRegion disp_region
See also
expand_region expand_region ExpandRegion ExpandRegion ExpandRegion expand_region
,
junctions_skeleton junctions_skeleton JunctionsSkeleton JunctionsSkeleton JunctionsSkeleton junctions_skeleton
,
boundary boundary Boundary Boundary Boundary boundary
Module
Foundation