Question about how darks are handled by LSST

Hi Everyone,

I’m a student working on the Huntsman Telephoto array project (same concept as the dragonfly telescope) and we’ve been looking at using the LSST stack for our data reduction pipeline/developing our own obs_huntsman package. Ideally we will use as much as the stack functionality as is, as far as it is possible.

I have a quick question regarding how darks are handled.

Huntsman currently collects darks for flat-field and science exposures. We take an exposure time matched dark frame for each flat-field (we use twilight flats, so the darks are taken in a single batch after the end of the twilight flat window) and an exposure time matched dark for science frames. Science frames are uniformly 5 minute exposures at the moment.

The reason we do this is, is to get the bias and dark in the same exposure. This saves us an extra processing step and also avoids introduction of noise/errors from taking a separate bias to subtract from the dark exposures and then scaling the dark current etc. However, this appears to be how the LSST operates by default (bias subtract and then scale the dark current as required). My question is it is possible to use the LSST stack with our calibration strategy? One hacky work around would be to just treat our dark+bias frames as just the bias, as all we want is to subtract the dark+bias frame from the desired science/flat frame but I’m hoping there is a cleaner solution?

Thanks in advance for any help/advice,
Fergus

Hi! I saw this question didn’t get a reply here, but I hope you got some help perhaps on #dm-science-pipelines. I was looking into isrTask.py recently (https://github.com/lsst/ip_isr/blob/master/python/lsst/ip/isr/isrTask.py) , and it uses the calibs ingested with ingestCalibs.py (https://github.com/lsst/pipe_tasks/blob/master/python/lsst/pipe/tasks/ingestCalibs.py). You can set which calibs are used in the image signature removal part with isr_config.py file (fed to isr with --configfile) which just says which parts of isrTaskConfig should be switched on/off (https://github.com/lsst/ip_isr/blob/9bcb941892af4677dfbb1e4d5eb8c70cdce97b90/python/lsst/ip/isr/isrTask.py#L284) , eg. isr.doDark = False. So given what you describe it should all be possible within the ISR config.

1 Like

@suberlak thanks for finding and responding to this unanswered post from @FergusL!

I’m sorry this went unaddressed for so long, @FergusL – this is the correct place for such posts, and we have renewed efforts to make sure no query goes unanswered. It would be great to hear if you managed to implement a workaround for your bias+dark frames, and/or if you have any more questions.