Skip to content

Preview generator

cutana.preview_generator

Preview cutout generation for Cutana UI.

This module provides efficient preview generation functionality with intelligent caching and memory management for handling large source catalogues.

PreviewCache

Class to hold preview cache state.

load_sources_for_previews(catalogue_path, config=None, progress_callback=None) async

Load and cache 200 randomly selected sources for fast preview generation.

Uses a memory-efficient approach: 1. Get unique FITS file sets from catalogue (much fewer than sources) 2. Select top 1 FITS file set by source count 3. Extract sources using those FITS sets and apply size quartile filtering 4. Randomly select 200 sources from upper quartiles

Parameters:

Name Type Description Default
catalogue_path str

Path to source catalogue

required
config DotMap

Configuration DotMap with processing parameters

None

Returns:

Type Description
Dict

Dictionary with cache statistics and info

generate_previews(num_samples=10, size=256, config=None, progress_callback=None) async

Generate preview cutouts using cached sources and FITS data for fast response.

Parameters:

Name Type Description Default
num_samples int

Number of preview cutouts to generate

10
size int

Size of cutouts in pixels

256
config DotMap

Configuration DotMap with processing parameters

None

Returns:

Type Description
List[Tuple[float, float, ndarray]]

List of (ra, dec, cutout_array) tuples

clear_preview_cache()

Clear the preview cache.

regenerate_preview_seed()

Generate a new preview seed for fresh sample selection.