Skip to content

Releases: SystemsGenetics/granny

v1.1.0

20 Nov 00:21
411a648

Choose a tag to compare

Added

  • Parallelization System: User-configurable CPU cores via --cpu parameter
    • Default auto mode (0) uses 80% of available cores
    • Users can specify exact number of cores to use
    • Automatically caps at maximum available cores
    • Centralized multiprocessing in Analysis base class
  • Configurable Parameters: Exposed 32+ adjustable parameters across all analyses via CLI
    • Segmentation: 8 parameters including conf, iou, row_tolerance, and visualization options
    • StarchArea: 3 parameters including starch_threshold, blur_kernel, mask_alpha
    • BlushColor: 8 parameters including fruit_threshold, colors, and text positioning
    • SuperficialScald: 6 parameters including morph_kernel, thresholds, and blur settings
    • PeelColor: 7 parameters including purple_threshold and lightness/green/yellow ranges
  • Confidence Threshold: Added --conf parameter to segmentation analysis for detection sensitivity control
  • Developer's Guide: Comprehensive developer documentation (2,694+ lines)
    • Step-by-step guide for adding new analysis modules
    • Step-by-step guide for adding new interfaces
    • Complete API reference for all core classes
    • Full working example of bruise detection analysis
  • User Documentation:
    • Comprehensive adjustable parameters reference in docs/users_guide/adjustable_parameters.rst
    • Complete CLI parameter documentation for all 5 analyses
  • Test Coverage: Extensive test suite additions
    • Tests for BlushColor analysis (0% → 72% coverage)
    • Tests for PeelColor analysis (0% → 43% coverage)
    • Tests for SuperficialScald analysis (0% → 48% coverage)
    • Tests for YoloModel and Scheduler
    • Comprehensive tests for Value types and Image classes
    • Total tests increased from 48 to 54
    • Overall coverage increased from 43% to 59% (+16%)

Changed

  • Refactored all child analyses to use new _preRun() and _postRun() pattern
  • Renamed _rateImageInstance() to _processImage() for clarity across analyses
  • Improved FileDirValue structure: moved directory creation to setValue() method
  • Eliminated ~90 lines of duplicated parallelization code across analyses
  • Cleaned up validation architecture across Value types

Fixed

  • Critical: Fixed FileDirValue validation bug that caused crashes during segmentation initialization
    • Directory is now created before validation instead of after
  • Critical: Fixed FileNameValue circular validation logic preventing model name resolution
    • Value is set before validation to allow model names that aren't file paths yet
  • Fixed zero-padding for fruit and tray numbering in segmentation output
    • Format changed from _fruit_1, _fruit_10 to _fruit_01, _fruit_10
    • Ensures proper lexicographic sorting in CSV and file listings
  • Fixed zero-padding for starch demo image numbering
  • Fixed various test failures on dev branch

Version 0.5 alpha 0 (v0.5a0)

22 Jul 02:24

Choose a tag to compare

This is the first releas of Granny. it representes the combined efforts of multiple groups. It provides four rating modules: pear color, blush, starch and superficial scald.

Version 1.0 alpha 1 (v1.0a1)

22 Jul 02:26

Choose a tag to compare

This release represents a major rewrite of Granny following a moduler framework. It unifies all of the rating modules into one programming language (Python). This version is still alpha and may be buggy. it has the same four rating modules as the previous release.