Commit 8178a7cd authored by Roberto Susino's avatar Roberto Susino
Browse files

Add Metis specific WCS keywords and fix bugs

parent 1d53b04e
Loading
Loading
Loading
Loading
+39 −9
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector

	; determine spacecract pointing information in the hpc reference frame using the spice kernels

	pointing = solo_get_pointing(header.date_avg)
	pointing = solo_get_pointing(header.date_avg, /degrees, /arcsec)

	; NOTE - values are defined as follows:
	; pointing[0] = yaw (arcsec)
@@ -63,11 +63,12 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector

	pc = [[cos(roll), -sin(roll)], [sin(roll), cos(roll)]]

	ctype1 = 'HPLN-TAN'
	ctype2 = 'HPLT-TAN'

	; if requested, transform the wcs matrix to the detector reference frame and adjust the boresight and spacecraft pointing parameters

	if keyword_set(ref_detector) then begin
		ctype1 = 'HPLT-TAN'
		ctype2 = 'HPLN-TAN'
		if header.filter.contains('UV', /fold) then begin
			borpix_prime = borpix
			borpix[0] = detector_size - (borpix_prime[1] - 1.)
@@ -88,10 +89,7 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector
			roll = roll + !dpi/2.
			pc = [[cos(roll), -sin(roll)], [sin(roll), cos(roll)]]
		endif
	endif else begin
		ctype1 = 'HPLN-TAN'
		ctype2 = 'HPLT-TAN'
	endelse
	endif
	
	; get sun's center pixel

@@ -179,6 +177,14 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector
		name: 'SUN_YCEN', $
		value: sunpix[1], $
		comment: '[pixel] Sun center location along axis 2'}
	wcs.add, { $
		name: 'SUNPIX1', $
		value: sunpix[0], $
		comment: '[pixel] Sun center location along axis 1'}
	wcs.add, { $
		name: 'SUNPIX2', $
		value: sunpix[1], $
		comment: '[pixel] Sun center location along axis 2'}
	wcs.add, { $
		name: 'IO_XCEN', $
		value: borpix[0], $
@@ -187,6 +193,14 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector
		name: 'IO_YCEN', $
		value: borpix[1], $
		comment: '[pixel] Metis IO center location along axis 2'}
	wcs.add, { $
		name: 'IOPIX1', $
		value: borpix[0], $
		comment: '[pixel] Metis IO center location along axis 1'}
	wcs.add, { $
		name: 'IOPIX2', $
		value: borpix[1], $
		comment: '[pixel] Metis IO center location along axis 2'}
	wcs.add, { $
		name: 'FS_XCEN', $
		value: crpix[0], $
@@ -195,6 +209,14 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector
		name: 'FS_YCEN', $
		value: crpix[1], $
		comment: '[pixel] Metis field-stop center location along axis 2'}
	wcs.add, { $
		name: 'FSPIX1', $
		value: crpix[0], $
		comment: '[pixel] Metis field-stop center location along axis 1'}
	wcs.add, { $
		name: 'FSPIX2', $
		value: crpix[1], $
		comment: '[pixel] Metis field-stop center location along axis 2'}
	wcs.add, { $
		name: 'SC_XCEN', $
		value: pntpix[0], $
@@ -203,6 +225,14 @@ function metis_wcs, header, cal_pack, ref_detector = ref_detector
		name: 'SC_YCEN', $
		value: pntpix[1], $
		comment: '[pixel] S/C pointing location along axis 2'}
	wcs.add, { $
		name: 'SCPIX1', $
		value: pntpix[0], $
		comment: '[pixel] S/C pointing location along axis 1'}
	wcs.add, { $
		name: 'SCPIX2', $
		value: pntpix[1], $
		comment: '[pixel] S/C pointing location along axis 2'}
	wcs.add, { $
		name: 'SC_YAW', $
		value: pointing[0], $