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, 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, getDistCenterMean, getDistCenterMin, getDistCenterSigma, 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, VoxelsBorderBorderpublic 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()
Object3DcomputeCenter in class Object3Dprotected void computeMassCenter(ImageHandler ima)
Object3DcomputeMassCenter in class Object3Dima - the image with the signal intensityprotected void computeMassCenter(ImageHandler ima, ImageHandler mask)
Object3DcomputeMassCenter in class Object3Dima - the image with the signal intensitymask - the mask to restrain the computationprotected void computeBounding()
Object3DcomputeBounding in class Object3Dpublic java.util.List<java.util.List<java.lang.Integer>> getUniqueVerticesIndexes()
public void computeContours()
Object3DcomputeContours in class Object3Dprotected void computeMoments2(boolean normalize)
Object3DcomputeMoments2 in class Object3Dnormalize - normalize by volume or notprotected void computeMoments3()
Object3DcomputeMoments3 in class Object3Dpublic void computeMoments4()
Object3DcomputeMoments4 in class Object3Dpublic Voxel3D getPixelMax(ImageHandler ima)
Object3DgetPixelMax in class Object3Dima - the imagepublic java.util.LinkedList listVoxels(ImageHandler ima, double threshold)
Object3DlistVoxels in class Object3Dima - The image with valuesthreshold - the thresholdpublic java.util.LinkedList listVoxels(ImageHandler ima, double threshold1, double threshold2)
Object3DlistVoxels in class Object3Dima - The image with valuesthreshold1 - the min thresholdthreshold2 - the max thresholdpublic java.util.LinkedList<Voxel3D> getVoxels()
Object3Dprotected 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 Object3Dpublic 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)
Object3Dpublic 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 Object3Dpath - 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 Object3Dpublic boolean hasOneVoxelValueRange(ImageHandler ima, int t0, int t1)
hasOneVoxelValueRange in class Object3Dpublic ArrayUtil listValues(ImageHandler ima)
Object3DlistValues in class Object3Dima - the intensity imagepublic ArrayUtil listValues(ImageHandler ima, float thresh)
Object3DlistValues in class Object3Dima - the intensity image