public class Object3DSurface extends Object3D
This file is part of mcib3d
mcib3d is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see
Modifier and Type | Field and Description |
---|---|
protected java.util.List<Point3f> |
faces |
protected java.util.List<java.lang.Integer> |
faces_vertices_index |
static int |
SMOOTH_BLENDER |
protected java.util.List<Point3f> |
smooth_faces |
static int |
SMOOTH_IJ3D |
static int |
SMOOTH_LAPLACE |
protected java.util.List<Point3f> |
vertices |
protected java.util.List<java.util.List<java.lang.Integer>> |
vertices_faces_index |
protected java.util.ArrayList<Vector3D> |
verticesNormals |
areaContactUnit, areaContactVoxels, areaNbVoxels, bx, by, bz, comment, compare, contours, currentQuantifImage, cx, cy, cz, eigen, feret, feret1, feret2, integratedDensity, kdtreeContours, labelImage, meanDensity, MEASURE_AREA_PIX, MEASURE_AREA_UNIT, MEASURE_COMPACTNESS_UNITS, MEASURE_COMPACTNESS_VOXELS, MEASURE_DC_AVG, MEASURE_DC_SD, MEASURE_INTENSITY_AVG, MEASURE_INTENSITY_MAX, MEASURE_INTENSITY_MEDIAN, MEASURE_INTENSITY_MIN, MEASURE_INTENSITY_SD, MEASURE_MAIN_ELONGATION, MEASURE_NONE, MEASURE_VOLUME_PIX, MEASURE_VOLUME_UNIT, miniLabelImage, multiThread, name, pixmax, pixmin, resXY, resZ, s002, s003, s004, s011, s012, s013, s020, s021, s022, s030, s031, s040, s101, s102, s103, s110, s111, s112, s120, s121, s130, s200, s201, s202, s210, s211, s220, s300, s301, s310, s400, sigma, type, units, value, verbose, volume, xmax, xmin, ymax, ymin, zmax, zmin
Constructor and Description |
---|
Object3DSurface(java.util.List<Point3f> l) |
Object3DSurface(java.util.List<Point3f> l,
int val) |
Modifier and Type | Method and Description |
---|---|
protected Object3DVoxels |
buildObject3DVoxels() |
protected void |
computeBounding()
Compute the bounding box of the object
|
protected void |
computeCenter()
Compute the barycenter of the object
|
void |
computeContours()
Compute the contour voxels of the object
|
java.util.LinkedList<Point3f> |
computeConvexHull3D() |
protected void |
computeMassCenter(ImageHandler ima)
Compute the mass center of the object using signal from an image
|
protected void |
computeMassCenter(ImageHandler ima,
ImageHandler mask)
Compute the mass center of the object using signal from an image and within a mask
|
java.util.List |
computeMeshSurface(boolean calibrated)
Deprecated.
|
protected void |
computeMoments2(boolean normalize)
Compute the moments of the object (for ellipsoid orientation), order 2
|
protected void |
computeMoments3()
Compute the moments of the object, order 3
|
void |
computeMoments4()
Compute the moments of the object, order 4
|
void |
computeVerticesNormals() |
void |
computeVerticesNormalsWeighted() |
Roi |
createRoi(int z)
Deprecated.
|
static java.util.List<Point3f> |
createSphere(GeomTransform3D transform,
int meridians,
int parallels) |
void |
deCalibrateObject() |
boolean |
draw(ByteProcessor mask,
int z,
int col)
Deprecated.
|
void |
draw(ImageHandler mask,
float val)
drawing inside an ImageHandler
|
void |
draw(ImageHandler mask,
int col,
int tx,
int ty,
int tz) |
void |
draw(ImageStack mask,
int col)
Deprecated.
|
void |
draw(ImageStack mask,
int r,
int g,
int b)
Deprecated.
|
void |
draw(ObjectCreator3D obj,
int col) |
Content |
drawContent(Image3DUniverse univ,
Color3f co,
java.lang.String name) |
void |
drawCurvature(ImageFloat draw,
double[] curvatures) |
Content |
drawFacesCurvature(Image3DUniverse univ,
double[] cur,
java.lang.String name,
boolean useCalibration) |
Content |
drawFacesVertex(int i,
Image3DUniverse univ,
Color3f co,
java.lang.String name,
boolean useCalibration) |
void |
drawMesh(ObjectCreator3D obj,
int col) |
Content |
drawNeighbors(int v,
Image3DUniverse univ,
Color3f co,
java.lang.String name,
boolean useCalibration) |
Content |
drawNormal(int i,
double le,
Image3DUniverse univ,
Color3f co,
java.lang.String name,
boolean useCalibration) |
Point3f |
getCenterFace(int idx) |
int |
getColoc(Object3D obj) |
double[] |
getCurvatureFaces(double[] curvatures) |
double |
getCurvatureGaussBonnet(int ve) |
double[] |
getCurvatures(int v) |
double[] |
getCurvaturesGaussBonnet() |
double |
getCurvatureTangent(int v0,
int v1) |
double[] |
getMeanCurvatureVertexFaces(double[] facesCurvatures) |
int |
getNbUniqueVertices() |
java.util.ArrayList<java.lang.Integer> |
getNeighborVertices(int v) |
Point3f |
getNormalFace(int idx) |
Point3f |
getNormalVertex(int idx) |
Point3f |
getNormalVertexWeighted(int idx) |
Voxel3D |
getPixelMax(ImageHandler ima)
compute the voxel with maximum value in an image
|
java.util.ArrayList<Point3f> |
getRotated(Vector3D Axis,
double angle) |
float |
getSmoothingFactor() |
java.util.List<Point3f> |
getSmoothSurface() |
double |
getSmoothSurfaceArea() |
double |
getSmoothSurfaceAreaUnit() |
double |
getSurfaceMesh() |
double |
getSurfaceMeshUnit() |
java.util.List<Point3f> |
getSurfaceTriangles(boolean calibrated) |
java.util.List<Point3f> |
getSurfaceTrianglesPixels(boolean smooth) |
java.util.List<Point3f> |
getSurfaceTrianglesUnit(boolean smooth) |
Point3f |
getTangentVector(int v0,
int v1) |
Point3f |
getUniqueVertex(int i) |
java.util.List<java.util.List<java.lang.Integer>> |
getUniqueVerticesIndexes() |
Point3f |
getVertex(int i) |
java.util.LinkedList<Voxel3D> |
getVoxels()
Get the list of voxels of the object
|
boolean |
hasOneVoxelColoc(Object3D obj) |
boolean |
hasOneVoxelValueRange(ImageHandler ima,
int t0,
int t1) |
static java.util.List<Point3f> |
invertNormals(java.util.List<Point3f> li) |
ArrayUtil |
listValues(ImageHandler ima)
Outputs the list of Voxels values using intensity image
|
ArrayUtil |
listValues(ImageHandler ima,
float thresh)
Outputs the list of Voxels values using intensity image above a fixed threshold
|
java.util.LinkedList |
listVoxels(ImageHandler ima,
double threshold)
List Voxels in the image with values > threshold
|
java.util.LinkedList |
listVoxels(ImageHandler ima,
double threshold1,
double threshold2)
List Voxels in the image with values > threshold0 and < threshold1
|
void |
reCalibrateObject() |
void |
reCalibratePoints() |
void |
rotate(Vector3D Axis,
double angle) |
void |
saveObject(java.lang.String path) |
void |
scale(double scale) |
void |
scale(double scale,
Vector3D dir) |
void |
setSmooth_method(int method) |
void |
setSmoothingFactor(float fac) |
void |
translate(double x,
double y,
double z) |
static java.util.List |
translateTool(java.util.List l,
float tx,
float ty,
float tz) |
angle, b_closed, b_open, centerInside, compareTo, computeContours, computeEigen, createIntersectionImage, createIntersectionImage, createSegImage, createSegImage, createSegImageMini2D, disjointBox, distBorderPixel, distBorderUnit, distBorderUnit, distCenter2DUnit, distCenterBorderUnit, distCenterPixel, distCenterUnit, distHausdorffUnit, distPixelBorder, distPixelBorderUnit, distPixelBorderUnit, distPixelCenter, distPixelCenter, draw, drawAt, drawLink, edgeContact, edgeImage, getAreaPixels, getAreaUnit, getArrayValues, getBoundingBox, getBoundingOriented, getCalibration, getCenterAsArray, getCenterAsPoint, getCenterAsVector, getCenterAsVectorUnit, getCenterUnit, getCenterX, getCenterY, getCenterZ, getClosedObject, getComment, getCompactness, getCompactness, getContours, getConvexObject, getConvexObject, getConvexPolygonRoi, getConvexSurface, getDilatedObject, getDistCenterMax, getDistCenterMaxPixel, getDistCenterMean, getDistCenterMeanPixel, getDistCenterMin, getDistCenterMinPixel, getDistCenterSigma, getDistCenterSigmaPixel, getEllipsoid, getErodedObject, getFeret, getFeretVoxel1, getFeretVoxel2, getGeometricInvariants, getHomogeneousInvariants, getIntegratedDensity, getIntegratedDensity, getIntersectionBox, getIntersectionObject, getLabelImage, getLayerEVFObject, getLayerEVFObject, getLayerObject, getMainAxis, getMainElongation, getMassCenterX, getMassCenterY, getMassCenterZ, getMatrixAxes, getMaxLabelImage, getMeanPixValueAroundBarycenter, getMeasure, getMedianElongation, getMoments3D, getMomentsRaw2, getMomentsRaw3, getMomentsRaw4, getName, getNbMoments3D, getNumbering, getObject3DSurface, getObject3DVoxels, getOpenedObject, getPixCenterValue, getPixelBorder, getPixMaxValue, getPixMeanValue, getPixMeanValueContour, getPixMedianValue, getPixMinValue, getPixModeNonZero, getPixModeValue, getPixStdDevValue, getQuantilePixValue, getRadiusMoments, getRatioBox, getRatioEllipsoid, getResXY, getResZ, getSphericity, getSphericity, getType, getUnits, getValue, getValueAxis, getVectorAxis, getVolumeBoundingBoxOrientedPixel, getVolumeBoundingBoxPixel, getVolumeEllipseUnit, getVolumePixels, getVolumeUnit, getXmax, getXmin, getYmax, getYmin, getZmax, getZmin, includedInZonesNone, includedInZonesOneMore, includedInZonesOneOnly, includes, includesBox, includesMarkersNone, includesMarkersOneMore, includesMarkersOneOnly, init, inside, inside, insideAll, insideBounding, insideBounding, insideBounding, insideOne, isContour, isEmpty, listVoxels, listVoxelsByDistance, loadInfo, overlapBox, pcColoc, pcColocSum, pointPixelBorder, radiusCenter, radiusCenter, radiusCenter, radiusPixel, regular, resetQuantifImage, saveInfo, setCalibration, setCalibration, setComment, setLabelImage, setName, setNewCenter, setNewCenter, setNewCenter, setResXY, setResZ, setType, setUnits, setValue, surfaceContact, toString, touchBorders, touchBorders, translate, vectorBorderBorder, vectorBorderBorder, vectorCenterBorder, vectorPixelBorder, vectorPixelBorder, vectorPixelBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, VoxelsBorderBorder
public static final int SMOOTH_LAPLACE
public static final int SMOOTH_IJ3D
public static final int SMOOTH_BLENDER
protected java.util.List<Point3f> faces
protected java.util.List<Point3f> smooth_faces
protected java.util.List<Point3f> vertices
protected java.util.List<java.util.List<java.lang.Integer>> vertices_faces_index
protected java.util.List<java.lang.Integer> faces_vertices_index
protected java.util.ArrayList<Vector3D> verticesNormals
public Object3DSurface(java.util.List<Point3f> l)
l
- public Object3DSurface(java.util.List<Point3f> l, int val)
l
- val
- public static java.util.List<Point3f> invertNormals(java.util.List<Point3f> li)
public static java.util.List<Point3f> createSphere(GeomTransform3D transform, int meridians, int parallels)
transform
- meridians
- parallels
- public static java.util.List translateTool(java.util.List l, float tx, float ty, float tz)
public void deCalibrateObject()
public void reCalibrateObject()
public void reCalibratePoints()
public double getSmoothSurfaceArea()
public double getSmoothSurfaceAreaUnit()
public double getSurfaceMesh()
public double getSurfaceMeshUnit()
public java.util.List<Point3f> getSmoothSurface()
public java.util.List<Point3f> getSurfaceTrianglesPixels(boolean smooth)
smooth
- public java.util.List<Point3f> getSurfaceTrianglesUnit(boolean smooth)
public java.util.LinkedList<Point3f> computeConvexHull3D()
public float getSmoothingFactor()
public void setSmoothingFactor(float fac)
fac
- public void setSmooth_method(int method)
method
- public Point3f getNormalFace(int idx)
public Point3f getCenterFace(int idx)
public Point3f getNormalVertex(int idx)
public Point3f getNormalVertexWeighted(int idx)
public void computeVerticesNormals()
public void computeVerticesNormalsWeighted()
public Point3f getTangentVector(int v0, int v1)
public double getCurvatureTangent(int v0, int v1)
public double getCurvatureGaussBonnet(int ve)
public double[] getCurvatureFaces(double[] curvatures)
public double[] getMeanCurvatureVertexFaces(double[] facesCurvatures)
public double[] getCurvaturesGaussBonnet()
public double[] getCurvatures(int v)
public void drawCurvature(ImageFloat draw, double[] curvatures)
public java.util.ArrayList<java.lang.Integer> getNeighborVertices(int v)
protected void computeCenter()
Object3D
computeCenter
in class Object3D
protected void computeMassCenter(ImageHandler ima)
Object3D
computeMassCenter
in class Object3D
ima
- the image with the signal intensityprotected void computeMassCenter(ImageHandler ima, ImageHandler mask)
Object3D
computeMassCenter
in class Object3D
ima
- the image with the signal intensitymask
- the mask to restrain the computationprotected void computeBounding()
Object3D
computeBounding
in class Object3D
public java.util.List<java.util.List<java.lang.Integer>> getUniqueVerticesIndexes()
public void computeContours()
Object3D
computeContours
in class Object3D
protected void computeMoments2(boolean normalize)
Object3D
computeMoments2
in class Object3D
normalize
- normalize by volume or notprotected void computeMoments3()
Object3D
computeMoments3
in class Object3D
public void computeMoments4()
Object3D
computeMoments4
in class Object3D
public Voxel3D getPixelMax(ImageHandler ima)
Object3D
getPixelMax
in class Object3D
ima
- the imagepublic java.util.LinkedList listVoxels(ImageHandler ima, double threshold)
Object3D
listVoxels
in class Object3D
ima
- The image with valuesthreshold
- the thresholdpublic java.util.LinkedList listVoxels(ImageHandler ima, double threshold1, double threshold2)
Object3D
listVoxels
in class Object3D
ima
- The image with valuesthreshold1
- the min thresholdthreshold2
- the max thresholdpublic java.util.LinkedList<Voxel3D> getVoxels()
Object3D
protected Object3DVoxels buildObject3DVoxels()
public Point3f getVertex(int i)
public Point3f getUniqueVertex(int i)
public int getNbUniqueVertices()
public java.util.List<Point3f> getSurfaceTriangles(boolean calibrated)
calibrated
- @Deprecated public java.util.List computeMeshSurface(boolean calibrated)
computeMeshSurface
in class Object3D
public void drawMesh(ObjectCreator3D obj, int col)
public void draw(ObjectCreator3D obj, int col)
@Deprecated public boolean draw(ByteProcessor mask, int z, int col)
@Deprecated public void draw(ImageStack mask, int col)
public void draw(ImageHandler mask, float val)
Object3D
public void draw(ImageHandler mask, int col, int tx, int ty, int tz)
public Content drawContent(Image3DUniverse univ, Color3f co, java.lang.String name)
public Content drawNormal(int i, double le, Image3DUniverse univ, Color3f co, java.lang.String name, boolean useCalibration)
public Content drawFacesVertex(int i, Image3DUniverse univ, Color3f co, java.lang.String name, boolean useCalibration)
public Content drawFacesCurvature(Image3DUniverse univ, double[] cur, java.lang.String name, boolean useCalibration)
public Content drawNeighbors(int v, Image3DUniverse univ, Color3f co, java.lang.String name, boolean useCalibration)
@Deprecated public void draw(ImageStack mask, int r, int g, int b)
@Deprecated public Roi createRoi(int z)
public void saveObject(java.lang.String path)
saveObject
in class Object3D
path
- public void translate(double x, double y, double z)
public void scale(double scale)
public void scale(double scale, Vector3D dir)
public void rotate(Vector3D Axis, double angle)
public java.util.ArrayList<Point3f> getRotated(Vector3D Axis, double angle)
public boolean hasOneVoxelColoc(Object3D obj)
hasOneVoxelColoc
in class Object3D
public boolean hasOneVoxelValueRange(ImageHandler ima, int t0, int t1)
hasOneVoxelValueRange
in class Object3D
public ArrayUtil listValues(ImageHandler ima)
Object3D
listValues
in class Object3D
ima
- the intensity imagepublic ArrayUtil listValues(ImageHandler ima, float thresh)
Object3D
listValues
in class Object3D
ima
- the intensity image