Classes/Modules¶
Voronoi¶
-
class
Voronoi.
Voronoi
(xypoints, image_width, image_height)[source]¶ Root object from which to create the voronoi diagram
Parameters: - xypoints (List of (x,y) pairs) – [(x,y), …] sets of points from which to build the voronoi diagram
- image_width (int) – width of the original image from which the points are derived
- image_width – height of the original image from which the points are derived
Returns: an instance of the object Voronoi
Return type: object
Example: >>> import Voronoi_Features as VF >>> vor = VF.Voronoi([X,Y],1000,500) >>> >>> #VISUALIZE THE VORONOI IMAGE >>> fig = plt.figure(figsize=(20,15)) >>> plt.imshow(vor.get_voronoi_map())
-
features
(props_name)[source]¶ Measure the values of the specified property/measure name (e.g., ‘area’) for all voronoi regions.
Parameters: prop_name (string) – name of the property to measure (e.g, ‘area’) Returns: Feature object Return type: Object Example: >>> import Voronoi_Features as VF >>> voro = VF.Images(folder_name) >>> features = voro.features(['area','perimeter']) >>> features.get_data_frame().head()
The following properties can be accessed as attributes or keys:
- area : int
- Number of pixels of region.
- bbox : tuple
- Bounding box
(min_row, min_col, max_row, max_col)
. Pixels belonging to the bounding box are in the half-open interval[min_row; max_row)
and[min_col; max_col)
. - bbox_area : int
- Number of pixels of bounding box.
- centroid : array
- Centroid coordinate tuple
(row, col)
. - convex_area : int
- Number of pixels of convex hull image.
- convex_image : (H, J) ndarray
- Binary convex hull image which has the same size as bounding box.
- coords : (N, 2) ndarray
- Coordinate list
(row, col)
of the region. - eccentricity : float
- Eccentricity of the ellipse that has the same second-moments as the region. The eccentricity is the ratio of the focal distance (distance between focal points) over the major axis length. The value is in the interval [0, 1). When it is 0, the ellipse becomes a circle.
- equivalent_diameter : float
- The diameter of a circle with the same area as the region.
- euler_number : int
- Euler characteristic of region. Computed as number of objects (= 1) subtracted by number of holes (8-connectivity).
- extent : float
- Ratio of pixels in the region to pixels in the total bounding box.
Computed as
area / (rows * cols)
- filled_area : int
- Number of pixels of filled region.
- filled_image : (H, J) ndarray
- Binary region image with filled holes which has the same size as bounding box.
- image : (H, J) ndarray
- Sliced binary region image which has the same size as bounding box.
- inertia_tensor : (2, 2) ndarray
- Inertia tensor of the region for the rotation around its mass.
- inertia_tensor_eigvals : tuple
- The two eigen values of the inertia tensor in decreasing order.
- intensity_image : ndarray
- Image inside region bounding box.
- label : int
- The label in the labeled input image.
- local_centroid : array
- Centroid coordinate tuple
(row, col)
, relative to region bounding box. - major_axis_length : float
- The length of the major axis of the ellipse that has the same normalized second central moments as the region.
- max_intensity : float
- Value with the greatest intensity in the region.
- mean_intensity : float
- Value with the mean intensity in the region.
- min_intensity : float
- Value with the least intensity in the region.
- minor_axis_length : float
- The length of the minor axis of the ellipse that has the same normalized second central moments as the region.
- moments : (3, 3) ndarray
- Spatial moments up to 3rd order::
- m_ji = sum{ array(x, y) * x^j * y^i }
where the sum is over the x, y coordinates of the region.
- moments_central : (3, 3) ndarray
- Central moments (translation invariant) up to 3rd order::
- mu_ji = sum{ array(x, y) * (x - x_c)^j * (y - y_c)^i }
where the sum is over the x, y coordinates of the region, and x_c and y_c are the coordinates of the region’s centroid.
- moments_hu : tuple
- Hu moments (translation, scale and rotation invariant).
- moments_normalized : (3, 3) ndarray
- Normalized moments (translation and scale invariant) up to 3rd order::
- nu_ji = mu_ji / m_00^[(i+j)/2 + 1]
where m_00 is the zeroth spatial moment.
- orientation : float
- Angle between the X-axis and the major axis of the ellipse that has the same second-moments as the region. Ranging from -pi/2 to pi/2 in counter-clockwise direction.
- perimeter : float
- Perimeter of object which approximates the contour as a line through the centers of border pixels using a 4-connectivity.
- solidity : float
- Ratio of pixels in the region to pixels of the convex hull image.
- weighted_centroid : array
- Centroid coordinate tuple
(row, col)
weighted with intensity image. - weighted_local_centroid : array
- Centroid coordinate tuple
(row, col)
, relative to region bounding box, weighted with intensity image. - weighted_moments : (3, 3) ndarray
- Spatial moments of intensity image up to 3rd order::
- wm_ji = sum{ array(x, y) * x^j * y^i }
where the sum is over the x, y coordinates of the region.
- weighted_moments_central : (3, 3) ndarray
Central moments (translation invariant) of intensity image up to 3rd order:
wmu_ji = sum{ array(x, y) * (x - x_c)^j * (y - y_c)^i }
where the sum is over the x, y coordinates of the region, and x_c and y_c are the coordinates of the region’s weighted centroid.
- weighted_moments_hu : tuple
- Hu moments (translation, scale and rotation invariant) of intensity image.
- weighted_moments_normalized : (3, 3) ndarray
Normalized moments (translation and scale invariant) of intensity image up to 3rd order:
wnu_ji = wmu_ji / wm_00^[(i+j)/2 + 1]
where
wm_00
is the zeroth spatial moment (intensity-weighted area).
[1] http://scikit-image.org/docs/dev/api/skimage.measure.html#skimage.measure.regionprops
-
get_voronoi_map
()[source]¶ Returns the vornoi image in which the region pixels values are all equal to the index of the points array used to calculate the voronoi diagram. The voronoi image is used as data strcuture to determine the points index related to a voronoi region
Returns: voronoi image Return type: 2d array
Features¶
-
class
Features.
Features
(data_frame)[source]¶ contain the dataframe
-
save
(storage_name, type_storage='file', do_append=True)[source]¶ save the current dataframe into the type of storage given in input.
Parameters: - storage_name (string) – storage name, (e.g., file name if ‘ storage type is ‘file’)
- type_storage (string) – type of storage (default is ‘file’) (‘db’, ‘json’ will be future implementations)
- do_append (boolean) – if True it appends to existing storage. If False it creates a new storage
if ‘do_append=True’: This version of the method does not check whether the new data are consistent with presisitng data into the existing storage. It just tris to append the date and might fail or not depending on the type of storage :returns: 1 if sucessuful otherwise 0 :rtype: int
Example: >>> import Voronoi_Features as VF >>> vor = VF.Voronoi([X,Y],1000,500) >>> features = vor.features(['label', 'area','perimeter', 'centroid']) >>> features.save('my_file_name')
-