Tracking optimization and preset — napari_easytrack.analysis.tracking
Unified tracking module for both optimization and preset widgets.
Provides: - Proper config loading (base config + parameter modification) - Tracking execution matching optimization approach - Full napari output (tracks layer support) - Process-based execution for cancellability
- napari_easytrack.analysis.tracking.run_tracking_core(segmentation, params, base_config_path=None)
Core tracking function using the optimization approach.
This loads base config and modifies it, matching what happens during optimization.
- Parameters:
segmentation (ndarray) – 3D or 4D array (T,Y,X) or (T,Z,Y,X)
params (Dict[str, Any]) – Parameter dictionary
base_config_path (str | None) – Path to config file. If None, uses package default.
- Returns:
Tuple of (tracked_seg, tracks, track_info, napari_data, napari_properties, napari_graph)
- Return type:
Tuple[ndarray, list, Dict, ndarray, Dict, Any]
- napari_easytrack.analysis.tracking.run_tracking_process(input_file, output_file, params, progress_queue, status_flag, base_config_path=None)
Run tracking in separate process with file-based I/O.
- Parameters:
input_file (str) – Path to input segmentation .npy file
output_file (str) – Path to output tracked segmentation .npy file
params (Dict[str, Any]) – Parameter dictionary
progress_queue (Queue) – Queue for progress messages
status_flag (Value) – Shared Value for status (0=running, 1=success, - 1=failure)
base_config_path (str | None) – Path to config file. If None, uses package default.
- Returns:
None
- napari_easytrack.analysis.tracking.run_tracking_with_params(segmentation, params, voxel_scale=(1.0, 1.0, 1.0), base_config_path=None, return_napari=False)
Simple synchronous tracking for optimization widget.
- Parameters:
segmentation (ndarray) – 3D or 4D array
params (Dict[str, Any]) – Parameter dictionary
voxel_scale (Tuple[float, float, float]) – Voxel scaling (currently unused but kept for compatibility)
base_config_path (str | None) – Path to config file. If None, uses package default.
return_napari (bool) – If True, returns napari tracks data as well
- Returns:
(tracked_seg, tracks, track_info) If return_napari=True: (tracked_seg, tracks, track_info, napari_data, napari_properties, napari_graph)
- Return type:
If return_napari=False
- napari_easytrack.analysis.tracking.validate_params(params)
Validate parameters dictionary.
- Parameters:
params (Dict)
- Return type:
Tuple[bool, str]