diff --git a/vast_post_processing/cli/vast_post_processing.py b/vast_post_processing/cli/vast_post_processing.py index 8fda590..3b4f003 100644 --- a/vast_post_processing/cli/vast_post_processing.py +++ b/vast_post_processing/cli/vast_post_processing.py @@ -80,6 +80,9 @@ def main( compress: Optional[bool] = typer.Option( None, help=("Compress all processed FITS files") ), + compress_quant: Optional[int] = typer.Option( + None, help=("Compression quantisation to use, if compressing.") + ), directory_suffix: Optional[str] = typer.Option( None, help=("Suffix to use for processed data directories. For " "example, passing 'PROCESSED' results in images being " @@ -116,6 +119,7 @@ def main( crop_size, create_moc, compress, + compress_quant, directory_suffix, cat_extension, fits_extension, diff --git a/vast_post_processing/core.py b/vast_post_processing/core.py index 58422db..82f01bf 100644 --- a/vast_post_processing/core.py +++ b/vast_post_processing/core.py @@ -147,6 +147,7 @@ def setup_configuration( crop_size: Optional[float] = None, create_moc: Optional[bool] = None, compress: Optional[bool] = None, + compress_quant: Optional[int] = None, directory_suffix: Optional[str] = None, cat_extension: Optional[str] = None, fits_extension: Optional[str] = None, @@ -161,6 +162,7 @@ def setup_configuration( u.Quantity, bool, bool, + int, str, str, str, @@ -192,6 +194,8 @@ def setup_configuration( Flag to create MOCs, by default None. compress : Optional[bool], optional Flag to compress files, by default None. + compress_quant : Optional[int], optional + Compression quantisation level to use, by default None. directory_suffix : Optional[str], optional Suffix to use for processed data directories (for example `STOKESI_IMAGES_PROCESSED`), by default None. @@ -239,6 +243,7 @@ def setup_configuration( "crop_size": crop_size, "create_moc": create_moc, "compress": compress, + "compress_quant": compress_quant, "directory_suffix": directory_suffix, "cat_extension": cat_extension, "fits_extension": fits_extension, @@ -468,6 +473,7 @@ def crop_image( corrected_fits: list[Union[fits.PrimaryHDU, fits.HDUList]], crop_size: u.Quantity, compress: bool, + compress_quant: int, overwrite: bool, verbose: bool, debug: bool, @@ -494,6 +500,8 @@ def crop_image( Angular size of crop to be applied. compress : bool Flag to compress image data. + compress_quant : int + Compression quantisation to use. overwrite : bool Flag to overwrite image data. verbose : bool @@ -544,7 +552,12 @@ def crop_image( cropped_hdu = crop.crop_hdu(image_hdu, field_centre, size=crop_size) # Compress image if requested - processed_hdu = compress_hdu(cropped_hdu) if compress else cropped_hdu + if compress: + processed_hdu = compress_hdu(cropped_hdu, + quantize_level=compress_quant + ) + else: + processed_hdu = cropped_hdu fitsutils.update_header_history(processed_hdu.header) if hdul is not None: @@ -729,6 +742,7 @@ def run( crop_size: Optional[float] = None, create_moc: Optional[bool] = None, compress: Optional[bool] = None, + compress_quant: Optional[int] = None, directory_suffix: Optional[str] = None, cat_extension: Optional[str] = None, fits_extension: Optional[str] = None, @@ -760,6 +774,8 @@ def run( Flag to create MOCs, by default None. compress : Optional[bool], optional Flag to compress files, by default None. + compress_quant : Optional[int], optional + Compression quantisation to use, by default None. directory_suffix : Optional[str], optional Suffix to use for processed data directories (for example `STOKESI_IMAGES_PROCESSED`), by default None. @@ -786,6 +802,7 @@ def run( crop_size, create_moc, compress, + compress_quant, directory_suffix, cat_extension, fits_extension, @@ -802,6 +819,7 @@ def run( crop_size=crop_size, create_moc=create_moc, compress=compress, + compress_quant=compress_quant, directory_suffix=directory_suffix, cat_extension=cat_extension, fits_extension=fits_extension, @@ -892,6 +910,7 @@ def run( verbose=verbose, debug=debug, compress=compress, + compress_quant=compress_quant, processed_dir_suffix=directory_suffix, ) if type(cropped_hdu) == fits.HDUList: diff --git a/vast_post_processing/data/default_config.yaml b/vast_post_processing/data/default_config.yaml index 4a8c2b8..18330fa 100644 --- a/vast_post_processing/data/default_config.yaml +++ b/vast_post_processing/data/default_config.yaml @@ -30,6 +30,9 @@ create_moc: True # Flag to compress data following pipeline, by default True. compress: True +# Compression quantisation level to use, by default 1024. +compress_quant: 1024 + # Suffix to use for processed data directories # By default "PROCESSED" which results in e.g. `STOKESI_IMAGES_PROCESSED directory_suffix: "PROCESSED"