|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.jhu.ece.iacl.jist.pipeline.AbstractCalculation edu.jhu.cs.cisst.algorithms.geometry.surface.IsoContourGenerator
public class IsoContourGenerator
The Iso-Contour generator generates 2D curves representing closed contours. The algorithm has been modified from it's original implementation so that contours are connected and do not self-intersect.
Nested Class Summary | |
---|---|
protected class |
IsoContourGenerator.Edge
The Class Edge stores vertex ids. |
protected class |
IsoContourGenerator.EdgeSplit
The Class EdgeSplit is a container to describe a level set crossing point. |
static class |
IsoContourGenerator.Winding
The winding order for triangle vertices. |
Field Summary | |
---|---|
protected int |
cols
The cols. |
protected int |
component
The component. |
protected float[][][][] |
fieldMat
The field mat. |
protected float[][] |
imgMat
The img mat. |
protected float |
isoLevel
The iso level. |
protected float |
resX
The res y. |
protected float |
resY
The res y. |
protected int |
rows
The cols. |
protected int |
slice
The slice. |
protected boolean |
useResolutions
The use resolutions. |
protected int |
vertCount
The vert count. |
protected float[][][] |
volMat
The vol mat. |
protected IsoContourGenerator.Winding |
winding
The winding order. |
Fields inherited from class edu.jhu.ece.iacl.jist.pipeline.AbstractCalculation |
---|
monitor |
Constructor Summary | |
---|---|
IsoContourGenerator()
Instantiates a new iso contour generator. |
|
IsoContourGenerator(AbstractCalculation parent)
Instantiates a new iso contour generator. |
Method Summary | |
---|---|
protected void |
addEdge(java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits,
java.util.LinkedList<IsoContourGenerator.Edge> edges,
int p1x,
int p1y,
int p2x,
int p2y,
int p3x,
int p3y,
int p4x,
int p4y)
Adds the edge. |
protected IsoContourGenerator.EdgeSplit |
createSplit(java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits,
int p1x,
int p1y,
int p2x,
int p2y)
Creates the split. |
protected float |
fGetOffset(Point2i v1,
Point2i v2)
Interpolate position along edge. |
protected float |
getValue(int i,
int j)
Gets the value. |
static java.lang.String |
getVersion()
Gets the version. |
protected void |
processSquare(int i,
int j,
java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits,
java.util.LinkedList<IsoContourGenerator.Edge> edges)
Process square. |
void |
setUseResolutions(boolean useResolutions)
Sets the use resolutions. |
void |
setWinding(IsoContourGenerator.Winding winding)
Sets the winding. |
CurveCollection |
solve(ImageDataFloat vol,
float isoLevel)
Solve for iso-contour. |
CurveCollection |
solve(ImageDataFloat vol,
float isoLevel,
int slice,
int component)
Solve for iso-contour. |
Methods inherited from class edu.jhu.ece.iacl.jist.pipeline.AbstractCalculation |
---|
add, addTotalUnits, decrementCompletedUnits, decrementCompletedUnits, getCompletedUnits, getCurrentLabel, getCurrentProgress, getLabel, getPerformance, getProgress, getTotalUnits, incrementCompletedUnits, incrementCompletedUnits, isCompleted, markCompleted, reset, setCompletedUnits, setCompletedUnits, setLabel, setMonitor, setTotalUnits |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected float[][][] volMat
protected float[][][][] fieldMat
protected float[][] imgMat
protected int rows
protected int cols
protected int vertCount
protected float isoLevel
protected int slice
protected int component
protected float resX
protected float resY
protected boolean useResolutions
protected IsoContourGenerator.Winding winding
Constructor Detail |
---|
public IsoContourGenerator()
public IsoContourGenerator(AbstractCalculation parent)
parent
- the parentMethod Detail |
---|
public static java.lang.String getVersion()
protected void addEdge(java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits, java.util.LinkedList<IsoContourGenerator.Edge> edges, int p1x, int p1y, int p2x, int p2y, int p3x, int p3y, int p4x, int p4y)
splits
- the splitsedges
- the edgesp1x
- the p1xp1y
- the p1yp2x
- the p2xp2y
- the p2yp3x
- the p3xp3y
- the p3yp4x
- the p4xp4y
- the p4yprotected IsoContourGenerator.EdgeSplit createSplit(java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits, int p1x, int p1y, int p2x, int p2y)
splits
- the splitsp1x
- the p1xp1y
- the p1yp2x
- the p2xp2y
- the p2y
protected float fGetOffset(Point2i v1, Point2i v2)
v1
- the lower grid pointv2
- the upper grid point
protected float getValue(int i, int j)
i
- the ij
- the j
protected void processSquare(int i, int j, java.util.Hashtable<java.lang.Long,IsoContourGenerator.EdgeSplit> splits, java.util.LinkedList<IsoContourGenerator.Edge> edges)
i
- the ij
- the jsplits
- the splitsedges
- the edgespublic void setUseResolutions(boolean useResolutions)
useResolutions
- the new use resolutionspublic void setWinding(IsoContourGenerator.Winding winding)
winding
- the new windingpublic CurveCollection solve(ImageDataFloat vol, float isoLevel)
vol
- the level setisoLevel
- the target iso-level
public CurveCollection solve(ImageDataFloat vol, float isoLevel, int slice, int component)
vol
- the level setisoLevel
- the target iso-levelslice
- the slice
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |