BioCore
5.0.0
A Windows .NET microscopy library and application for viewing, editing, and annotating images.
Loading...
Searching...
No Matches
AbstractFloodFiller.cs
Go to the documentation of this file.
1
using
System.Diagnostics;
2
using
AForge;
3
using
Color
= AForge.Color;
4
using
RectangleD
= AForge.RectangleD;
5
using
Point
= AForge.Point;
6
namespace
BioCore
7
{
12
public
abstract
class
AbstractFloodFiller
13
{
14
15
protected
Bitmap
bitmap
;
16
protected
ColorS
tolerance
=
new
ColorS(25, 25, 25);
17
protected
ColorS
fillColor
= ColorS.FromColor(
Color
.Black);
18
protected
bool
fillDiagonally
=
false
;
19
protected
bool
slow
=
false
;
20
21
//cached bitmap properties
22
protected
int
bitmapWidth
= 0;
23
protected
int
bitmapHeight
= 0;
24
protected
int
bitmapStride
= 0;
25
protected
int
bitmapPixelFormatSize
= 0;
26
protected
byte
[]
bitmapBits
=
null
;
27
protected
PixelFormat
pixelFormat
;
28
29
//internal int timeBenchmark = 0;
30
internal
Stopwatch watch =
new
Stopwatch();
31
32
//internal, initialized per fill
33
//protected BitArray pixelsChecked;
34
protected
bool
[]
pixelsChecked
;
35
protected
ColorS
byteFillColor
;
36
protected
ColorS
startColor
;
37
//protected int stride;
38
39
public
AbstractFloodFiller
()
40
{
41
42
}
43
44
public
AbstractFloodFiller
(
AbstractFloodFiller
configSource)
45
{
46
if
(configSource !=
null
)
47
{
48
this.Bitmap = configSource.
Bitmap
;
49
this.FillColor = configSource.
FillColor
;
50
this.FillDiagonally = configSource.
FillDiagonally
; ;
51
this.Tolerance = configSource.
Tolerance
;
52
}
53
}
54
55
public
ColorS
FillColor
56
{
57
get
{
return
fillColor
; }
58
set
{
fillColor
= value; }
59
}
60
61
public
bool
FillDiagonally
62
{
63
get
{
return
fillDiagonally
; }
64
set
{
fillDiagonally
= value; }
65
}
66
67
public
ColorS
Tolerance
68
{
69
get
{
return
tolerance
; }
70
set
{
tolerance
= value; }
71
}
72
73
public
Bitmap
Bitmap
74
{
75
get
{
return
bitmap
; }
76
set
77
{
78
bitmap
= value;
79
}
80
}
81
82
public
abstract
void
FloodFill
(
Point
pt);
83
protected
void
PrepareForFloodFill
(
Point
pt)
84
{
85
startColor
=
bitmap
.GetPixel((
int
)pt.X, (
int
)pt.Y);
86
byteFillColor
=
new
ColorS(
fillColor
.B,
fillColor
.G,
fillColor
.R);
87
bitmapStride
=
bitmap
.Stride;
88
bitmapPixelFormatSize
=
bitmap
.PixelFormatSize;
89
pixelFormat
=
bitmap
.PixelFormat;
90
bitmapBits
=
bitmap
.Bytes;
91
bitmapWidth
=
bitmap
.SizeX;
92
bitmapHeight
=
bitmap
.SizeY;
93
pixelsChecked
=
new
bool
[bitmapBits.Length /
bitmapPixelFormatSize
];
94
}
95
}
96
}
Color
System.Drawing.Color Color
Definition
HistogramControl.cs:12
RectangleD
AForge.RectangleD RectangleD
Definition
ImageView.cs:17
PixelFormat
OpenTK.Graphics.OpenGL.PixelFormat PixelFormat
Definition
SlideGLArea.cs:8
Point
System.Drawing.Point Point
Definition
TabsView.Zarr.cs:4
BioCore.AbstractFloodFiller
The base class that the flood fill algorithms inherit from. Implements the basic flood filler functio...
Definition
AbstractFloodFiller.cs:13
BioCore.AbstractFloodFiller.tolerance
ColorS tolerance
Definition
AbstractFloodFiller.cs:16
BioCore.AbstractFloodFiller.fillColor
ColorS fillColor
Definition
AbstractFloodFiller.cs:17
BioCore.AbstractFloodFiller.bitmapWidth
int bitmapWidth
Definition
AbstractFloodFiller.cs:22
BioCore.AbstractFloodFiller.byteFillColor
ColorS byteFillColor
Definition
AbstractFloodFiller.cs:35
BioCore.AbstractFloodFiller.PrepareForFloodFill
void PrepareForFloodFill(Point pt)
Definition
AbstractFloodFiller.cs:83
BioCore.AbstractFloodFiller.bitmapPixelFormatSize
int bitmapPixelFormatSize
Definition
AbstractFloodFiller.cs:25
BioCore.AbstractFloodFiller.bitmapBits
byte[] bitmapBits
Definition
AbstractFloodFiller.cs:26
BioCore.AbstractFloodFiller.bitmap
Bitmap bitmap
Definition
AbstractFloodFiller.cs:15
BioCore.AbstractFloodFiller.fillDiagonally
bool fillDiagonally
Definition
AbstractFloodFiller.cs:18
BioCore.AbstractFloodFiller.bitmapHeight
int bitmapHeight
Definition
AbstractFloodFiller.cs:23
BioCore.AbstractFloodFiller.bitmapStride
int bitmapStride
Definition
AbstractFloodFiller.cs:24
BioCore.AbstractFloodFiller.FloodFill
void FloodFill(Point pt)
BioCore.AbstractFloodFiller.Bitmap
Bitmap Bitmap
Definition
AbstractFloodFiller.cs:74
BioCore.AbstractFloodFiller.FillDiagonally
bool FillDiagonally
Definition
AbstractFloodFiller.cs:62
BioCore.AbstractFloodFiller.FillColor
ColorS FillColor
Definition
AbstractFloodFiller.cs:56
BioCore.AbstractFloodFiller.AbstractFloodFiller
AbstractFloodFiller(AbstractFloodFiller configSource)
Definition
AbstractFloodFiller.cs:44
BioCore.AbstractFloodFiller.pixelFormat
PixelFormat pixelFormat
Definition
AbstractFloodFiller.cs:27
BioCore.AbstractFloodFiller.pixelsChecked
bool[] pixelsChecked
Definition
AbstractFloodFiller.cs:34
BioCore.AbstractFloodFiller.AbstractFloodFiller
AbstractFloodFiller()
Definition
AbstractFloodFiller.cs:39
BioCore.AbstractFloodFiller.startColor
ColorS startColor
Definition
AbstractFloodFiller.cs:36
BioCore.AbstractFloodFiller.slow
bool slow
Definition
AbstractFloodFiller.cs:19
BioCore.AbstractFloodFiller.Tolerance
ColorS Tolerance
Definition
AbstractFloodFiller.cs:68
BioCore
Definition
About.cs:2
BioCore
BioCore
Graphics
AbstractFloodFiller.cs
Generated by
1.12.0