Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cosmic Ray Correction Gives NaN Values on Flats #800

Open
kjkoeller opened this issue Jan 8, 2023 · 3 comments
Open

Cosmic Ray Correction Gives NaN Values on Flats #800

kjkoeller opened this issue Jan 8, 2023 · 3 comments

Comments

@kjkoeller
Copy link

Using these versions ccdproc 2.4.0, astropy 5.1.1, and numpy 1.22.3. I go through the whole process of overscan, trimming, bias, dark, and flat field correction. However, after the flats are combined to their respective filters and I run the following code:

good_flat = combined_flats[light.header['filter']]
reduced = ccdp.ccd_process(light, oscan=overscan_region, trim=trim_region, master_bias=zero,
                           master_flat=good_flat, dark_scale=True, gain=gain*u.electron/u.adu,
                           readnoise=rdnoise*u.electron, dark_frame=combined_dark, exposure_key='EXPTIME',
                           exposure_unit=u.second, gain_corrected=True, min_value=1.0)

It runs through the code no problem but the output for the science image is completely blank and the values that are given are NaN's across the whole image. However, when I don't do flat correction the science image is produced. I have also tried doing things more manually like as follows:

# Subtract the overscan, ccd[columns, rows] I think?
ccd = ccdp.subtract_overscan(ccd, fits_section=overscan_region, median=True, overscan_axis=1)

# Trim the overscan
ccd = ccdp.trim_image(ccd, fits_section=trim_region)

# cosmic ray reject above 5 sigmas and gain_apply is set to false because it changes the units of the image
new_ccd = ccdp.cosmicray_lacosmic(ccd, gain_apply=False, readnoise=rdnoise, gain=gain, sigclip=sigclip)

# Subtract bias
sub_ccd = ccdp.subtract_bias(new_ccd, zero)

# Subtract the dark current
reduced = ccdp.subtract_dark(sub_ccd, combined_dark, exposure_time='exptime', exposure_unit=u.second,
                             scale=True)

# flat field correct the science image based on filter
good_flat = combined_flats[reduced.header['filter']]
reduced = ccdp.flat_correct(ccd=reduced, flat=good_flat, min_value=1.0)

However, the same issue arises where the final science image is all NaN values and without flat correcting is a fine image without flat correction though. I have tested to make the sure the program is pulling the correct flat and only the master flats, and from the looks of things it is using the correct master flat image and only the master flat.

@kjkoeller
Copy link
Author

So it actually seems that this line is the real issue:

new_ccd = ccdp.cosmicray_lacosmic(ccd, gain_apply=False, readnoise=rdnoise, gain=gain, sigclip=sigclip)

I must be entering something weird or applying a variable wrong.

@kjkoeller kjkoeller changed the title Flat Field Correct Gives NaN Values Cosmic Ray Correction Gives NaN Values Jan 8, 2023
@kjkoeller kjkoeller changed the title Cosmic Ray Correction Gives NaN Values Cosmic Ray Correction Gives NaN Values on Flats Jan 8, 2023
@mwcraig
Copy link
Member

mwcraig commented May 25, 2023

Thanks for submitting this report @kjkoeller -- do you have a data file I could try running this on to see what the problem is?

I can give an email address to send it to if you want to keep the data private.

@kjkoeller
Copy link
Author

The data is located here:

https://github.com/kjkoeller/EclipsingBinaries/tree/main/EclipsingBinaries/examples/calibration_images

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants