Redundant logging to /var/log/3drcap for all modules
Logging for rootCrownSegmentation (handled by batch_segmentation module)
Separate module for centralizing logging configuration
Functionality for automatically compressing VRML files to CTM using meshlabserver with xvfb wrapper
The version of rootCrownSegmentation included in generated OBJ files
Changed
Converted rootCrownImageAnalysis3D.py from Python version 2 to 3.8
Replaced multiprocessing Pool with ThreadedPool to allow for simultaneously existing progress bars (batch_segmentation)
Logs are named to the nearest second (datetime) and include the module in the filename
Updated log handling to match Skeleton v2.1.1
Removed .CSV output file for slices flagged for incorrect segmentation (see note 1)
Reduce default probability that a point is included in downsampled OBJ for the qc_point_cloud module
Refactored rootCrownSegmentation.cpp to use more descriptive variable names and explicit comments
Implemented additional checks during segmentations to prevent slices of air from being segmented as root system
Traits calculated using kernel density estimation, i.e., biomass_vhist and convexhull_vhist) call compiled MATLAB code (use --kde CLI flag)
Refactored reading point data from thresholded images in rootCrownImageAnalysis3D to reduce the number of times copies of data while minimizing the amount of allocated memory per volume (np.append() changed to assign data to sub-range of numpy.array)
Fixed
Typos in comments and documentation
qc_point_cloud now will correctly process a data folder with exactly one volume (previously it would state that no volumes were present)
Removed a dummy point for the collection of all points and all points in the convex hull of the volume
Removed dummy values from initialized images for density_T calculations
Replaced initialization of projection images with np.zeros(). Values left behind in main memory caused ghost images or garbage values to be retained between volumes in batch processing
Notes
This was removed because it provides less information than the individual TXT
files that list the exact problematic slices.
Added
/var/log/3drcap
for all modulesrootCrownSegmentation
(handled bybatch_segmentation
module)meshlabserver
with xvfb wrapperrootCrownSegmentation
included in generated OBJ filesChanged
rootCrownImageAnalysis3D.py
from Python version 2 to 3.8batch_segmentation
)Skeleton
v2.1.1.CSV
output file for slices flagged for incorrect segmentation (see note 1)qc_point_cloud
modulerootCrownSegmentation.cpp
to use more descriptive variable names and explicit comments--kde
CLI flag)rootCrownImageAnalysis3D
to reduce the number of times copies of data while minimizing the amount of allocated memory per volume (np.append()
changed to assign data to sub-range ofnumpy.array
)Fixed
qc_point_cloud
now will correctly process a data folder with exactly one volume (previously it would state that no volumes were present)np.zeros()
. Values left behind in main memory caused ghost images or garbage values to be retained between volumes in batch processingNotes