Files
PlanarianScanner/test_tube_scanner/scanner/constants.py
T
2026-05-14 15:59:55 +02:00

55 lines
1.5 KiB
Python

'''
Created on 28 avr. 2026
@author: denis
'''
from dataclasses import dataclass, asdict
from .models import Configuration
@dataclass
class DefaultConfig:
"""Constantes par défaut - utilisées en cas de problème BD"""
sidebar_width: str = "25%"
default_grid_columns: int = 3
opencv_fourcc_format: str = 'mp4v'
opencv_video_type: str = 'mp4'
grbl_xmax: float = 350.0
grbl_ymax: float = 250.0
capture_type: str = 'rpi'
webcam_device_index: int = 2
image_quality: int = 90
video_jpeg_quality: int = 90
video_frame_rate: int = 5.0
video_width_capture: int = 2028
video_height_capture: int = 1520
scan_simulation: bool = False
calibration_crop_radius: int = 500
calibration_default_multiwell: str = 'HD'
calibration_default_feed: int = 1000
calibration_default_step: float = 1.0
calibration_default_duration: float = 3.0
tracking: bool = False
tracking_setting: bool = False
tube_axis: str = 'vertical'
min_area_px: int = 20
max_area_ratio: float = 0.10
max_planarians: int = 1
merge_kernel_size: int = 15
min_contour_dist_px: int = 40
class ScannerConstants:
def __init__(self):
self.conf = DefaultConfig()
d = asdict(self.conf)
v = d.keys()
lst = Configuration.objects.filter(active=True).values(*v)
if lst:
values = lst[0]
self.conf = DefaultConfig(**values)
def get(self):
return self.conf