Skip to content

Commit

Permalink
Merge pull request #249 from simontorres/reference_lamps_name
Browse files Browse the repository at this point in the history
Reference lamps name
  • Loading branch information
Simon Torres committed Oct 26, 2018
2 parents 3059a33 + 2164e39 commit 3993175
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 24 deletions.
2 changes: 2 additions & 0 deletions docs/change_history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Change History

V1.2.0 Unreleased
^^^^^^^^^^^^^^^^^
- Changed install instruction with exact steps and commands instead of
referencing documentation.
- Improved method to detect saturated images. Added a table with the *half full
well* for all the readout modes possible and created a method to easily
retrieve the value. This is a big improvement since in earlier versions the
Expand Down
14 changes: 10 additions & 4 deletions goodman_pipeline/core/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -798,9 +798,8 @@ def extract_fractional_pixel(ccd, target_trace, target_stddev, extraction_width,
comment="Aperture in first column")

ccd.header.set('GSP_EXTR',
value="{:.2f}:{:.2f} column {:d}".format(low_limit,
high_limit,
i+1))
value="{:.2f}:{:.2f}".format(low_limit,
high_limit))

log.info("Extraction aperture in first column: {:s}".format(
ccd.header['GSP_EXTR']))
Expand Down Expand Up @@ -1947,7 +1946,14 @@ def save_extracted(ccd, destination, prefix='e', target_number=1):
new_suffix = '_target_{:d}.fits'.format(target_number)
file_name = re.sub('.fits', new_suffix, file_name)

new_file_name = prefix + file_name
if ccd.header['OBSTYPE'] == 'COMP':
extraction_region = re.sub(':','-', ccd.header['GSP_EXTR'])
file_name = re.sub('.fits', '_{:s}.fits'.format(extraction_region), file_name)
new_file_name = prefix + file_name

else:
new_file_name = prefix + file_name

log.info("Saving uncalibrated(w) extracted spectrum to file: "
"{:s}".format(new_file_name))
full_path = os.path.join(destination, new_file_name)
Expand Down
39 changes: 30 additions & 9 deletions goodman_pipeline/core/tests/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -850,15 +850,29 @@ def setUp(self):
self.fake_image = CCDData(data=np.ones((100, 100)),
meta=fits.Header(),
unit='adu')
self.fake_image.header.set('CCDSUM',
value='1 1',
comment='Fake values')

self.file_name = 'sample_file.fits'
self.target_non_zero = 4
self.current_directory = os.getcwd()
self.full_path = os.path.join(self.current_directory, self.file_name)
self.parent_file = 'parent_file.fits'

self.fake_image.header.set('CCDSUM',
value='1 1',
comment='Fake values')

self.fake_image.header.set('OBSTYPE',
value='OBJECT',
comment='Fake values')

self.fake_image.header.set('GSP_FNAM',
value=self.file_name,
comment='Fake values')

self.fake_image.header.set('GSP_PNAM',
value=self.parent_file,
comment='Fake values')

self.fake_image.write(self.full_path, overwrite=False)

def test_write_fits(self):
Expand Down Expand Up @@ -927,13 +941,20 @@ def test_save_extracted_target_non_zero(self):
self.target_non_zero),
self.file_name)))

def test_save_extracted_target_zero_comp(self):
self.fake_image.header.set('GSP_FNAM', value=self.file_name)
self.fake_image.header.set('OBSTYPE', value='COMP')
self.fake_image.header.set('GSP_EXTR', value='100.00:101.00')
same_fake_image = save_extracted(ccd=self.fake_image,
destination=self.current_directory,
prefix='e',
target_number=0)

self.assertEqual(same_fake_image, self.fake_image)
self.assertTrue(os.path.isfile(self.fake_image.header['GSP_FNAM']))

def tearDown(self):
files_to_remove = [self.full_path,
'e' + self.file_name,
'e' + re.sub('.fits',
'_target_{:d}.fits'.format(
self.target_non_zero),
self.file_name)]
files_to_remove = [self.full_path, self.fake_image.header['GSP_FNAM']]

for _file in files_to_remove:
if os.path.isfile(_file):
Expand Down
16 changes: 9 additions & 7 deletions goodman_pipeline/spectroscopy/redspec.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,18 +398,21 @@ def _run(self, data_container, extraction_type):
target_trace=single_trace,
spatial_profile=single_profile,
extraction_name=extraction_type)
saved_ccd = save_extracted(ccd=extracted,
destination=self.args.destination,
target_number=target_number)
saved_ccd = save_extracted(
ccd=extracted,
destination=self.args.destination,
target_number=target_number)
# print(spec_file)

# lamp extraction
all_lamps = []
if comp_ccd_list:
for comp_lamp in comp_ccd_list:
comp_lamp.header.set('GSP_SCTR',
value=saved_ccd.header['GSP_FNAM'],
comment='Science target file the lamp was extracted for.')
comp_lamp.header.set(
'GSP_SCTR',
value=saved_ccd.header['GSP_FNAM'],
comment='Science target file the lamp '
'was extracted for.')

comp_lamp = record_trace_information(ccd=comp_lamp,
trace_info=trace_info)
Expand Down Expand Up @@ -446,7 +449,6 @@ def _run(self, data_container, extraction_type):
elif plt.get_backend() == u'Qt5Agg':
manager.window.showMaximized()


ax.set_title(
"{:s} Extraction centered near "
"{:.2f} \n File: {:s}".format(
Expand Down
8 changes: 4 additions & 4 deletions goodman_pipeline/spectroscopy/wavelength.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ def __call__(self,
lamp=True)

wavelength_solutions.append(self.wsolution)
reference_lamp_names.append(self.calibration_lamp)
reference_lamp_names.append(self.wcal_lamp_file)
else:
self.log.error('It was not possible to get a wavelength '
'solution from lamp '
Expand All @@ -242,12 +242,12 @@ def __call__(self,
for i in range(len(wavelength_solutions)):
# TODO (simon): Combine Multiple solutions
self.wsolution = wavelength_solutions[i]
self.calibration_lamp = reference_lamp_names[i]
self.wcal_lamp_file = reference_lamp_names[i]
self._save_science_data(ccd=ccd, index=i + 1)

elif len(wavelength_solutions) == 1:
self.wsolution = wavelength_solutions[0]
self.calibration_lamp = reference_lamp_names[0]
self.wcal_lamp_file = reference_lamp_names[0]
self._save_science_data(ccd=ccd)
else:
self.log.error("No wavelength solution.")
Expand Down Expand Up @@ -1293,7 +1293,7 @@ def _save_wavelength_calibrated(self,
if index is None:
f_end = '.fits'
else:
f_end = '_{:d}.fits'.format(index)
f_end = '_ws_{:d}.fits'.format(index)

new_filename = os.path.join(self.args.destination,
self.args.output_prefix +
Expand Down

0 comments on commit 3993175

Please sign in to comment.