Repository navigation
SoFT v2.1
Refactor tabulation_parallel for robustness and performance
-
Input validation
- Added global pre-check ensuring all assoc (
files) and data (filesB) FITS files have matching shapes. - Added per-frame shape check inside
process_filefor extra safety.
- Added global pre-check ensuring all assoc (
-
Robust handling of masked/invalid data
- Convert FITS
MaskedArrayinputs tonp.nan-filled float arrays. - Restrict centroid (
X,Y) and flux calculations to finite pixels only. - Skip blobs with no finite data or zero flux; issue
warnings.warnto aid debugging.
- Convert FITS
-
Centroid and eccentricity fixes
- Prevent
NaNpropagation in centroid numerators/denominators. - Ensure
eccis only computed for valid blobs.
- Prevent
-
Performance improvements
- Replaced repeated DataFrame concatenation inside loops with list-of-dicts →
DataFrame.from_records. - Guaranteed native float/int storage in per-blob records (avoids mixed dtypes).
- Replaced repeated DataFrame concatenation inside loops with list-of-dicts →
-
Trajectory consistency
- Sort grouped blobs by
framebefore applying consecutiveness checks. - Raise informative errors if frame sequence or labels are inconsistent.
- Sort grouped blobs by
-
Velocity computation
- Handle non-finite trajectories gracefully: emit warning and fill with
NaNvelocity arrays instead of failing.
- Handle non-finite trajectories gracefully: emit warning and fill with