Step-by-step reduction#

The most common way to use IOP4 is by launching the iop4 command to automatically reduce some nights. However, you might be interested in reducing some images step by step (when debugging problems, or implementing new instruments). In this notebook we will do exactly that, which is more or less what iop4.py does when launched from the command line.

%autoawait off
%matplotlib inline
%run 01_notebook_configuration.py

Fetching the data from the telescope archive.#

We might be interested in downloading all files from one night, or just a single night. In any case, you can directly do

# warning: this might clean flags and some other fields:
from iop4lib.db import Epoch

epoch = Epoch.create(epochname="OSN-T090/2022-09-18")
epoch
2024-12-18 20:37 - pid 3470 - [epoch.py:262] - DEBUG - Epoch for OSN-T090/2022-09-18 already exists in the DB, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/BLLac-0001R.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0010.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0008.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0005.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0002.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0009.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0007.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0004.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0011.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0001.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0006.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/Bias_2x2-0003.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: classifying
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 137 | OSN-T090/2022-09-18/Bias_2x2-0010.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 137 | OSN-T090/2022-09-18/Bias_2x2-0010.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 138 | OSN-T090/2022-09-18/Bias_2x2-0008.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 138 | OSN-T090/2022-09-18/Bias_2x2-0008.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 139 | OSN-T090/2022-09-18/Bias_2x2-0005.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 139 | OSN-T090/2022-09-18/Bias_2x2-0005.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 140 | OSN-T090/2022-09-18/Bias_2x2-0002.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 140 | OSN-T090/2022-09-18/Bias_2x2-0002.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 141 | OSN-T090/2022-09-18/Bias_2x2-0009.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 141 | OSN-T090/2022-09-18/Bias_2x2-0009.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 142 | OSN-T090/2022-09-18/Bias_2x2-0007.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 142 | OSN-T090/2022-09-18/Bias_2x2-0007.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 143 | OSN-T090/2022-09-18/Bias_2x2-0004.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 143 | OSN-T090/2022-09-18/Bias_2x2-0004.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 144 | OSN-T090/2022-09-18/Bias_2x2-0011.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 144 | OSN-T090/2022-09-18/Bias_2x2-0011.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 145 | OSN-T090/2022-09-18/Bias_2x2-0001.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 145 | OSN-T090/2022-09-18/Bias_2x2-0001.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 146 | OSN-T090/2022-09-18/Bias_2x2-0006.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 146 | OSN-T090/2022-09-18/Bias_2x2-0006.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 147 | OSN-T090/2022-09-18/Bias_2x2-0003.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 147 | OSN-T090/2022-09-18/Bias_2x2-0003.fit>: classifying
2024-12-18 20:37 - pid 3470 - [osn_cameras.py:135] - DEBUG - Band is not R, assuming it is photometry.
Epoch(id 11):
- telescope: OSN-T090
- night: 2022-09-18
- 12 rawfits: 11 bias, 0 flat, 1 light
- summary status: CLASSIFIED, BUILT_REDUCED, DOWNLOADED

When an epoch is created and auto_link_rawfits=True, IOP4 first attempts to list the remote telescope archive, then it reads the local archive. It tries to download missing files. If it cannot list the remote, but finds the local folder for that epoch, it will just give a warning. If it fails at both, it will return an error. This behavior can be tuned with check_remote_list, force_redownload and fallback_to_local arguments to create(). Keep in mind that this will create the corresponding RawFit instances if necessary.

If you only want to fetch or create a raw fit instance you can equivalently do it with

from iop4lib.db import RawFit
rf = RawFit.create(fileloc="OSN-T090/2022-09-18/BLLac-0001R.fit")
rf
2024-12-18 20:37 - pid 3470 - [rawfit.py:218] - INFO - Setting epoch to <Epoch 11 | OSN-T090/2022-09-18>.
2024-12-18 20:37 - pid 3470 - [rawfit.py:229] - DEBUG - DB entry for OSN-T090/2022-09-18/BLLac-0001R.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [rawfit.py:267] - DEBUG - <RawFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: procuring local file.
2024-12-18 20:37 - pid 3470 - [rawfit.py:300] - DEBUG - <RawFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: classifying
RawFit(id=136):
- telescope: OSN-T090
- night: 2022-09-18
- filename: BLLac-0001R.fit
- instrument: AndorT90
- imgtype: LIGHT
- size: 1024x1024
- obsmode: PHOTOMETRY
- band: R
- exptime: 60.0
- flags: DOWNLOADED,CLASSIFIED,BUILT_REDUCED

Since this file was already created by the previous Epoch.create command, it gives a DEBUG message that the entry for this file already exists and re-uses it.

In this examples, epochname and fileloc are simply shorthands for
specifying telescope,night and telescope,night,filename,
in a way that matches the archive directory structure. These params uniquely identify the observing epoch and the raw fits file, respectively.

Creating calibration frames#

Next step on a normal calibration process would be creating the master frames for the current night. This can be done with

epoch.build_master_biases()
epoch.build_master_darks()
epoch.build_master_flats()
2024-12-18 20:37 - pid 3470 - [epoch.py:394] - DEBUG - margs={'epoch': Epoch.objects.get(id=11), 'instrument': 'AndorT90', 'imgsize': '1024x1024'}
2024-12-18 20:37 - pid 3470 - [epoch.py:396] - INFO - Building Master Bias for OSN-T090/2022-09-18 | AndorT90 | 1024x1024.
2024-12-18 20:37 - pid 3470 - [masterbias.py:136] - DEBUG - DB entry for <MasterBias 11 | OSN-T090/2022-09-18 | AndorT90 | 1024x1024> already exists, using it instead.
2024-12-18 20:37 - pid 3470 - [masterbias.py:144] - DEBUG - Found 11 bias raw files for <MasterBias 11 | OSN-T090/2022-09-18 | AndorT90 | 1024x1024>.
2024-12-18 20:37 - pid 3470 - [epoch.py:387] - ERROR - No Master Dark will be built for this epoch since there are no files for it.
2024-12-18 20:37 - pid 3470 - [epoch.py:387] - ERROR - No Master Flat will be built for this epoch since there are no files for it.

This will use all existing biases, darks and flats in epoch to create all calibration frames (for each filter, etc) using as many images as possible.

After this, we can create the reduced images for all images in the night

epoch.reduce()
2024-12-18 20:37 - pid 3470 - [reducedfit.py:121] - DEBUG - DB entry of ReducedFit for OSN-T090/2022-09-18/BLLac-0001R.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:373] - WARNING - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: masterflat in this epoch could not be found, attemptying adjacent epochs.
2024-12-18 20:37 - pid 3470 - [epoch.py:491] - INFO - No files to build.

or just for our image of interest

from iop4lib.db import ReducedFit
redf = ReducedFit.create(rawfit=rf)
redf
2024-12-18 20:37 - pid 3470 - [reducedfit.py:121] - DEBUG - DB entry of ReducedFit for OSN-T090/2022-09-18/BLLac-0001R.fit already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:373] - WARNING - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: masterflat in this epoch could not be found, attemptying adjacent epochs.
ReducedFit(id=136):
- telescope: OSN-T090
- night: 2022-09-18
- filename: BLLac-0001R.fit
- instrument: AndorT90
- imgtype: LIGHT
- size: 1024x1024
- obsmode: PHOTOMETRY
- band: R
- exptime: 60.0
- flags: DOWNLOADED,CLASSIFIED,BUILT_REDUCED

This will automatically select the appropriate master calibration frames from its night (if they exist) or from the closest night. Otherwise, you can specify which files to use by passing it as an argument to the creation function.

By default, ReducedFit.create will not create the reduced FITS file unless you explicitly pass auto_build=True. If you didn’t, you can do it with

redf.build_file()
2024-12-18 20:37 - pid 3470 - [instrument.py:480] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: building file
2024-12-18 20:37 - pid 3470 - [instrument.py:386] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: applying masters
2024-12-18 20:37 - pid 3470 - [instrument.py:395] - WARNING - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: no masterdark found, assuming dark current = 0, is this a CCD camera and it's cold?
2024-12-18 20:37 - pid 3470 - [instrument.py:486] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: performing astrometric calibration
2024-12-18 20:37 - pid 3470 - [astrometry.py:179] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: 27 different combinations of parameters to try.
2024-12-18 20:37 - pid 3470 - [astrometry.py:182] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: attempt 1 / 27, ({'keep_n_seg': 150, 'border_margin_px': 5, 'output_logodds_threshold': 14, 'n_rms_seg': 6.0, 'bkg_filter_size': 11, 'bkg_box_size': 16, 'seg_fwhm': 1.0, 'seg_kernel_size': None, 'npixels': 32, 'allsky': False, 'position_hint': PositionHint(ra_deg=330.7291666666667, dec_deg=42.26611111111111, radius_deg=0.32999999999999996)}) ...
2024-12-18 20:37 - pid 3470 - [astrometry.py:275] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: len(pos_seg)=187
2024-12-18 20:37 - pid 3470 - [astrometry.py:278] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: Keeping only 150 brightest segments.
2024-12-18 20:37 - pid 3470 - [astrometry.py:282] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: Removing segments within 5 px from border.
2024-12-18 20:37 - pid 3470 - [astrometry.py:312] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: trying to solve astrometry with Seg Pos (n=147) (output_logodds_threshold=14).
2024-12-18 20:37 - pid 3499 - [__init__.py:212] - INFO - loaded 240 index files
2024-12-18 20:37 - pid 3499 - [__init__.py:276] - INFO - solve 1: start
2024-12-18 20:37 - pid 3499 - [__init__.py:276] - INFO - solve 1: slice=[0, 25[ (1 / 5), index="5200/index-5200-14.fits" (1 / 5)
2024-12-18 20:37 - pid 3499 - [__init__.py:276] - INFO - solve 1: logodds=380.917, matches=141, conflicts=0, distractors=2, ra=330.695, dec=42.2697, scale=0.773671, index="5200/index-5200-14.fits"
2024-12-18 20:37 - pid 3470 - [astrometry.py:327] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: Seg Pos (n=147) worked.
2024-12-18 20:37 - pid 3470 - [astrometry.py:328] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: bm.index_path=PosixPath('/mnt/astrometry_cache/5200/index-5200-14.fits')
2024-12-18 20:37 - pid 3470 - [astrometry.py:329] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: bm.center_ra_deg=330.6954314398751
2024-12-18 20:37 - pid 3470 - [astrometry.py:330] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: bm.center_dec_deg=42.26972920042598
2024-12-18 20:37 - pid 3470 - [astrometry.py:331] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: bm.scale_arcsec_per_pixel=0.7736712092056637
2024-12-18 20:37 - pid 3470 - [astrometry.py:332] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: bm.logodds=380.9167785644531
2024-12-18 20:37 - pid 3470 - [astrometry.py:192] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: WCS built with attempt 1 / 27 ({'keep_n_seg': 150, 'border_margin_px': 5, 'output_logodds_threshold': 14, 'n_rms_seg': 6.0, 'bkg_filter_size': 11, 'bkg_box_size': 16, 'seg_fwhm': 1.0, 'seg_kernel_size': None, 'npixels': 32, 'allsky': False, 'position_hint': PositionHint(ra_deg=330.7291666666667, dec_deg=42.26611111111111, radius_deg=0.32999999999999996)}).
2024-12-18 20:37 - pid 3470 - [astrometry.py:204] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: building summary images.
2024-12-18 20:37 - pid 3470 - [plotting.py:476] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: plotting astrometry summary image of background substraction results
2024-12-18 20:37 - pid 3470 - [plotting.py:488] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: plotting astrometry summary image of segmentation results
2024-12-18 20:37 - pid 3470 - [plotting.py:582] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: plotting astrometry summary image of astrometry results
2024-12-18 20:37 - pid 3470 - [plotting.py:214] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: found 5 catalog sources in field: [AstroSource.objects.get(name='2200+420'), AstroSource.objects.get(name='BL Lacertae C'), AstroSource.objects.get(name='BL Lacertae H'), AstroSource.objects.get(name='BL Lacertae test 2'), AstroSource.objects.get(name='BL Lacertae test 4')]
2024-12-18 20:37 - pid 3470 - [instrument.py:425] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: saving WCSs to FITS header.
2024-12-18 20:37 - pid 3470 - [instrument.py:497] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: astrometric calibration was successful.
2024-12-18 20:37 - pid 3470 - [instrument.py:500] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: searching for sources in field...
2024-12-18 20:37 - pid 3470 - [instrument.py:503] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: found 5 sources in field.

This will create the reduced FITS file by applying the calibration frames to the raw image, and will give it an appropriate WCS. To check the result, with the astrometry included, you can use the utility function plot_preview_astrometry:

from iop4lib.utils.plotting import plot_preview_astrometry
plot_preview_astrometry(redf)
2024-12-18 20:37 - pid 3470 - [plotting.py:214] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: found 5 catalog sources in field: [AstroSource.objects.get(name='2200+420'), AstroSource.objects.get(name='BL Lacertae C'), AstroSource.objects.get(name='BL Lacertae H'), AstroSource.objects.get(name='BL Lacertae test 2'), AstroSource.objects.get(name='BL Lacertae test 4')]
../_images/8e0d5b0c512fac375c44a7e700e527dd22f1831133ee8c67f33d6d996cb78f81.png

In the images, we can see the coordiante frames the positions of the sources in the catalog that appear in the image.

Since the image it is a photometry image, we can directly compute the relative photometry results with

redf.compute_relative_photometry()

from iop4lib.db import PhotoPolResult
PhotoPolResult.objects.filter(reducedfits__in=[redf]).first()
2024-12-18 20:37 - pid 3470 - [instrument.py:746] - DEBUG - astrosource_S={AstroSource.objects.get(name='BL Lacertae test 2'), AstroSource.objects.get(name='BL Lacertae test 4'), AstroSource.objects.get(name='2200+420'), AstroSource.objects.get(name='BL Lacertae C'), AstroSource.objects.get(name='BL Lacertae H')}
2024-12-18 20:37 - pid 3470 - [instrument.py:764] - DEBUG - ReducedFit 136 [2200+420] Gaussian FWHM: 4.3 px
2024-12-18 20:37 - pid 3470 - [instrument.py:614] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometries for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit> (target_fwhm = 4.3 px, aperpix = 11.1 px, r_in = 12.9 px, r_out = 27.7 px).
2024-12-18 20:37 - pid 3470 - [instrument.py:534] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometry for <AstroSource 2200+420>
2024-12-18 20:37 - pid 3470 - [logger.py:235] - WARNING - The fit may be unsuccessful; check fit_info['message'] for more information.
2024-12-18 20:37 - pid 3470 - [instrument.py:568] - DEBUG - ReducedFit 136: 2200+420 O: WCS centroid distance = 1.2 px
2024-12-18 20:37 - pid 3470 - [aperphotresult.py:78] - DEBUG - AperPhotResult for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>, <AstroSource 2200+420>, 11.061152937444433, O already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:534] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometry for <AstroSource BL Lacertae C>
2024-12-18 20:37 - pid 3470 - [logger.py:235] - WARNING - The fit may be unsuccessful; check fit_info['message'] for more information.
2024-12-18 20:37 - pid 3470 - [instrument.py:568] - DEBUG - ReducedFit 136: BL Lacertae C O: WCS centroid distance = 2.1 px
2024-12-18 20:37 - pid 3470 - [aperphotresult.py:78] - DEBUG - AperPhotResult for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>, <AstroSource BL Lacertae C>, 11.061152937444433, O already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:534] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometry for <AstroSource BL Lacertae H>
2024-12-18 20:37 - pid 3470 - [logger.py:235] - WARNING - The fit may be unsuccessful; check fit_info['message'] for more information.
2024-12-18 20:37 - pid 3470 - [instrument.py:568] - DEBUG - ReducedFit 136: BL Lacertae H O: WCS centroid distance = 1.9 px
2024-12-18 20:37 - pid 3470 - [aperphotresult.py:78] - DEBUG - AperPhotResult for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>, <AstroSource BL Lacertae H>, 11.061152937444433, O already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:534] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometry for <AstroSource BL Lacertae test 2>
2024-12-18 20:37 - pid 3470 - [logger.py:235] - WARNING - The fit may be unsuccessful; check fit_info['message'] for more information.
2024-12-18 20:37 - pid 3470 - [instrument.py:568] - DEBUG - ReducedFit 136: BL Lacertae test 2 O: WCS centroid distance = 1.0 px
2024-12-18 20:37 - pid 3470 - [aperphotresult.py:78] - DEBUG - AperPhotResult for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>, <AstroSource BL Lacertae test 2>, 11.061152937444433, O already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:534] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing aperture photometry for <AstroSource BL Lacertae test 4>
2024-12-18 20:37 - pid 3470 - [logger.py:235] - WARNING - The fit may be unsuccessful; check fit_info['message'] for more information.
2024-12-18 20:37 - pid 3470 - [instrument.py:568] - DEBUG - ReducedFit 136: BL Lacertae test 4 O: WCS centroid distance = 1.6 px
2024-12-18 20:37 - pid 3470 - [aperphotresult.py:78] - DEBUG - AperPhotResult for <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>, <AstroSource BL Lacertae test 4>, 11.061152937444433, O already exists, it will be used instead.
2024-12-18 20:37 - pid 3470 - [instrument.py:620] - DEBUG - <ReducedFit 136 | OSN-T090/2022-09-18/BLLac-0001R.fit>: computing relative photometry.
2024-12-18 20:37 - pid 3470 - [photopolresult.py:204] - DEBUG - Db entry for photopolresult already exists for reducedfits=[ReducedFit.objects.get(id=136)], astrosource=AstroSource.objects.get(name='2200+420') and reduction=REDUCTIONMETHODS.RELPHOT, using it instead.
2024-12-18 20:37 - pid 3470 - [photopolresult.py:204] - DEBUG - Db entry for photopolresult already exists for reducedfits=[ReducedFit.objects.get(id=136)], astrosource=AstroSource.objects.get(name='BL Lacertae C') and reduction=REDUCTIONMETHODS.RELPHOT, using it instead.
2024-12-18 20:37 - pid 3470 - [photopolresult.py:204] - DEBUG - Db entry for photopolresult already exists for reducedfits=[ReducedFit.objects.get(id=136)], astrosource=AstroSource.objects.get(name='BL Lacertae H') and reduction=REDUCTIONMETHODS.RELPHOT, using it instead.
2024-12-18 20:37 - pid 3470 - [photopolresult.py:204] - DEBUG - Db entry for photopolresult already exists for reducedfits=[ReducedFit.objects.get(id=136)], astrosource=AstroSource.objects.get(name='BL Lacertae test 2') and reduction=REDUCTIONMETHODS.RELPHOT, using it instead.
2024-12-18 20:37 - pid 3470 - [photopolresult.py:204] - DEBUG - Db entry for photopolresult already exists for reducedfits=[ReducedFit.objects.get(id=136)], astrosource=AstroSource.objects.get(name='BL Lacertae test 4') and reduction=REDUCTIONMETHODS.RELPHOT, using it instead.
WARNING: The fit may be unsuccessful; check fit_info['message'] for more information. [astropy.modeling.fitting]
WARNING: The fit may be unsuccessful; check fit_info['message'] for more information. [astropy.modeling.fitting]
WARNING: The fit may be unsuccessful; check fit_info['message'] for more information. [astropy.modeling.fitting]
WARNING: The fit may be unsuccessful; check fit_info['message'] for more information. [astropy.modeling.fitting]
WARNING: The fit may be unsuccessful; check fit_info['message'] for more information. [astropy.modeling.fitting]
<PhotoPolResult(id: 17
    reducedfits: [136]
    AndorT90 PHOTOMETRY R / 2200+420
    JD: 2459841.46187 (2022-09-18 23:05:05.190)
    mag: 13.308 ± 0.026)>

These results can already be inspected in the web interface.