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.