public class Object3DVoxels 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
An Object3D defined as a list of voxels
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 |
---|
Object3DVoxels() |
Object3DVoxels(ImageHandler ima) |
Object3DVoxels(ImageHandler imaSeg,
ImageHandler imaRaw) |
Object3DVoxels(ImageHandler ima,
int val)
constructor
|
Object3DVoxels(ImagePlus plus,
int val)
Deprecated.
use Object3D-IJUtils
Constructor for the Object3D object
|
Object3DVoxels(ImageStack stack,
int val)
Deprecated.
use Object3D-IJUtils
Constructor for the Object3D object
|
Object3DVoxels(int val) |
Object3DVoxels(java.util.LinkedList<Voxel3D> al) |
Object3DVoxels(Object3D other) |
Object3DVoxels(Object3DVoxels other)
copy
|
Modifier and Type | Method and Description |
---|---|
void |
addVoxels(java.util.LinkedList<Voxel3D> vox) |
void |
addVoxelsIntersection(java.util.ArrayList<Object3D> objs) |
void |
addVoxelsIntersection(Object3D ob1,
Object3D ob2) |
void |
addVoxelsUnion(java.util.ArrayList<Object3D> objs) |
void |
addVoxelsUnion(Object3D ob1,
Object3D ob2) |
protected void |
computeBounding()
Compute the bounding box of the object
|
protected void |
computeCenter()
Compute the barycenter and the volume
|
void |
computeContours()
Compute the contours of the object rad=0.5
|
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
|
protected void |
computeMoments2(boolean normalize)
Computation of the dispersion tensor with units value
|
void |
computeMoments3()
Compute the moments of the object, order 3
|
void |
computeMoments4()
Compute the moments of the object, order 4
|
void |
computeMomentsInertia()
Computation of the inertia tensor with units value
|
Object3DVoxels |
copyObject(int newLabel) |
void |
createEllipsoidPixel(int cx,
int cy,
int cz,
float rx,
float ry,
float rz) |
Roi |
createRoi(int z)
Deprecated.
use Object3D-IJUtils
Constructor for the createRoi object
|
void |
createSphereUnit(float cx,
float cy,
float cz,
float rad) |
Object3DVoxels |
dilate(float dilateSize,
ImageInt mask,
int nbCPUs) |
boolean |
draw(ByteProcessor mask,
int z,
int col)
Deprecated.
use Object3D-IJUtils
Draw inside a particular Z
|
void |
draw(ImageHandler mask,
float col)
drawing inside an ImageHandler
|
void |
draw(ImageHandler mask,
int col,
int tx,
int ty,
int tz) |
void |
draw(ImageStack mask,
int col)
Deprecated.
use Object3D-IJUtils
|
void |
draw(ImageStack mask,
int r,
int g,
int b)
Deprecated.
use Object3D-IJUtils
|
void |
draw(ObjectCreator3D obj,
int col)
Draw the pixel inside a creator
|
void |
drawContours(ObjectCreator3D ima,
int col) |
void |
drawContoursXY(ObjectCreator3D ima,
int z,
int col) |
double |
getAreaPixelsCorrected() |
int |
getColoc(Object3D obj) |
int |
getColocVoxels(Object3D obj) |
double |
getCompactnessCorrected() |
java.util.ArrayList<Object3DVoxels> |
getConnexComponents() |
double |
getDiscreteCompactness() |
Voxel3D |
getFirstVoxel() |
Object3DVoxels |
getInterior3DFill() |
Voxel3D |
getPixelMax(ImageHandler ima)
compute the voxel with maximum value in an image
|
double |
getPixMedianValue(ImageHandler img) |
Voxel3D |
getRandomvoxel(java.util.Random ra)
Deprecated.
|
Voxel3D |
getRandomVoxel(java.util.Random ra)
Get a random voxel in the object
|
double |
getSphericityCorrected() |
float[] |
getValueArray(ImageHandler im) |
protected java.util.LinkedList<Voxel3D> |
getVoxelInsideBoundingBox(int[] boundingBox) |
java.util.LinkedList<Voxel3D> |
getVoxels()
Get the list of voxels of the object
|
boolean |
hasOneVoxelColoc(Object3D obj) |
boolean |
hasOneVoxelValueRange(ImageHandler img,
int t0,
int t1) |
boolean |
isConnex() |
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<Voxel3D> |
listVoxels(ImageHandler ima,
double threshold)
List Voxels in the image with values > threshold
|
java.util.LinkedList<Voxel3D> |
listVoxels(ImageHandler ima,
double thresholdLow,
double thresholdHigh)
List Voxels in the image with values > threshold0 and < threshold1
|
ArrayUtil |
listVoxels(ImageHandler ima,
int newCenterX,
int newCenterY,
int newCenterZ) |
void |
loadObject(java.lang.String path,
java.lang.String name) |
double |
pcColoc2(java.util.ArrayList<Object3DVoxels> objs) |
void |
removeVoxels(int threshold) |
void |
rotate(Vector3D Axis,
double angle) |
void |
saveObject(java.lang.String path) |
void |
setContours(java.util.LinkedList<Voxel3D> contours,
double areaUnit) |
void |
setShowStatus(boolean showStatus) |
void |
setVoxels(java.util.LinkedList<Voxel3D> al) |
void |
substractObject(Object3D other) |
void |
translate(double x,
double y,
double z) |
void |
translate(Vector3D trans) |
angle, b_closed, b_open, centerInside, compareTo, computeContours, computeEigen, computeMeshSurface, 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, 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, vectorBorderBorder, vectorBorderBorder, vectorCenterBorder, vectorPixelBorder, vectorPixelBorder, vectorPixelBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, vectorPixelUnitBorder, VoxelsBorderBorder
public Object3DVoxels()
public Object3DVoxels(int val)
public Object3DVoxels(ImageHandler ima, int val)
ima
- Segmented imageval
- Pixel value of the objectpublic Object3DVoxels(ImageHandler ima)
public Object3DVoxels(ImageHandler imaSeg, ImageHandler imaRaw)
public Object3DVoxels(ImagePlus plus, int val)
plus
- Segmented imageval
- Pixel value of the objectpublic Object3DVoxels(ImageStack stack, int val)
stack
- Segmented imageval
- Pixel value of the objectpublic Object3DVoxels(java.util.LinkedList<Voxel3D> al)
al
- public Object3DVoxels(Object3DVoxels other)
other
- public Object3DVoxels(Object3D other)
public Object3DVoxels copyObject(int newLabel)
public void createSphereUnit(float cx, float cy, float cz, float rad)
public void createEllipsoidPixel(int cx, int cy, int cz, float rx, float ry, float rz)
public void addVoxelsIntersection(java.util.ArrayList<Object3D> objs)
public void addVoxelsUnion(java.util.ArrayList<Object3D> objs)
public void substractObject(Object3D other)
public final void addVoxels(java.util.LinkedList<Voxel3D> vox)
vox
- public void removeVoxels(int threshold)
public boolean isConnex()
public java.util.ArrayList<Object3DVoxels> getConnexComponents()
public Object3DVoxels getInterior3DFill()
public void setShowStatus(boolean showStatus)
showStatus
- public Voxel3D getPixelMax(ImageHandler ima)
Object3D
getPixelMax
in class Object3D
ima
- to find the maximum valuepublic void computeMomentsInertia()
protected void computeMoments2(boolean normalize)
computeMoments2
in class Object3D
normalize
- normalize by volume or notpublic void computeMoments3()
Object3D
computeMoments3
in class Object3D
public void computeMoments4()
Object3D
computeMoments4
in class Object3D
protected void computeCenter()
computeCenter
in class Object3D
public void setContours(java.util.LinkedList<Voxel3D> contours, double areaUnit)
public void computeContours()
computeContours
in class Object3D
protected void computeBounding()
computeBounding
in class Object3D
public boolean hasOneVoxelValueRange(ImageHandler img, int t0, int t1)
hasOneVoxelValueRange
in class Object3D
protected java.util.LinkedList<Voxel3D> getVoxelInsideBoundingBox(int[] boundingBox)
public boolean hasOneVoxelColoc(Object3D obj)
hasOneVoxelColoc
in class Object3D
public int getColocVoxels(Object3D obj)
public double pcColoc2(java.util.ArrayList<Object3DVoxels> objs)
public void draw(ObjectCreator3D obj, int col)
public Roi createRoi(int z)
public boolean draw(ByteProcessor mask, int z, int col)
public void drawContours(ObjectCreator3D ima, int col)
ima
- col
- public void drawContoursXY(ObjectCreator3D ima, int z, int col)
public void draw(ImageStack mask, int col)
public void draw(ImageStack mask, int r, int g, int b)
public java.util.LinkedList<Voxel3D> getVoxels()
Object3D
public void setVoxels(java.util.LinkedList<Voxel3D> al)
public Voxel3D getFirstVoxel()
public Voxel3D getRandomVoxel(java.util.Random ra)
ra
- Random Object@Deprecated public Voxel3D getRandomvoxel(java.util.Random ra)
ra
- public double getDiscreteCompactness()
public double getCompactnessCorrected()
public double getSphericityCorrected()
public double getAreaPixelsCorrected()
public void saveObject(java.lang.String path)
saveObject
in class Object3D
path
- public void loadObject(java.lang.String path, java.lang.String name)
path
- name
- public void translate(double x, double y, double z)
public void rotate(Vector3D Axis, double angle)
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 computationpublic java.util.LinkedList<Voxel3D> listVoxels(ImageHandler ima, double threshold)
Object3D
listVoxels
in class Object3D
ima
- The image with valuesthreshold
- the thresholdpublic java.util.LinkedList<Voxel3D> listVoxels(ImageHandler ima, double thresholdLow, double thresholdHigh)
Object3D
listVoxels
in class Object3D
ima
- The image with valuesthresholdLow
- the min thresholdthresholdHigh
- the max thresholdpublic ArrayUtil listVoxels(ImageHandler ima, int newCenterX, int newCenterY, int newCenterZ)
public void draw(ImageHandler mask, float col)
Object3D
public void draw(ImageHandler mask, int col, int tx, int ty, int tz)
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 imagepublic float[] getValueArray(ImageHandler im)
public Object3DVoxels dilate(float dilateSize, ImageInt mask, int nbCPUs)
public double getPixMedianValue(ImageHandler img)
getPixMedianValue
in class Object3D