jacscanomaly.FinderConfig

class jacscanomaly.FinderConfig(fitter_kind='pspl', ra_deg=None, dec_deg=None, tref=None, auto_init_teff_min=1.0, auto_init_teff_max=1000.0, auto_init_teff_grid_n=25, auto_init_dt0_coeff=0.25, auto_init_max_clusters=1, auto_init_min_n_eff=2.0, auto_init_u0_min=0.01, auto_init_u0_max=1.0, auto_init_tE_min=1.0, auto_init_tE_max=1000.0, auto_init_tE_grid_n=4, auto_init_logrho=-7.0, pspl_fit_u0_min=0.01, pspl_fit_min_t0_support_points=3, pspl_fit_t0_support_tE_coeff=3.0, gap=100.0, teff_init=0.03, common_ratio=1.3333333333333333, teff_grid_n=24, dt0_coeff=0.17, sigma=3.0, teff_coeff=3.0, min_pts_in_window=4, overlap_sigma=3.0, min_cluster_points=3, best_score_trim_percentile=95.0, candidate_criteria=None, grid_backend='cpp', single_fit_backend='cpp', grid_chunked=False, grid_chunk_auto=False, grid_chunk_size=4096, grid_chunk_threshold=100000)[source]

Configuration object for jacscanomaly.finder.Finder.

This dataclass collects all hyperparameters controlling the anomaly-search pipeline, excluding any numerical or model-dependent quantities. It is intentionally:

  • Dependency-free (no NumPy/JAX imports)

  • Frozen (immutable) for reproducibility

  • Explicitly structured according to pipeline stages

The parameters are grouped according to the internal workflow of jacscanomaly.finder.Finder:

  1. Season splitting

  2. Grid construction in (t0, teff)

  3. Grid scan and local evaluation

  4. Cluster extraction and selection

Notes

Parameters related to the single-lens fitting model (e.g. PSPL vs FSPL, parallax options, sky coordinates) are also placed here, so that a single configuration object fully defines the behavior of Finder.

Parameters:
  • fitter_kind (Literal['pspl', 'fspl', 'pspl_parallax', 'fspl_parallax'])

  • ra_deg (float | None)

  • dec_deg (float | None)

  • tref (float | None)

  • auto_init_teff_min (float)

  • auto_init_teff_max (float)

  • auto_init_teff_grid_n (int)

  • auto_init_dt0_coeff (float)

  • auto_init_max_clusters (int)

  • auto_init_min_n_eff (float)

  • auto_init_u0_min (float)

  • auto_init_u0_max (float)

  • auto_init_tE_min (float)

  • auto_init_tE_max (float)

  • auto_init_tE_grid_n (int)

  • auto_init_logrho (float)

  • pspl_fit_u0_min (float)

  • pspl_fit_min_t0_support_points (int)

  • pspl_fit_t0_support_tE_coeff (float)

  • gap (float)

  • teff_init (float)

  • common_ratio (float)

  • teff_grid_n (int)

  • dt0_coeff (float)

  • sigma (float)

  • teff_coeff (float)

  • min_pts_in_window (int)

  • overlap_sigma (float)

  • min_cluster_points (int)

  • best_score_trim_percentile (float)

  • candidate_criteria (CandidateCriteria | None)

  • grid_backend (Literal['jax', 'cpp'])

  • single_fit_backend (Literal['jax', 'cpp'])

  • grid_chunked (bool)

  • grid_chunk_auto (bool)

  • grid_chunk_size (int)

  • grid_chunk_threshold (int)

__init__(fitter_kind='pspl', ra_deg=None, dec_deg=None, tref=None, auto_init_teff_min=1.0, auto_init_teff_max=1000.0, auto_init_teff_grid_n=25, auto_init_dt0_coeff=0.25, auto_init_max_clusters=1, auto_init_min_n_eff=2.0, auto_init_u0_min=0.01, auto_init_u0_max=1.0, auto_init_tE_min=1.0, auto_init_tE_max=1000.0, auto_init_tE_grid_n=4, auto_init_logrho=-7.0, pspl_fit_u0_min=0.01, pspl_fit_min_t0_support_points=3, pspl_fit_t0_support_tE_coeff=3.0, gap=100.0, teff_init=0.03, common_ratio=1.3333333333333333, teff_grid_n=24, dt0_coeff=0.17, sigma=3.0, teff_coeff=3.0, min_pts_in_window=4, overlap_sigma=3.0, min_cluster_points=3, best_score_trim_percentile=95.0, candidate_criteria=None, grid_backend='cpp', single_fit_backend='cpp', grid_chunked=False, grid_chunk_auto=False, grid_chunk_size=4096, grid_chunk_threshold=100000)
Parameters:
  • fitter_kind (Literal['pspl', 'fspl', 'pspl_parallax', 'fspl_parallax'])

  • ra_deg (float | None)

  • dec_deg (float | None)

  • tref (float | None)

  • auto_init_teff_min (float)

  • auto_init_teff_max (float)

  • auto_init_teff_grid_n (int)

  • auto_init_dt0_coeff (float)

  • auto_init_max_clusters (int)

  • auto_init_min_n_eff (float)

  • auto_init_u0_min (float)

  • auto_init_u0_max (float)

  • auto_init_tE_min (float)

  • auto_init_tE_max (float)

  • auto_init_tE_grid_n (int)

  • auto_init_logrho (float)

  • pspl_fit_u0_min (float)

  • pspl_fit_min_t0_support_points (int)

  • pspl_fit_t0_support_tE_coeff (float)

  • gap (float)

  • teff_init (float)

  • common_ratio (float)

  • teff_grid_n (int)

  • dt0_coeff (float)

  • sigma (float)

  • teff_coeff (float)

  • min_pts_in_window (int)

  • overlap_sigma (float)

  • min_cluster_points (int)

  • best_score_trim_percentile (float)

  • candidate_criteria (CandidateCriteria | None)

  • grid_backend (Literal['jax', 'cpp'])

  • single_fit_backend (Literal['jax', 'cpp'])

  • grid_chunked (bool)

  • grid_chunk_auto (bool)

  • grid_chunk_size (int)

  • grid_chunk_threshold (int)

Return type:

None

Methods

__init__([fitter_kind, ra_deg, dec_deg, ...])

Attributes

auto_init_dt0_coeff

t0 grid spacing coefficient used for automatic initialization.

auto_init_logrho

Initial logrho used for FSPL models when x0 is omitted.

auto_init_max_clusters

Maximum number of scan clusters used as t0/teff seeds.

auto_init_min_n_eff

Minimum effective number of contributing points required for automatic single-lens initial grid clusters.

auto_init_tE_grid_n

Number of tE seeds used in the log grid.

auto_init_tE_max

Largest tE seed used in the log grid.

auto_init_tE_min

Smallest tE seed used in the log grid.

auto_init_teff_grid_n

Number of teff grid points used for automatic initialization.

auto_init_teff_max

Largest teff used when estimating single-lens initial values.

auto_init_teff_min

Smallest teff used when estimating single-lens initial values.

auto_init_u0_max

Largest allowed u0 seed after converting from teff/tE.

auto_init_u0_min

Smallest allowed u0 seed after converting from teff/tE.

best_score_trim_percentile

Upper percentile used when estimating the background spread of dchi2 values for the best-candidate score.

candidate_criteria

Optional criteria to reject anomaly candidates before best-candidate selection.

common_ratio

Common ratio of the geometric progression used to generate teff values.

dec_deg

Declination of the source (degrees).

dt0_coeff

Grid spacing coefficient for the event time t0.

fitter_kind

Choice of single-lens model used for the initial fit.

gap

Time gap threshold for season splitting.

grid_backend

Grid evaluation backend.

grid_chunk_auto

Automatically switch to chunked execution for large grids.

grid_chunk_size

Number of grid points evaluated in each chunk when chunked execution is enabled.

grid_chunk_threshold

Minimum number of grid points required to activate automatic chunking when grid_chunk_auto is enabled.

grid_chunked

Force chunked execution of the grid scan.

min_cluster_points

Stop extracting clusters once the number of remaining grid points falls below this value.

min_pts_in_window

Minimum number of data points required inside the local window to evaluate a grid point.

overlap_sigma

Overlap threshold used to group nearby grid points into clusters.

pspl_fit_min_t0_support_points

Minimum number of data points required near the fitted t0.

pspl_fit_t0_support_tE_coeff

Require t0 support points within +/- coeff * tE for C++ PSPL fits.

pspl_fit_u0_min

Smallest allowed absolute u0 for the C++ PSPL fitter.

ra_deg

Right ascension of the source (degrees).

sigma

Threshold parameter used in per-point chi-square improvement tests.

single_fit_backend

Single-lens fit backend.

teff_coeff

Half-width of the local evaluation window in units of teff.

teff_grid_n

Number of teff values in the grid.

teff_init

Smallest effective timescale used in the grid.

tref

Reference time for annual parallax.