Digital Signal Processing Reference
In-Depth Information
D.2.2 File Node.java
D Source Code
1
2 public class Node {
3
int x;
int y;
4
5
6
Node(int x, int y) {
this.x = x;
7
this.y = y;
8
}
9
10
11
void moveBy (int dx, int dy) {
x=x+dx;
12
y=y+dy;
13
}
14
15 }
D.2.3 File Contour.java
1 import ij.IJ;
2
3 import java.awt.Polygon;
4 import java.awt.Shape;
5 import java.awt.geom.Ellipse2D;
6 import java.util.ArrayList;
7 import java.util.Iterator;
8
9 abstract class Contour { // generic contour, never instantiated
10
int label;
ArrayList<Node> nodes;
11
12
13
Contour (int label, int initialSize) {
this.label = label;
14
nodes = new ArrayList<Node>(initialSize);
15
}
16
17
18
void addNode (Node n){
nodes.add(n);
19
}
20
21
22
Shape makePolygon() {
int m = nodes.size();
23
if (m>1){
24
int[] xPoints = new int[m];
25
int[] yPoints = new int[m];
26
int k = 0;
27
Iterator<Node> itr = nodes.iterator();
28
while (itr.hasNext() && k < m) {
29
Node cn = itr.next();
30
Search WWH ::




Custom Search