#pragma once #include "types.h" #include class vtkImageData; // Pure logic (no Qt widgets, no rendering). // Takes a volume and parameters and returns detected marker centroids. class LocalizationService { public: using ProgressFn = std::function; using AbortFn = std::function; static MarkerList localize( vtkImageData* volume, const LocalizationParams& params, const ProgressFn& onProgress = {}, const AbortFn& shouldAbort = {}); };