An introduction to HRS data reduction

Bo Zhang mailto:bozhang@nao.cas.cn

In this notebook, we describe how to use hrs package to reduce HRS data.

To install hrs package, type pip install hrs in your terminal.


In [1]:
import os
import numpy as np
import matplotlib.pyplot as plt

import ccdproc
import hrs

# from astropy.table import Table, Column, Row
os.chdir('/town/HRS/20161110test')
# %matplotlib

In [2]:
ls


2016111000100.fits  20161110002.fits   201611100054.fits  201611100079.fits
2016111000101.fits  201611100030.fits  201611100055.fits  20161110007.fits
2016111000103.fits  201611100031.fits  201611100056.fits  201611100081.fits
2016111000104.fits  201611100032.fits  201611100057.fits  201611100082.fits
2016111000105.fits  201611100034.fits  201611100058.fits  201611100083.fits
2016111000106.fits  201611100035.fits  201611100059.fits  201611100084.fits
2016111000107.fits  201611100036.fits  20161110005.fits   201611100085.fits
201611100010.fits   201611100037.fits  201611100060.fits  201611100086.fits
201611100012.fits   201611100038.fits  201611100061.fits  201611100087.fits
201611100013.fits   201611100039.fits  201611100062.fits  201611100088.fits
201611100014.fits   20161110003.fits   201611100063.fits  201611100089.fits
201611100015.fits   201611100040.fits  201611100064.fits  20161110008.fits
201611100016.fits   201611100041.fits  201611100065.fits  201611100090.fits
201611100017.fits   201611100042.fits  201611100066.fits  201611100092.fits
201611100018.fits   201611100043.fits  201611100067.fits  201611100093.fits
201611100019.fits   201611100044.fits  201611100068.fits  201611100094.fits
20161110001.fits    201611100045.fits  20161110006.fits   201611100095.fits
201611100020.fits   201611100046.fits  201611100070.fits  201611100096.fits
201611100021.fits   201611100047.fits  201611100071.fits  201611100097.fits
201611100023.fits   201611100048.fits  201611100072.fits  201611100098.fits
201611100024.fits   201611100049.fits  201611100073.fits  201611100099.fits
201611100025.fits   20161110004.fits   201611100074.fits  20161110009.fits
201611100026.fits   201611100050.fits  201611100075.fits  20161110.fits
201611100027.fits   201611100051.fits  201611100076.fits  20161110.txt
201611100028.fits   201611100052.fits  201611100077.fits  xyz.dat
201611100029.fits   201611100053.fits  201611100078.fits

1. Read log table


In [3]:
logt = hrs.LogTable.read_log('./20161110.txt')

In [6]:
logt.pprint(1000, 1000)


    file      obj    exp_start exp_time      RA         Dec     epoch note      filename     
----------- -------- --------- -------- ----------- ----------- ----- ---- ------------------
20161110001     flat  19:39:54      9.0                                      20161110001.fits
20161110002     flat  19:39:54      9.0                                      20161110002.fits
20161110003     flat  19:39:54      9.0                                      20161110003.fits
20161110004     flat  19:39:54      9.0                                      20161110004.fits
20161110005     flat  19:39:54      9.0                                      20161110005.fits
20161110006     flat  19:39:54      9.0                                      20161110006.fits
20161110007     flat  19:39:54      9.0                                      20161110007.fits
20161110008     flat  19:39:54      9.0                                      20161110008.fits
20161110009     flat  19:39:54      9.0                                      20161110009.fits
20161110010     flat  19:39:54      9.0                                     201611100010.fits
20161110012     flat  19:40:06     36.0                                     201611100012.fits
20161110013     flat  19:40:06     36.0                                     201611100013.fits
20161110014     flat  19:40:06     36.0                                     201611100014.fits
20161110015     flat  19:40:06     36.0                                     201611100015.fits
20161110016     flat  19:40:06     36.0                                     201611100016.fits
20161110017     flat  19:40:06     36.0                                     201611100017.fits
20161110018     flat  19:40:06     36.0                                     201611100018.fits
20161110019     flat  19:40:06     36.0                                     201611100019.fits
20161110020     flat  19:40:06     36.0                                     201611100020.fits
20161110021     flat  19:40:06     36.0                                     201611100021.fits
20161110023     flat  19:40:39    144.0                                     201611100023.fits
20161110024     flat  19:40:39    144.0                                     201611100024.fits
20161110025     flat  19:40:39    144.0                                     201611100025.fits
20161110026     flat  19:40:39    144.0                                     201611100026.fits
20161110027     flat  19:40:39    144.0                                     201611100027.fits
20161110028     flat  19:40:39    144.0                                     201611100028.fits
20161110029     flat  19:40:39    144.0                                     201611100029.fits
20161110030     flat  19:40:39    144.0                                     201611100030.fits
20161110031     flat  19:40:39    144.0                                     201611100031.fits
20161110032     flat  19:40:39    144.0                                     201611100032.fits
20161110034     bias  19:40:52      0.0                                     201611100034.fits
20161110035     bias  19:40:52      0.0                                     201611100035.fits
20161110036     bias  19:40:52      0.0                                     201611100036.fits
20161110037     bias  19:40:52      0.0                                     201611100037.fits
20161110038     bias  19:40:52      0.0                                     201611100038.fits
20161110039     thar  20:43:07     30.0                                     201611100039.fits
20161110040     thar  20:43:11     60.0                                     201611100040.fits
20161110041   HD6920  20:45:02   1200.0 01:10:18.00 +42:04:53.0  2000       201611100041.fits
20161110042   HD6920  21:08:32    900.0 01:10:18.00 +42:04:53.0  2000       201611100042.fits
20161110043   HD6920  21:27:07    900.0 01:10:18.00 +42:04:53.0  2000       201611100043.fits
20161110044  HD22675  21:46:50    600.0 03:38:29.00 -07:23:30.0  2000       201611100044.fits
20161110045  HD22675  22:00:58   1200.0 03:38:29.00 -07:23:30.0  2000       201611100045.fits
20161110046  HD22675  22:24:31    900.0 03:38:29.00 -07:23:30.0  2000       201611100046.fits
20161110047   HR1113  22:45:21    900.0 03:41:07.00 +37:34:48.0  2000       201611100047.fits
20161110048   HR1113  23:03:44    900.0 03:41:07.00 +37:34:48.0  2000       201611100048.fits
20161110049    13TAU  23:22:25    900.0 03:42:18.00 +19:42:01.0  2000       201611100049.fits
20161110050    13TAU  23:40:52    900.0 03:42:18.00 +19:42:01.0  2000       201611100050.fits
20161110051   HR1160  23:59:25   1800.0 03:48:18.00 +50:44:12.0  2000       201611100051.fits
20161110052   HR1160  24:33:58   1800.0 03:48:18.00 +50:44:12.0  2000       201611100052.fits
20161110053   HR1500  25:07:35   1800.0 04:44:13.00 +40:47:11.0  2000       201611100053.fits
20161110054   HR1500  25:40:58   1800.0 04:44:13.00 +40:47:11.0  2000       201611100054.fits
20161110055     7928  26:16:22   1800.0 05:17:15.00 +28:54:18.0  2000       201611100055.fits
20161110056     7928  26:50:19   1800.0 05:17:15.00 +28:54:18.0  2000       201611100056.fits
20161110057   HR2370  27:24:54   1800.0 06:31:09.00 +11:15:05.0  2000       201611100057.fits
20161110058   HR2370  27:58:17   1800.0 06:31:09.00 +11:15:05.0  2000       201611100058.fits
20161110059  HD58367  28:32:42    600.0 07:25:38.00 +09:16:33.0  2000       201611100059.fits
20161110060  HD58367  28:46:10    300.0 07:25:38.00 +09:16:33.0  2000       201611100060.fits
20161110061  HD58367  28:54:39    300.0 07:25:38.00 +09:16:33.0  2000       201611100061.fits
20161110062   GAMUMA  29:06:27     60.0 11:53:49.00 +53:41:40.0  2000       201611100062.fits
20161110063   GAMUMA  29:10:52     60.0 11:53:49.00 +53:41:40.0  2000       201611100063.fits
20161110064 HD102870  29:16:07    120.0 11:50:41.00 +01:45:52.0  2000       201611100064.fits
20161110065 HD102870  29:22:00    240.0 11:50:41.00 +01:45:52.0  2000       201611100065.fits
20161110066     thar  29:33:07     30.0                                     201611100066.fits
20161110067     thar  29:33:10     60.0                                     201611100067.fits
20161110068     thar  29:33:15    120.0                                     201611100068.fits
20161110070     flat  29:37:20      8.0                                     201611100070.fits
20161110071     flat  29:37:20      8.0                                     201611100071.fits
20161110072     flat  29:37:20      8.0                                     201611100072.fits
20161110073     flat  29:37:20      8.0                                     201611100073.fits
20161110074     flat  29:37:20      8.0                                     201611100074.fits
20161110075     flat  29:37:20      8.0                                     201611100075.fits
20161110076     flat  29:37:20      8.0                                     201611100076.fits
20161110077     flat  29:37:20      8.0                                     201611100077.fits
20161110078     flat  29:37:20      8.0                                     201611100078.fits
20161110079     flat  29:37:20      8.0                                     201611100079.fits
20161110081     flat  29:37:27     32.0                                     201611100081.fits
20161110082     flat  29:37:27     32.0                                     201611100082.fits
20161110083     flat  29:37:27     32.0                                     201611100083.fits
20161110084     flat  29:37:27     32.0                                     201611100084.fits
20161110085     flat  29:37:27     32.0                                     201611100085.fits
20161110086     flat  29:37:27     32.0                                     201611100086.fits
20161110087     flat  29:37:27     32.0                                     201611100087.fits
20161110088     flat  29:37:27     32.0                                     201611100088.fits
20161110089     flat  29:37:27     32.0                                     201611100089.fits
20161110090     flat  29:37:27     32.0                                     201611100090.fits
20161110092     flat  29:37:40    144.0                                     201611100092.fits
20161110093     flat  29:37:40    144.0                                     201611100093.fits
20161110094     flat  29:37:40    144.0                                     201611100094.fits
20161110095     flat  29:37:40    144.0                                     201611100095.fits
20161110096     flat  29:37:40    144.0                                     201611100096.fits
20161110097     flat  29:37:40    144.0                                     201611100097.fits
20161110098     flat  29:37:40    144.0                                     201611100098.fits
20161110099     flat  29:37:40    144.0                                     201611100099.fits
20161110100     flat  29:37:40    144.0                                    2016111000100.fits
20161110101     flat  29:37:40    144.0                                    2016111000101.fits
20161110103     bias  29:37:56      0.0                                    2016111000103.fits
20161110104     bias  29:37:56      0.0                                    2016111000104.fits
20161110105     bias  29:37:56      0.0                                    2016111000105.fits
20161110106     bias  29:37:56      0.0                                    2016111000106.fits
20161110107     bias  29:37:56      0.0                                    2016111000107.fits

2. Process BIAS


In [7]:
ind_bias = logt['obj']=='bias'
bias = ccdproc.combine(','.join(logt['filename'][ind_bias]), unit='adu', method='median')


INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
WARNING: VerifyWarning: Keyword name 'trim_image' is greater than 8 characters or contains characters not allowed by the FITS standard; a HIERARCH card will be created. [astropy.io.fits.card]

3. Process FLAT

bias substraction & trim


In [8]:
ind_flat1_1 = (logt['obj']=='flat')*(logt['exp_time']==8)
ind_flat1_2 = (logt['obj']=='flat')*(logt['exp_time']==9)
ind_flat2_1 = (logt['obj']=='flat')*(logt['exp_time']==32)
ind_flat2_2 = (logt['obj']=='flat')*(logt['exp_time']==36)
ind_flat3 = (logt['obj']=='flat')*(logt['exp_time']==144)

flat1_1 = ccdproc.combine(','.join(logt['filename'][ind_flat1_1]), unit='adu', method='median')
flat1_2 = ccdproc.combine(','.join(logt['filename'][ind_flat1_2]), unit='adu', method='median')
flat2_1 = ccdproc.combine(','.join(logt['filename'][ind_flat2_1]), unit='adu', method='median')
flat2_2 = ccdproc.combine(','.join(logt['filename'][ind_flat2_2]), unit='adu', method='median')
flat3 = ccdproc.combine(','.join(logt['filename'][ind_flat3]), unit='adu', method='median')
flat1 = ccdproc.combine([flat1_1.multiply(9.).divide(8.), flat1_2], method='average')
flat2 = ccdproc.combine([flat2_1.multiply(36.).divide(32.), flat2_2], method='average')

flat1_bias = ccdproc.subtract_bias(flat1, bias)
flat2_bias = ccdproc.subtract_bias(flat2, bias)
flat3_bias = ccdproc.subtract_bias(flat3, bias)

flat1_bias_trim = ccdproc.trim_image(flat1_bias[:, :4096])
flat2_bias_trim = ccdproc.trim_image(flat2_bias[:, :4096])
flat3_bias_trim = ccdproc.trim_image(flat3_bias[:, :4096])


INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
WARNING: VerifyWarning: Keyword name 'subtract_bias' is greater than 8 characters or contains characters not allowed by the FITS standard; a HIERARCH card will be created. [astropy.io.fits.card]

combine FLAT


In [10]:
flat_list = [flat1_bias_trim, flat2_bias_trim, flat3_bias_trim]

# find & combine & group apertures
ap_comb = hrs.combine_apertures(flat_list, n_jobs=10)
cheb_coefs, ap_uorder_interp = hrs.group_apertures(ap_comb, start_col=2100, order_dist=10)

# combine flat
flat_comb, flat_origin = hrs.combine_flat(flat_list, ap_uorder_interp, sat_count=45000, p=95)
flat_comb = ccdproc.CCDData(flat_comb, unit='adu')

# scattered light substraction
flat_comb_sl = hrs.substract_scattered_light(flat_comb, ap_uorder_interp, ap_width=10, shrink=.85)
flat1d = hrs.extract_1dspec(flat_comb_sl, ap_uorder_interp, ap_width=7)[0]


@Cham: 143 possible apertures found (exciting)!
/usr/local/lib/python2.7/dist-packages/astropy/nddata/mixins/ndslicing.py:87: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  kwargs['data'] = self.data[item]
@Cham: 141 possible apertures found (exciting)!
/usr/local/lib/python2.7/dist-packages/astropy/nddata/mixins/ndslicing.py:87: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  kwargs['data'] = self.data[item]
@Cham: tracing aperture [0] 
@Cham: tracing aperture [1] 
@Cham: 137 possible apertures found (exciting)!
/usr/local/lib/python2.7/dist-packages/astropy/nddata/mixins/ndslicing.py:87: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  kwargs['data'] = self.data[item]
@Cham: tracing aperture [0] 
@Cham: tracing aperture [1] 
@Cham: tracing aperture [2] 
@Cham: tracing aperture [0] 
@Cham: tracing aperture [1] 
@Cham: tracing aperture [2] 
@Cham: tracing aperture [3] 
@Cham: tracing aperture [2] 
@Cham: tracing aperture [3] 
@Cham: tracing aperture [4] 
@Cham: tracing aperture [3] 
@Cham: tracing aperture [4] 
@Cham: tracing aperture [5] 
@Cham: tracing aperture [6] 
@Cham: tracing aperture [7] 
@Cham: tracing aperture [8] 
@Cham: tracing aperture [9] 
@Cham: tracing aperture [10] 
@Cham: tracing aperture [11] 
@Cham: tracing aperture [12] 
@Cham: tracing aperture [13] 
@Cham: tracing aperture [14] 
@Cham: tracing aperture [15] 
@Cham: tracing aperture [16] 
@Cham: tracing aperture [17] 
@Cham: tracing aperture [18] 
@Cham: tracing aperture [19] 
@Cham: tracing aperture [20] 
@Cham: tracing aperture [21] 
@Cham: tracing aperture [22] 
@Cham: tracing aperture [23] 
@Cham: tracing aperture [24] 
@Cham: tracing aperture [25] 
@Cham: tracing aperture [26] 
@Cham: tracing aperture [27] 
@Cham: tracing aperture [28] 
@Cham: tracing aperture [29] 
@Cham: tracing aperture [30] 
@Cham: tracing aperture [31] 
@Cham: tracing aperture [32] 
@Cham: tracing aperture [33] 
@Cham: tracing aperture [34] 
@Cham: tracing aperture [35] 
@Cham: tracing aperture [36] 
@Cham: tracing aperture [37] 
@Cham: tracing aperture [38] 
@Cham: tracing aperture [39] 
@Cham: tracing aperture [40] 
@Cham: tracing aperture [41] 
@Cham: tracing aperture [42] 
@Cham: tracing aperture [43] 
@Cham: tracing aperture [44] 
@Cham: tracing aperture [45] 
@Cham: tracing aperture [46] 
@Cham: tracing aperture [47] 
@Cham: tracing aperture [48] 
@Cham: tracing aperture [4] 
@Cham: tracing aperture [5] 
@Cham: tracing aperture [49] 
@Cham: tracing aperture [5] 
@Cham: tracing aperture [6] 
@Cham: tracing aperture [50] 
@Cham: tracing aperture [6] 
@Cham: tracing aperture [7] 
@Cham: tracing aperture [51] 
@Cham: tracing aperture [7] 
@Cham: tracing aperture [8] 
@Cham: tracing aperture [52] 
@Cham: tracing aperture [8] 
@Cham: tracing aperture [9] 
@Cham: tracing aperture [53] 
@Cham: tracing aperture [9] 
@Cham: tracing aperture [10] 
@Cham: tracing aperture [54] 
@Cham: tracing aperture [10] 
@Cham: tracing aperture [11] 
@Cham: tracing aperture [55] 
@Cham: tracing aperture [11] 
@Cham: tracing aperture [12] 
@Cham: tracing aperture [13] 
@Cham: tracing aperture [14] 
@Cham: tracing aperture [15] 
@Cham: tracing aperture [16] 
@Cham: tracing aperture [17] 
@Cham: tracing aperture [18] 
@Cham: tracing aperture [19] 
@Cham: tracing aperture [20] 
@Cham: tracing aperture [21] 
@Cham: tracing aperture [22] 
@Cham: tracing aperture [23] 
@Cham: tracing aperture [24] 
@Cham: tracing aperture [25] 
@Cham: tracing aperture [26] 
@Cham: tracing aperture [27] 
@Cham: tracing aperture [28] 
@Cham: tracing aperture [12] 
@Cham: tracing aperture [56] 
@Cham: tracing aperture [29] 
@Cham: tracing aperture [13] 
@Cham: tracing aperture [57] 
@Cham: tracing aperture [30] 
@Cham: tracing aperture [14] 
@Cham: tracing aperture [58] 
@Cham: tracing aperture [31] 
@Cham: tracing aperture [15] 
@Cham: tracing aperture [59] 
@Cham: tracing aperture [32] 
@Cham: tracing aperture [16] 
@Cham: tracing aperture [60] 
@Cham: tracing aperture [33] 
@Cham: tracing aperture [17] 
@Cham: tracing aperture [61] 
@Cham: tracing aperture [34] 
@Cham: tracing aperture [18] 
@Cham: tracing aperture [62] 
@Cham: tracing aperture [35] 
@Cham: tracing aperture [19] 
@Cham: tracing aperture [63] 
@Cham: tracing aperture [36] 
@Cham: tracing aperture [20] 
@Cham: tracing aperture [64] 
@Cham: tracing aperture [37] 
@Cham: tracing aperture [21] 
@Cham: tracing aperture [65] 
@Cham: tracing aperture [38] 
@Cham: tracing aperture [22] 
@Cham: tracing aperture [66] 
@Cham: tracing aperture [39] 
@Cham: tracing aperture [23] 
@Cham: tracing aperture [67] 
@Cham: tracing aperture [40] 
@Cham: tracing aperture [24] 
@Cham: tracing aperture [68] 
@Cham: tracing aperture [41] 
@Cham: tracing aperture [25] 
@Cham: tracing aperture [69] 
@Cham: tracing aperture [42] 
@Cham: tracing aperture [26] 
@Cham: tracing aperture [70] 
@Cham: tracing aperture [43] 
@Cham: tracing aperture [27] 
@Cham: tracing aperture [71] 
@Cham: tracing aperture [44] 
@Cham: tracing aperture [28] 
@Cham: tracing aperture [72] 
@Cham: tracing aperture [45] 
@Cham: tracing aperture [29] 
@Cham: tracing aperture [73] 
@Cham: tracing aperture [46] 
@Cham: tracing aperture [30] 
@Cham: tracing aperture [74] 
@Cham: tracing aperture [47] 
@Cham: tracing aperture [31] 
@Cham: tracing aperture [75] 
@Cham: tracing aperture [48] 
@Cham: tracing aperture [32] 
@Cham: tracing aperture [76] 
@Cham: tracing aperture [49] 
@Cham: tracing aperture [33] 
@Cham: tracing aperture [77] 
@Cham: tracing aperture [50] 
@Cham: tracing aperture [34] 
@Cham: tracing aperture [78] 
@Cham: tracing aperture [51] 
@Cham: tracing aperture [35] 
@Cham: tracing aperture [79] 
@Cham: tracing aperture [52] 
@Cham: tracing aperture [36] 
@Cham: tracing aperture [80] 
@Cham: tracing aperture [53] 
@Cham: tracing aperture [37] 
@Cham: tracing aperture [81] 
@Cham: tracing aperture [54] 
@Cham: tracing aperture [38] 
@Cham: tracing aperture [82] 
@Cham: tracing aperture [55] 
@Cham: tracing aperture [39] 
@Cham: tracing aperture [83] 
@Cham: tracing aperture [84] 
@Cham: tracing aperture [56] 
@Cham: tracing aperture [40] 
@Cham: tracing aperture [85] 
@Cham: tracing aperture [57] 
@Cham: tracing aperture [41] 
@Cham: tracing aperture [86] 
@Cham: tracing aperture [87] 
@Cham: tracing aperture [58] 
@Cham: tracing aperture [42] 
@Cham: tracing aperture [88] 
@Cham: tracing aperture [89] 
@Cham: tracing aperture [59] 
@Cham: tracing aperture [43] 
@Cham: tracing aperture [90] 
@Cham: tracing aperture [60] 
@Cham: tracing aperture [91] 
@Cham: tracing aperture [92] 
@Cham: tracing aperture [44] 
@Cham: tracing aperture [61] 
@Cham: tracing aperture [93] 
@Cham: tracing aperture [45] 
@Cham: tracing aperture [94] 
@Cham: tracing aperture [62] 
@Cham: tracing aperture [46] 
@Cham: tracing aperture [95] 
@Cham: tracing aperture [63] 
@Cham: tracing aperture [47] 
@Cham: tracing aperture [96] 
@Cham: tracing aperture [97] 
@Cham: tracing aperture [64] 
@Cham: tracing aperture [48] 
@Cham: tracing aperture [98] 
@Cham: tracing aperture [65] 
@Cham: tracing aperture [99] 
@Cham: tracing aperture [100] 
@Cham: tracing aperture [101] 
@Cham: tracing aperture [49] 
@Cham: tracing aperture [102] 
@Cham: tracing aperture [103] 
@Cham: tracing aperture [66] 
@Cham: tracing aperture [50] 
@Cham: tracing aperture [104] 
@Cham: tracing aperture [105] 
@Cham: tracing aperture [67] 
@Cham: tracing aperture [106] 
@Cham: tracing aperture [107] 
@Cham: tracing aperture [51] 
@Cham: tracing aperture [108] 
@Cham: tracing aperture [109] 
@Cham: tracing aperture [68] 
@Cham: tracing aperture [52] 
@Cham: tracing aperture [110] 
@Cham: tracing aperture [111] 
@Cham: tracing aperture [69] 
@Cham: tracing aperture [112] 
@Cham: tracing aperture [113] 
@Cham: tracing aperture [53] 
@Cham: tracing aperture [114] 
@Cham: tracing aperture [115] 
@Cham: tracing aperture [116] 
@Cham: tracing aperture [70] 
@Cham: tracing aperture [71] 
@Cham: tracing aperture [117] 
@Cham: tracing aperture [118] 
@Cham: tracing aperture [119] 
@Cham: tracing aperture [54] 
@Cham: tracing aperture [120] 
@Cham: tracing aperture [121] 
@Cham: tracing aperture [72] 
@Cham: tracing aperture [122] 
@Cham: tracing aperture [123] 
@Cham: tracing aperture [124] 
@Cham: tracing aperture [55] 
@Cham: tracing aperture [125] 
@Cham: tracing aperture [126] 
@Cham: tracing aperture [127] 
@Cham: tracing aperture [128] 
@Cham: tracing aperture [129] 
@Cham: tracing aperture [130] 
@Cham: tracing aperture [131] 
@Cham: tracing aperture [132] 
@Cham: tracing aperture [73] 
@Cham: tracing aperture [133] 
@Cham: tracing aperture [134] 
@Cham: tracing aperture [135] 
@Cham: tracing aperture [136] 
@Cham: number of good aps (max) = 61 
@Cham: tracing aperture [56] 
@Cham: tracing aperture [74] 
@Cham: tracing aperture [75] 
@Cham: tracing aperture [57] 
@Cham: tracing aperture [76] 
@Cham: tracing aperture [58] 
@Cham: tracing aperture [77] 
@Cham: tracing aperture [78] 
@Cham: tracing aperture [59] 
@Cham: tracing aperture [79] 
@Cham: tracing aperture [60] 
@Cham: tracing aperture [80] 
@Cham: tracing aperture [61] 
@Cham: tracing aperture [81] 
@Cham: tracing aperture [82] 
@Cham: tracing aperture [62] 
@Cham: tracing aperture [83] 
@Cham: tracing aperture [84] 
@Cham: tracing aperture [85] 
@Cham: tracing aperture [86] 
@Cham: tracing aperture [63] 
@Cham: tracing aperture [87] 
@Cham: tracing aperture [64] 
@Cham: tracing aperture [88] 
@Cham: tracing aperture [65] 
@Cham: tracing aperture [89] 
@Cham: tracing aperture [90] 
@Cham: tracing aperture [66] 
@Cham: tracing aperture [91] 
@Cham: tracing aperture [92] 
@Cham: tracing aperture [67] 
@Cham: tracing aperture [93] 
@Cham: tracing aperture [94] 
@Cham: tracing aperture [68] 
@Cham: tracing aperture [95] 
@Cham: tracing aperture [96] 
@Cham: tracing aperture [97] 
@Cham: tracing aperture [98] 
@Cham: tracing aperture [69] 
@Cham: tracing aperture [99] 
@Cham: tracing aperture [70] 
@Cham: tracing aperture [100] 
@Cham: tracing aperture [101] 
@Cham: tracing aperture [71] 
@Cham: tracing aperture [72] 
@Cham: tracing aperture [102] 
@Cham: tracing aperture [103] 
@Cham: tracing aperture [104] 
@Cham: tracing aperture [105] 
@Cham: tracing aperture [106] 
@Cham: tracing aperture [73] 
@Cham: tracing aperture [107] 
@Cham: tracing aperture [108] 
@Cham: tracing aperture [74] 
@Cham: tracing aperture [109] 
@Cham: tracing aperture [110] 
@Cham: tracing aperture [75] 
@Cham: tracing aperture [111] 
@Cham: tracing aperture [112] 
@Cham: tracing aperture [113] 
@Cham: tracing aperture [114] 
@Cham: tracing aperture [76] 
@Cham: tracing aperture [115] 
@Cham: tracing aperture [116] 
@Cham: tracing aperture [77] 
@Cham: tracing aperture [78] 
@Cham: tracing aperture [117] 
@Cham: tracing aperture [118] 
@Cham: tracing aperture [119] 
@Cham: tracing aperture [120] 
@Cham: tracing aperture [121] 
@Cham: tracing aperture [122] 
@Cham: tracing aperture [123] 
@Cham: tracing aperture [124] 
@Cham: tracing aperture [125] 
@Cham: tracing aperture [126] 
@Cham: tracing aperture [79] 
@Cham: tracing aperture [80] 
@Cham: tracing aperture [127] 
@Cham: tracing aperture [128] 
@Cham: tracing aperture [129] 
@Cham: tracing aperture [130] 
@Cham: tracing aperture [131] 
@Cham: tracing aperture [132] 
@Cham: tracing aperture [133] 
@Cham: tracing aperture [134] 
@Cham: tracing aperture [135] 
@Cham: tracing aperture [136] 
@Cham: tracing aperture [137] 
@Cham: tracing aperture [138] 
@Cham: tracing aperture [139] 
@Cham: tracing aperture [140] 
@Cham: number of good aps (max) = 84 
@Cham: tracing aperture [81] 
@Cham: tracing aperture [82] 
@Cham: tracing aperture [83] 
@Cham: tracing aperture [84] 
@Cham: tracing aperture [85] 
@Cham: tracing aperture [86] 
@Cham: tracing aperture [87] 
@Cham: tracing aperture [88] 
@Cham: tracing aperture [89] 
@Cham: tracing aperture [90] 
@Cham: tracing aperture [91] 
@Cham: tracing aperture [92] 
@Cham: tracing aperture [93] 
@Cham: tracing aperture [94] 
@Cham: tracing aperture [95] 
@Cham: tracing aperture [96] 
@Cham: tracing aperture [97] 
@Cham: tracing aperture [98] 
@Cham: tracing aperture [99] 
@Cham: tracing aperture [100] 
@Cham: tracing aperture [101] 
@Cham: tracing aperture [102] 
@Cham: tracing aperture [103] 
@Cham: tracing aperture [104] 
@Cham: tracing aperture [105] 
@Cham: tracing aperture [106] 
@Cham: tracing aperture [107] 
@Cham: tracing aperture [108] 
@Cham: tracing aperture [109] 
@Cham: tracing aperture [110] 
@Cham: tracing aperture [111] 
@Cham: tracing aperture [112] 
@Cham: tracing aperture [113] 
@Cham: tracing aperture [114] 
@Cham: tracing aperture [115] 
@Cham: tracing aperture [116] 
@Cham: tracing aperture [117] 
@Cham: tracing aperture [118] 
@Cham: tracing aperture [119] 
@Cham: tracing aperture [120] 
@Cham: tracing aperture [121] 
@Cham: tracing aperture [122] 
@Cham: tracing aperture [123] 
@Cham: tracing aperture [124] 
@Cham: tracing aperture [125] 
@Cham: tracing aperture [126] 
@Cham: tracing aperture [127] 
@Cham: tracing aperture [128] 
@Cham: tracing aperture [129] 
@Cham: tracing aperture [130] 
@Cham: tracing aperture [131] 
@Cham: tracing aperture [132] 
@Cham: tracing aperture [133] 
@Cham: tracing aperture [134] 
@Cham: tracing aperture [135] 
@Cham: tracing aperture [136] 
@Cham: tracing aperture [137] 
@Cham: tracing aperture [138] 
@Cham: tracing aperture [139] 
@Cham: tracing aperture [140] 
@Cham: tracing aperture [141] 
@Cham: tracing aperture [142] 
@Cham: number of good aps (max) = 99 
[Parallel(n_jobs=10)]: Done   3 out of   3 | elapsed:  1.1min finished
('@Cham: the numbers of apertures found are: ', [99, 84, 61])
@Cham: 104 unique orders found!
@Cham: marking pixels of order [0]
@Cham: marking pixels of order [1]
@Cham: marking pixels of order [2]
@Cham: marking pixels of order [3]
@Cham: marking pixels of order [4]
@Cham: marking pixels of order [5]
@Cham: marking pixels of order [6]
@Cham: marking pixels of order [7]
@Cham: marking pixels of order [8]
@Cham: marking pixels of order [9]
@Cham: marking pixels of order [10]
@Cham: marking pixels of order [11]
@Cham: marking pixels of order [12]
@Cham: marking pixels of order [13]
@Cham: marking pixels of order [14]
@Cham: marking pixels of order [15]
@Cham: marking pixels of order [16]
@Cham: marking pixels of order [17]
@Cham: marking pixels of order [18]
@Cham: marking pixels of order [19]
@Cham: marking pixels of order [20]
@Cham: marking pixels of order [21]
@Cham: marking pixels of order [22]
@Cham: marking pixels of order [23]
@Cham: marking pixels of order [24]
@Cham: marking pixels of order [25]
@Cham: marking pixels of order [26]
@Cham: marking pixels of order [27]
@Cham: marking pixels of order [28]
@Cham: marking pixels of order [29]
@Cham: marking pixels of order [30]
@Cham: marking pixels of order [31]
@Cham: marking pixels of order [32]
@Cham: marking pixels of order [33]
@Cham: marking pixels of order [34]
@Cham: marking pixels of order [35]
@Cham: marking pixels of order [36]
@Cham: marking pixels of order [37]
@Cham: marking pixels of order [38]
@Cham: marking pixels of order [39]
@Cham: marking pixels of order [40]
@Cham: marking pixels of order [41]
@Cham: marking pixels of order [42]
@Cham: marking pixels of order [43]
@Cham: marking pixels of order [44]
@Cham: marking pixels of order [45]
@Cham: marking pixels of order [46]
@Cham: marking pixels of order [47]
@Cham: marking pixels of order [48]
@Cham: marking pixels of order [49]
@Cham: marking pixels of order [50]
@Cham: marking pixels of order [51]
@Cham: marking pixels of order [52]
@Cham: marking pixels of order [53]
@Cham: marking pixels of order [54]
@Cham: marking pixels of order [55]
@Cham: marking pixels of order [56]
@Cham: marking pixels of order [57]
@Cham: marking pixels of order [58]
@Cham: marking pixels of order [59]
@Cham: marking pixels of order [60]
@Cham: marking pixels of order [61]
@Cham: marking pixels of order [62]
@Cham: marking pixels of order [63]
@Cham: marking pixels of order [64]
@Cham: marking pixels of order [65]
@Cham: marking pixels of order [66]
@Cham: marking pixels of order [67]
@Cham: marking pixels of order [68]
@Cham: marking pixels of order [69]
@Cham: marking pixels of order [70]
@Cham: marking pixels of order [71]
@Cham: marking pixels of order [72]
@Cham: marking pixels of order [73]
@Cham: marking pixels of order [74]
@Cham: marking pixels of order [75]
@Cham: marking pixels of order [76]
@Cham: marking pixels of order [77]
@Cham: marking pixels of order [78]
@Cham: marking pixels of order [79]
@Cham: marking pixels of order [80]
@Cham: marking pixels of order [81]
@Cham: marking pixels of order [82]
@Cham: marking pixels of order [83]
@Cham: marking pixels of order [84]
@Cham: marking pixels of order [85]
@Cham: marking pixels of order [86]
@Cham: marking pixels of order [87]
@Cham: marking pixels of order [88]
@Cham: marking pixels of order [89]
@Cham: marking pixels of order [90]
@Cham: marking pixels of order [91]
@Cham: marking pixels of order [92]
@Cham: marking pixels of order [93]
@Cham: marking pixels of order [94]
@Cham: marking pixels of order [95]
@Cham: marking pixels of order [96]
@Cham: marking pixels of order [97]
@Cham: marking pixels of order [98]
@Cham: marking pixels of order [99]
@Cham: marking pixels of order [100]
@Cham: marking pixels of order [101]
@Cham: marking pixels of order [102]
@Cham: marking pixels of order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: filling data: image [2] --> uorder [-2]
@Cham: filling data: image [2] --> uorder [-1]
@Cham: filling data: image [2] --> uorder [0]
@Cham: filling data: image [2] --> uorder [1]
@Cham: filling data: image [1] --> uorder [2]
@Cham: filling data: image [1] --> uorder [3]
@Cham: filling data: image [1] --> uorder [4]
@Cham: filling data: image [0] --> uorder [5]
@Cham: filling data: image [0] --> uorder [6]
@Cham: filling data: image [0] --> uorder [7]
@Cham: filling data: image [0] --> uorder [8]
@Cham: filling data: image [0] --> uorder [9]
@Cham: filling data: image [0] --> uorder [10]
@Cham: filling data: image [0] --> uorder [11]
@Cham: filling data: image [0] --> uorder [12]
@Cham: filling data: image [0] --> uorder [13]
@Cham: filling data: image [0] --> uorder [14]
@Cham: filling data: image [0] --> uorder [15]
@Cham: filling data: image [0] --> uorder [16]
@Cham: filling data: image [0] --> uorder [17]
@Cham: filling data: image [0] --> uorder [18]
@Cham: filling data: image [0] --> uorder [19]
@Cham: filling data: image [0] --> uorder [20]
@Cham: filling data: image [0] --> uorder [21]
@Cham: filling data: image [0] --> uorder [22]
@Cham: filling data: image [0] --> uorder [23]
@Cham: filling data: image [0] --> uorder [24]
@Cham: filling data: image [0] --> uorder [25]
@Cham: filling data: image [0] --> uorder [26]
@Cham: filling data: image [0] --> uorder [27]
@Cham: filling data: image [0] --> uorder [28]
@Cham: filling data: image [0] --> uorder [29]
@Cham: filling data: image [0] --> uorder [30]
@Cham: filling data: image [0] --> uorder [31]
@Cham: filling data: image [0] --> uorder [32]
@Cham: filling data: image [0] --> uorder [33]
@Cham: filling data: image [0] --> uorder [34]
@Cham: filling data: image [0] --> uorder [35]
@Cham: filling data: image [0] --> uorder [36]
@Cham: filling data: image [0] --> uorder [37]
@Cham: filling data: image [0] --> uorder [38]
@Cham: filling data: image [0] --> uorder [39]
@Cham: filling data: image [0] --> uorder [40]
@Cham: filling data: image [1] --> uorder [41]
@Cham: filling data: image [1] --> uorder [42]
@Cham: filling data: image [1] --> uorder [43]
@Cham: filling data: image [1] --> uorder [44]
@Cham: filling data: image [1] --> uorder [45]
@Cham: filling data: image [1] --> uorder [46]
@Cham: filling data: image [1] --> uorder [47]
@Cham: filling data: image [1] --> uorder [48]
@Cham: filling data: image [1] --> uorder [49]
@Cham: filling data: image [1] --> uorder [50]
@Cham: filling data: image [1] --> uorder [51]
@Cham: filling data: image [1] --> uorder [52]
@Cham: filling data: image [1] --> uorder [53]
@Cham: filling data: image [2] --> uorder [54]
@Cham: filling data: image [2] --> uorder [55]
@Cham: filling data: image [2] --> uorder [56]
@Cham: filling data: image [2] --> uorder [57]
@Cham: filling data: image [2] --> uorder [58]
@Cham: filling data: image [2] --> uorder [59]
@Cham: filling data: image [2] --> uorder [60]
@Cham: filling data: image [2] --> uorder [61]
@Cham: filling data: image [2] --> uorder [62]
@Cham: filling data: image [2] --> uorder [63]
@Cham: filling data: image [2] --> uorder [64]
@Cham: filling data: image [2] --> uorder [65]
@Cham: filling data: image [2] --> uorder [66]
@Cham: filling data: image [2] --> uorder [67]
@Cham: filling data: image [2] --> uorder [68]
@Cham: filling data: image [2] --> uorder [69]
@Cham: filling data: image [2] --> uorder [70]
@Cham: filling data: image [2] --> uorder [71]
@Cham: filling data: image [2] --> uorder [72]
@Cham: filling data: image [2] --> uorder [73]
@Cham: filling data: image [2] --> uorder [74]
@Cham: filling data: image [2] --> uorder [75]
@Cham: filling data: image [2] --> uorder [76]
@Cham: filling data: image [2] --> uorder [77]
@Cham: filling data: image [2] --> uorder [78]
@Cham: filling data: image [2] --> uorder [79]
@Cham: filling data: image [2] --> uorder [80]
@Cham: filling data: image [2] --> uorder [81]
@Cham: filling data: image [2] --> uorder [82]
@Cham: filling data: image [2] --> uorder [83]
@Cham: filling data: image [2] --> uorder [84]
@Cham: filling data: image [2] --> uorder [85]
@Cham: filling data: image [2] --> uorder [86]
@Cham: filling data: image [2] --> uorder [87]
@Cham: filling data: image [2] --> uorder [88]
@Cham: filling data: image [2] --> uorder [89]
@Cham: filling data: image [2] --> uorder [90]
@Cham: filling data: image [2] --> uorder [91]
@Cham: filling data: image [2] --> uorder [92]
@Cham: filling data: image [2] --> uorder [93]
@Cham: filling data: image [2] --> uorder [94]
@Cham: filling data: image [2] --> uorder [95]
@Cham: filling data: image [2] --> uorder [96]
@Cham: filling data: image [2] --> uorder [97]
@Cham: filling data: image [2] --> uorder [98]
@Cham: filling data: image [2] --> uorder [99]
@Cham: filling data: image [2] --> uorder [100]
@Cham: filling data: image [2] --> uorder [101]
@Cham: filling data: image [2] --> uorder [102]
@Cham: filling data: image [2] --> uorder [103]
@Cham: *find_inter_order* marking pixels of order [0]
@Cham: *find_inter_order* marking pixels of order [1]
@Cham: *find_inter_order* marking pixels of order [2]
@Cham: *find_inter_order* marking pixels of order [3]
@Cham: *find_inter_order* marking pixels of order [4]
@Cham: *find_inter_order* marking pixels of order [5]
@Cham: *find_inter_order* marking pixels of order [6]
@Cham: *find_inter_order* marking pixels of order [7]
@Cham: *find_inter_order* marking pixels of order [8]
@Cham: *find_inter_order* marking pixels of order [9]
@Cham: *find_inter_order* marking pixels of order [10]
@Cham: *find_inter_order* marking pixels of order [11]
@Cham: *find_inter_order* marking pixels of order [12]
@Cham: *find_inter_order* marking pixels of order [13]
@Cham: *find_inter_order* marking pixels of order [14]
@Cham: *find_inter_order* marking pixels of order [15]
@Cham: *find_inter_order* marking pixels of order [16]
@Cham: *find_inter_order* marking pixels of order [17]
@Cham: *find_inter_order* marking pixels of order [18]
@Cham: *find_inter_order* marking pixels of order [19]
@Cham: *find_inter_order* marking pixels of order [20]
@Cham: *find_inter_order* marking pixels of order [21]
@Cham: *find_inter_order* marking pixels of order [22]
@Cham: *find_inter_order* marking pixels of order [23]
@Cham: *find_inter_order* marking pixels of order [24]
@Cham: *find_inter_order* marking pixels of order [25]
@Cham: *find_inter_order* marking pixels of order [26]
@Cham: *find_inter_order* marking pixels of order [27]
@Cham: *find_inter_order* marking pixels of order [28]
@Cham: *find_inter_order* marking pixels of order [29]
@Cham: *find_inter_order* marking pixels of order [30]
@Cham: *find_inter_order* marking pixels of order [31]
@Cham: *find_inter_order* marking pixels of order [32]
@Cham: *find_inter_order* marking pixels of order [33]
@Cham: *find_inter_order* marking pixels of order [34]
@Cham: *find_inter_order* marking pixels of order [35]
@Cham: *find_inter_order* marking pixels of order [36]
@Cham: *find_inter_order* marking pixels of order [37]
@Cham: *find_inter_order* marking pixels of order [38]
@Cham: *find_inter_order* marking pixels of order [39]
@Cham: *find_inter_order* marking pixels of order [40]
@Cham: *find_inter_order* marking pixels of order [41]
@Cham: *find_inter_order* marking pixels of order [42]
@Cham: *find_inter_order* marking pixels of order [43]
@Cham: *find_inter_order* marking pixels of order [44]
@Cham: *find_inter_order* marking pixels of order [45]
@Cham: *find_inter_order* marking pixels of order [46]
@Cham: *find_inter_order* marking pixels of order [47]
@Cham: *find_inter_order* marking pixels of order [48]
@Cham: *find_inter_order* marking pixels of order [49]
@Cham: *find_inter_order* marking pixels of order [50]
@Cham: *find_inter_order* marking pixels of order [51]
@Cham: *find_inter_order* marking pixels of order [52]
@Cham: *find_inter_order* marking pixels of order [53]
@Cham: *find_inter_order* marking pixels of order [54]
@Cham: *find_inter_order* marking pixels of order [55]
@Cham: *find_inter_order* marking pixels of order [56]
@Cham: *find_inter_order* marking pixels of order [57]
@Cham: *find_inter_order* marking pixels of order [58]
@Cham: *find_inter_order* marking pixels of order [59]
@Cham: *find_inter_order* marking pixels of order [60]
@Cham: *find_inter_order* marking pixels of order [61]
@Cham: *find_inter_order* marking pixels of order [62]
@Cham: *find_inter_order* marking pixels of order [63]
@Cham: *find_inter_order* marking pixels of order [64]
@Cham: *find_inter_order* marking pixels of order [65]
@Cham: *find_inter_order* marking pixels of order [66]
@Cham: *find_inter_order* marking pixels of order [67]
@Cham: *find_inter_order* marking pixels of order [68]
@Cham: *find_inter_order* marking pixels of order [69]
@Cham: *find_inter_order* marking pixels of order [70]
@Cham: *find_inter_order* marking pixels of order [71]
@Cham: *find_inter_order* marking pixels of order [72]
@Cham: *find_inter_order* marking pixels of order [73]
@Cham: *find_inter_order* marking pixels of order [74]
@Cham: *find_inter_order* marking pixels of order [75]
@Cham: *find_inter_order* marking pixels of order [76]
@Cham: *find_inter_order* marking pixels of order [77]
@Cham: *find_inter_order* marking pixels of order [78]
@Cham: *find_inter_order* marking pixels of order [79]
@Cham: *find_inter_order* marking pixels of order [80]
@Cham: *find_inter_order* marking pixels of order [81]
@Cham: *find_inter_order* marking pixels of order [82]
@Cham: *find_inter_order* marking pixels of order [83]
@Cham: *find_inter_order* marking pixels of order [84]
@Cham: *find_inter_order* marking pixels of order [85]
@Cham: *find_inter_order* marking pixels of order [86]
@Cham: *find_inter_order* marking pixels of order [87]
@Cham: *find_inter_order* marking pixels of order [88]
@Cham: *find_inter_order* marking pixels of order [89]
@Cham: *find_inter_order* marking pixels of order [90]
@Cham: *find_inter_order* marking pixels of order [91]
@Cham: *find_inter_order* marking pixels of order [92]
@Cham: *find_inter_order* marking pixels of order [93]
@Cham: *find_inter_order* marking pixels of order [94]
@Cham: *find_inter_order* marking pixels of order [95]
@Cham: *find_inter_order* marking pixels of order [96]
@Cham: *find_inter_order* marking pixels of order [97]
@Cham: *find_inter_order* marking pixels of order [98]
@Cham: *find_inter_order* marking pixels of order [99]
@Cham: *find_inter_order* marking pixels of order [100]
@Cham: *find_inter_order* marking pixels of order [101]
@Cham: *find_inter_order* marking pixels of order [102]
@Cham: *substract_scattered_light* interpolating scattered light ...
@Cham: *substract_scattered_light* smoothing scattered light ...
@Cham: *extract_1dspec* extracting 1d spec for order [0]
@Cham: *extract_1dspec* extracting 1d spec for order [1]
@Cham: *extract_1dspec* extracting 1d spec for order [2]
@Cham: *extract_1dspec* extracting 1d spec for order [3]
@Cham: *extract_1dspec* extracting 1d spec for order [4]
@Cham: *extract_1dspec* extracting 1d spec for order [5]
@Cham: *extract_1dspec* extracting 1d spec for order [6]
@Cham: *extract_1dspec* extracting 1d spec for order [7]
@Cham: *extract_1dspec* extracting 1d spec for order [8]
@Cham: *extract_1dspec* extracting 1d spec for order [9]
@Cham: *extract_1dspec* extracting 1d spec for order [10]
@Cham: *extract_1dspec* extracting 1d spec for order [11]
@Cham: *extract_1dspec* extracting 1d spec for order [12]
@Cham: *extract_1dspec* extracting 1d spec for order [13]
@Cham: *extract_1dspec* extracting 1d spec for order [14]
@Cham: *extract_1dspec* extracting 1d spec for order [15]
@Cham: *extract_1dspec* extracting 1d spec for order [16]
@Cham: *extract_1dspec* extracting 1d spec for order [17]
@Cham: *extract_1dspec* extracting 1d spec for order [18]
@Cham: *extract_1dspec* extracting 1d spec for order [19]
@Cham: *extract_1dspec* extracting 1d spec for order [20]
@Cham: *extract_1dspec* extracting 1d spec for order [21]
@Cham: *extract_1dspec* extracting 1d spec for order [22]
@Cham: *extract_1dspec* extracting 1d spec for order [23]
@Cham: *extract_1dspec* extracting 1d spec for order [24]
@Cham: *extract_1dspec* extracting 1d spec for order [25]
@Cham: *extract_1dspec* extracting 1d spec for order [26]
@Cham: *extract_1dspec* extracting 1d spec for order [27]
@Cham: *extract_1dspec* extracting 1d spec for order [28]
@Cham: *extract_1dspec* extracting 1d spec for order [29]
@Cham: *extract_1dspec* extracting 1d spec for order [30]
@Cham: *extract_1dspec* extracting 1d spec for order [31]
@Cham: *extract_1dspec* extracting 1d spec for order [32]
@Cham: *extract_1dspec* extracting 1d spec for order [33]
@Cham: *extract_1dspec* extracting 1d spec for order [34]
@Cham: *extract_1dspec* extracting 1d spec for order [35]
@Cham: *extract_1dspec* extracting 1d spec for order [36]
@Cham: *extract_1dspec* extracting 1d spec for order [37]
@Cham: *extract_1dspec* extracting 1d spec for order [38]
@Cham: *extract_1dspec* extracting 1d spec for order [39]
@Cham: *extract_1dspec* extracting 1d spec for order [40]
@Cham: *extract_1dspec* extracting 1d spec for order [41]
@Cham: *extract_1dspec* extracting 1d spec for order [42]
@Cham: *extract_1dspec* extracting 1d spec for order [43]
@Cham: *extract_1dspec* extracting 1d spec for order [44]
@Cham: *extract_1dspec* extracting 1d spec for order [45]
@Cham: *extract_1dspec* extracting 1d spec for order [46]
@Cham: *extract_1dspec* extracting 1d spec for order [47]
@Cham: *extract_1dspec* extracting 1d spec for order [48]
@Cham: *extract_1dspec* extracting 1d spec for order [49]
@Cham: *extract_1dspec* extracting 1d spec for order [50]
@Cham: *extract_1dspec* extracting 1d spec for order [51]
@Cham: *extract_1dspec* extracting 1d spec for order [52]
@Cham: *extract_1dspec* extracting 1d spec for order [53]
@Cham: *extract_1dspec* extracting 1d spec for order [54]
@Cham: *extract_1dspec* extracting 1d spec for order [55]
@Cham: *extract_1dspec* extracting 1d spec for order [56]
@Cham: *extract_1dspec* extracting 1d spec for order [57]
@Cham: *extract_1dspec* extracting 1d spec for order [58]
@Cham: *extract_1dspec* extracting 1d spec for order [59]
@Cham: *extract_1dspec* extracting 1d spec for order [60]
@Cham: *extract_1dspec* extracting 1d spec for order [61]
@Cham: *extract_1dspec* extracting 1d spec for order [62]
@Cham: *extract_1dspec* extracting 1d spec for order [63]
@Cham: *extract_1dspec* extracting 1d spec for order [64]
@Cham: *extract_1dspec* extracting 1d spec for order [65]
@Cham: *extract_1dspec* extracting 1d spec for order [66]
@Cham: *extract_1dspec* extracting 1d spec for order [67]
@Cham: *extract_1dspec* extracting 1d spec for order [68]
@Cham: *extract_1dspec* extracting 1d spec for order [69]
@Cham: *extract_1dspec* extracting 1d spec for order [70]
@Cham: *extract_1dspec* extracting 1d spec for order [71]
@Cham: *extract_1dspec* extracting 1d spec for order [72]
@Cham: *extract_1dspec* extracting 1d spec for order [73]
@Cham: *extract_1dspec* extracting 1d spec for order [74]
@Cham: *extract_1dspec* extracting 1d spec for order [75]
@Cham: *extract_1dspec* extracting 1d spec for order [76]
@Cham: *extract_1dspec* extracting 1d spec for order [77]
@Cham: *extract_1dspec* extracting 1d spec for order [78]
@Cham: *extract_1dspec* extracting 1d spec for order [79]
@Cham: *extract_1dspec* extracting 1d spec for order [80]
@Cham: *extract_1dspec* extracting 1d spec for order [81]
@Cham: *extract_1dspec* extracting 1d spec for order [82]
@Cham: *extract_1dspec* extracting 1d spec for order [83]
@Cham: *extract_1dspec* extracting 1d spec for order [84]
@Cham: *extract_1dspec* extracting 1d spec for order [85]
@Cham: *extract_1dspec* extracting 1d spec for order [86]
@Cham: *extract_1dspec* extracting 1d spec for order [87]
@Cham: *extract_1dspec* extracting 1d spec for order [88]
@Cham: *extract_1dspec* extracting 1d spec for order [89]
@Cham: *extract_1dspec* extracting 1d spec for order [90]
@Cham: *extract_1dspec* extracting 1d spec for order [91]
@Cham: *extract_1dspec* extracting 1d spec for order [92]
@Cham: *extract_1dspec* extracting 1d spec for order [93]
@Cham: *extract_1dspec* extracting 1d spec for order [94]
@Cham: *extract_1dspec* extracting 1d spec for order [95]
@Cham: *extract_1dspec* extracting 1d spec for order [96]
@Cham: *extract_1dspec* extracting 1d spec for order [97]
@Cham: *extract_1dspec* extracting 1d spec for order [98]
@Cham: *extract_1dspec* extracting 1d spec for order [99]
@Cham: *extract_1dspec* extracting 1d spec for order [100]
@Cham: *extract_1dspec* extracting 1d spec for order [101]
@Cham: *extract_1dspec* extracting 1d spec for order [102]
@Cham: *extract_1dspec* extracting 1d spec for order [103]

4. Process ThAr

bias substraction


In [11]:
ind_thar1 = (logt['obj']=='thar')*(logt['exp_time']==30)
ind_thar2 = (logt['obj']=='thar')*(logt['exp_time']==60)
ind_thar3 = (logt['obj']=='thar')*(logt['exp_time']==120)

thar1 = ccdproc.combine(','.join(logt['filename'][ind_thar1]), unit='adu', method='average')
thar2 = ccdproc.combine(','.join(logt['filename'][ind_thar2]), unit='adu', method='average')
thar3 = ccdproc.CCDData.read(','.join(logt['filename'][ind_thar3]), unit='adu', method='average')

thar1_bias = ccdproc.subtract_bias(thar1, bias)
thar2_bias = ccdproc.subtract_bias(thar2, bias)
thar3_bias = ccdproc.subtract_bias(thar3, bias)

thar1_bias_trim = ccdproc.trim_image(thar1_bias[:, :4096])
thar2_bias_trim = ccdproc.trim_image(thar2_bias[:, :4096])
thar3_bias_trim = ccdproc.trim_image(thar3_bias[:, :4096])


INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]
INFO: splitting each image into 1 chunks to limit memory usage to 16000000000.0 bytes. [ccdproc.combiner]

combine & trim


In [13]:
""" combine thar """
thar_list = [thar1_bias_trim, thar2_bias_trim, thar3_bias_trim]
thar_comb, thar_origin = hrs.combine_flat(thar_list, ap_uorder_interp, sat_count=45000, p=100)
thar_comb = ccdproc.CCDData(thar_comb, unit='adu')

""" extract 1d thar """
#thar_comb_sl = substract_scattered_light(thar_comb, ap_uorder_interp, ap_width=10, shrink=.5)
thar1d = hrs.extract_1dspec(thar_comb, ap_uorder_interp, ap_width=7)[0]
thar1d_scaled = thar1d/flat1d


@Cham: marking pixels of order [0]
@Cham: marking pixels of order [1]
@Cham: marking pixels of order [2]
@Cham: marking pixels of order [3]
@Cham: marking pixels of order [4]
@Cham: marking pixels of order [5]
@Cham: marking pixels of order [6]
@Cham: marking pixels of order [7]
@Cham: marking pixels of order [8]
@Cham: marking pixels of order [9]
@Cham: marking pixels of order [10]
@Cham: marking pixels of order [11]
@Cham: marking pixels of order [12]
@Cham: marking pixels of order [13]
@Cham: marking pixels of order [14]
@Cham: marking pixels of order [15]
@Cham: marking pixels of order [16]
@Cham: marking pixels of order [17]
@Cham: marking pixels of order [18]
@Cham: marking pixels of order [19]
@Cham: marking pixels of order [20]
@Cham: marking pixels of order [21]
@Cham: marking pixels of order [22]
@Cham: marking pixels of order [23]
@Cham: marking pixels of order [24]
@Cham: marking pixels of order [25]
@Cham: marking pixels of order [26]
@Cham: marking pixels of order [27]
@Cham: marking pixels of order [28]
@Cham: marking pixels of order [29]
@Cham: marking pixels of order [30]
@Cham: marking pixels of order [31]
@Cham: marking pixels of order [32]
@Cham: marking pixels of order [33]
@Cham: marking pixels of order [34]
@Cham: marking pixels of order [35]
@Cham: marking pixels of order [36]
@Cham: marking pixels of order [37]
@Cham: marking pixels of order [38]
@Cham: marking pixels of order [39]
@Cham: marking pixels of order [40]
@Cham: marking pixels of order [41]
@Cham: marking pixels of order [42]
@Cham: marking pixels of order [43]
@Cham: marking pixels of order [44]
@Cham: marking pixels of order [45]
@Cham: marking pixels of order [46]
@Cham: marking pixels of order [47]
@Cham: marking pixels of order [48]
@Cham: marking pixels of order [49]
@Cham: marking pixels of order [50]
@Cham: marking pixels of order [51]
@Cham: marking pixels of order [52]
@Cham: marking pixels of order [53]
@Cham: marking pixels of order [54]
@Cham: marking pixels of order [55]
@Cham: marking pixels of order [56]
@Cham: marking pixels of order [57]
@Cham: marking pixels of order [58]
@Cham: marking pixels of order [59]
@Cham: marking pixels of order [60]
@Cham: marking pixels of order [61]
@Cham: marking pixels of order [62]
@Cham: marking pixels of order [63]
@Cham: marking pixels of order [64]
@Cham: marking pixels of order [65]
@Cham: marking pixels of order [66]
@Cham: marking pixels of order [67]
@Cham: marking pixels of order [68]
@Cham: marking pixels of order [69]
@Cham: marking pixels of order [70]
@Cham: marking pixels of order [71]
@Cham: marking pixels of order [72]
@Cham: marking pixels of order [73]
@Cham: marking pixels of order [74]
@Cham: marking pixels of order [75]
@Cham: marking pixels of order [76]
@Cham: marking pixels of order [77]
@Cham: marking pixels of order [78]
@Cham: marking pixels of order [79]
@Cham: marking pixels of order [80]
@Cham: marking pixels of order [81]
@Cham: marking pixels of order [82]
@Cham: marking pixels of order [83]
@Cham: marking pixels of order [84]
@Cham: marking pixels of order [85]
@Cham: marking pixels of order [86]
@Cham: marking pixels of order [87]
@Cham: marking pixels of order [88]
@Cham: marking pixels of order [89]
@Cham: marking pixels of order [90]
@Cham: marking pixels of order [91]
@Cham: marking pixels of order [92]
@Cham: marking pixels of order [93]
@Cham: marking pixels of order [94]
@Cham: marking pixels of order [95]
@Cham: marking pixels of order [96]
@Cham: marking pixels of order [97]
@Cham: marking pixels of order [98]
@Cham: marking pixels of order [99]
@Cham: marking pixels of order [100]
@Cham: marking pixels of order [101]
@Cham: marking pixels of order [102]
@Cham: marking pixels of order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: finding maximum value for order [0]
@Cham: finding maximum value for order [1]
@Cham: finding maximum value for order [2]
@Cham: finding maximum value for order [3]
@Cham: finding maximum value for order [4]
@Cham: finding maximum value for order [5]
@Cham: finding maximum value for order [6]
@Cham: finding maximum value for order [7]
@Cham: finding maximum value for order [8]
@Cham: finding maximum value for order [9]
@Cham: finding maximum value for order [10]
@Cham: finding maximum value for order [11]
@Cham: finding maximum value for order [12]
@Cham: finding maximum value for order [13]
@Cham: finding maximum value for order [14]
@Cham: finding maximum value for order [15]
@Cham: finding maximum value for order [16]
@Cham: finding maximum value for order [17]
@Cham: finding maximum value for order [18]
@Cham: finding maximum value for order [19]
@Cham: finding maximum value for order [20]
@Cham: finding maximum value for order [21]
@Cham: finding maximum value for order [22]
@Cham: finding maximum value for order [23]
@Cham: finding maximum value for order [24]
@Cham: finding maximum value for order [25]
@Cham: finding maximum value for order [26]
@Cham: finding maximum value for order [27]
@Cham: finding maximum value for order [28]
@Cham: finding maximum value for order [29]
@Cham: finding maximum value for order [30]
@Cham: finding maximum value for order [31]
@Cham: finding maximum value for order [32]
@Cham: finding maximum value for order [33]
@Cham: finding maximum value for order [34]
@Cham: finding maximum value for order [35]
@Cham: finding maximum value for order [36]
@Cham: finding maximum value for order [37]
@Cham: finding maximum value for order [38]
@Cham: finding maximum value for order [39]
@Cham: finding maximum value for order [40]
@Cham: finding maximum value for order [41]
@Cham: finding maximum value for order [42]
@Cham: finding maximum value for order [43]
@Cham: finding maximum value for order [44]
@Cham: finding maximum value for order [45]
@Cham: finding maximum value for order [46]
@Cham: finding maximum value for order [47]
@Cham: finding maximum value for order [48]
@Cham: finding maximum value for order [49]
@Cham: finding maximum value for order [50]
@Cham: finding maximum value for order [51]
@Cham: finding maximum value for order [52]
@Cham: finding maximum value for order [53]
@Cham: finding maximum value for order [54]
@Cham: finding maximum value for order [55]
@Cham: finding maximum value for order [56]
@Cham: finding maximum value for order [57]
@Cham: finding maximum value for order [58]
@Cham: finding maximum value for order [59]
@Cham: finding maximum value for order [60]
@Cham: finding maximum value for order [61]
@Cham: finding maximum value for order [62]
@Cham: finding maximum value for order [63]
@Cham: finding maximum value for order [64]
@Cham: finding maximum value for order [65]
@Cham: finding maximum value for order [66]
@Cham: finding maximum value for order [67]
@Cham: finding maximum value for order [68]
@Cham: finding maximum value for order [69]
@Cham: finding maximum value for order [70]
@Cham: finding maximum value for order [71]
@Cham: finding maximum value for order [72]
@Cham: finding maximum value for order [73]
@Cham: finding maximum value for order [74]
@Cham: finding maximum value for order [75]
@Cham: finding maximum value for order [76]
@Cham: finding maximum value for order [77]
@Cham: finding maximum value for order [78]
@Cham: finding maximum value for order [79]
@Cham: finding maximum value for order [80]
@Cham: finding maximum value for order [81]
@Cham: finding maximum value for order [82]
@Cham: finding maximum value for order [83]
@Cham: finding maximum value for order [84]
@Cham: finding maximum value for order [85]
@Cham: finding maximum value for order [86]
@Cham: finding maximum value for order [87]
@Cham: finding maximum value for order [88]
@Cham: finding maximum value for order [89]
@Cham: finding maximum value for order [90]
@Cham: finding maximum value for order [91]
@Cham: finding maximum value for order [92]
@Cham: finding maximum value for order [93]
@Cham: finding maximum value for order [94]
@Cham: finding maximum value for order [95]
@Cham: finding maximum value for order [96]
@Cham: finding maximum value for order [97]
@Cham: finding maximum value for order [98]
@Cham: finding maximum value for order [99]
@Cham: finding maximum value for order [100]
@Cham: finding maximum value for order [101]
@Cham: finding maximum value for order [102]
@Cham: finding maximum value for order [103]
@Cham: filling data: image [2] --> uorder [-2]
@Cham: filling data: image [1] --> uorder [-1]
@Cham: filling data: image [0] --> uorder [0]
@Cham: filling data: image [0] --> uorder [1]
@Cham: filling data: image [0] --> uorder [2]
@Cham: filling data: image [0] --> uorder [3]
@Cham: filling data: image [0] --> uorder [4]
@Cham: filling data: image [0] --> uorder [5]
@Cham: filling data: image [0] --> uorder [6]
@Cham: filling data: image [0] --> uorder [7]
@Cham: filling data: image [0] --> uorder [8]
@Cham: filling data: image [0] --> uorder [9]
@Cham: filling data: image [0] --> uorder [10]
@Cham: filling data: image [0] --> uorder [11]
@Cham: filling data: image [0] --> uorder [12]
@Cham: filling data: image [0] --> uorder [13]
@Cham: filling data: image [0] --> uorder [14]
@Cham: filling data: image [0] --> uorder [15]
@Cham: filling data: image [0] --> uorder [16]
@Cham: filling data: image [0] --> uorder [17]
@Cham: filling data: image [0] --> uorder [18]
@Cham: filling data: image [0] --> uorder [19]
@Cham: filling data: image [0] --> uorder [20]
@Cham: filling data: image [0] --> uorder [21]
@Cham: filling data: image [0] --> uorder [22]
@Cham: filling data: image [0] --> uorder [23]
@Cham: filling data: image [0] --> uorder [24]
@Cham: filling data: image [0] --> uorder [25]
@Cham: filling data: image [0] --> uorder [26]
@Cham: filling data: image [0] --> uorder [27]
@Cham: filling data: image [0] --> uorder [28]
@Cham: filling data: image [0] --> uorder [29]
@Cham: filling data: image [0] --> uorder [30]
@Cham: filling data: image [1] --> uorder [31]
@Cham: filling data: image [0] --> uorder [32]
@Cham: filling data: image [1] --> uorder [33]
@Cham: filling data: image [2] --> uorder [34]
@Cham: filling data: image [2] --> uorder [35]
@Cham: filling data: image [2] --> uorder [36]
@Cham: filling data: image [2] --> uorder [37]
@Cham: filling data: image [2] --> uorder [38]
@Cham: filling data: image [2] --> uorder [39]
@Cham: filling data: image [2] --> uorder [40]
@Cham: filling data: image [2] --> uorder [41]
@Cham: filling data: image [2] --> uorder [42]
@Cham: filling data: image [2] --> uorder [43]
@Cham: filling data: image [2] --> uorder [44]
@Cham: filling data: image [2] --> uorder [45]
@Cham: filling data: image [2] --> uorder [46]
@Cham: filling data: image [2] --> uorder [47]
@Cham: filling data: image [2] --> uorder [48]
@Cham: filling data: image [2] --> uorder [49]
@Cham: filling data: image [2] --> uorder [50]
@Cham: filling data: image [2] --> uorder [51]
@Cham: filling data: image [2] --> uorder [52]
@Cham: filling data: image [1] --> uorder [53]
@Cham: filling data: image [1] --> uorder [54]
@Cham: filling data: image [1] --> uorder [55]
@Cham: filling data: image [1] --> uorder [56]
@Cham: filling data: image [1] --> uorder [57]
@Cham: filling data: image [2] --> uorder [58]
@Cham: filling data: image [2] --> uorder [59]
@Cham: filling data: image [2] --> uorder [60]
@Cham: filling data: image [2] --> uorder [61]
@Cham: filling data: image [2] --> uorder [62]
@Cham: filling data: image [2] --> uorder [63]
@Cham: filling data: image [2] --> uorder [64]
@Cham: filling data: image [2] --> uorder [65]
@Cham: filling data: image [1] --> uorder [66]
@Cham: filling data: image [2] --> uorder [67]
@Cham: filling data: image [2] --> uorder [68]
@Cham: filling data: image [1] --> uorder [69]
@Cham: filling data: image [2] --> uorder [70]
@Cham: filling data: image [2] --> uorder [71]
@Cham: filling data: image [2] --> uorder [72]
@Cham: filling data: image [2] --> uorder [73]
@Cham: filling data: image [2] --> uorder [74]
@Cham: filling data: image [2] --> uorder [75]
@Cham: filling data: image [2] --> uorder [76]
@Cham: filling data: image [2] --> uorder [77]
@Cham: filling data: image [2] --> uorder [78]
@Cham: filling data: image [2] --> uorder [79]
@Cham: filling data: image [2] --> uorder [80]
@Cham: filling data: image [2] --> uorder [81]
@Cham: filling data: image [2] --> uorder [82]
@Cham: filling data: image [2] --> uorder [83]
@Cham: filling data: image [2] --> uorder [84]
@Cham: filling data: image [2] --> uorder [85]
@Cham: filling data: image [2] --> uorder [86]
@Cham: filling data: image [2] --> uorder [87]
@Cham: filling data: image [2] --> uorder [88]
@Cham: filling data: image [2] --> uorder [89]
@Cham: filling data: image [0] --> uorder [90]
@Cham: filling data: image [1] --> uorder [91]
@Cham: filling data: image [0] --> uorder [92]
@Cham: filling data: image [0] --> uorder [93]
@Cham: filling data: image [0] --> uorder [94]
@Cham: filling data: image [1] --> uorder [95]
@Cham: filling data: image [1] --> uorder [96]
@Cham: filling data: image [1] --> uorder [97]
@Cham: filling data: image [2] --> uorder [98]
@Cham: filling data: image [1] --> uorder [99]
@Cham: filling data: image [1] --> uorder [100]
@Cham: filling data: image [2] --> uorder [101]
@Cham: filling data: image [2] --> uorder [102]
@Cham: filling data: image [1] --> uorder [103]
@Cham: *extract_1dspec* extracting 1d spec for order [0]
@Cham: *extract_1dspec* extracting 1d spec for order [1]
@Cham: *extract_1dspec* extracting 1d spec for order [2]
@Cham: *extract_1dspec* extracting 1d spec for order [3]
@Cham: *extract_1dspec* extracting 1d spec for order [4]
@Cham: *extract_1dspec* extracting 1d spec for order [5]
@Cham: *extract_1dspec* extracting 1d spec for order [6]
@Cham: *extract_1dspec* extracting 1d spec for order [7]
@Cham: *extract_1dspec* extracting 1d spec for order [8]
@Cham: *extract_1dspec* extracting 1d spec for order [9]
@Cham: *extract_1dspec* extracting 1d spec for order [10]
@Cham: *extract_1dspec* extracting 1d spec for order [11]
@Cham: *extract_1dspec* extracting 1d spec for order [12]
@Cham: *extract_1dspec* extracting 1d spec for order [13]
@Cham: *extract_1dspec* extracting 1d spec for order [14]
@Cham: *extract_1dspec* extracting 1d spec for order [15]
@Cham: *extract_1dspec* extracting 1d spec for order [16]
@Cham: *extract_1dspec* extracting 1d spec for order [17]
@Cham: *extract_1dspec* extracting 1d spec for order [18]
@Cham: *extract_1dspec* extracting 1d spec for order [19]
@Cham: *extract_1dspec* extracting 1d spec for order [20]
@Cham: *extract_1dspec* extracting 1d spec for order [21]
@Cham: *extract_1dspec* extracting 1d spec for order [22]
@Cham: *extract_1dspec* extracting 1d spec for order [23]
@Cham: *extract_1dspec* extracting 1d spec for order [24]
@Cham: *extract_1dspec* extracting 1d spec for order [25]
@Cham: *extract_1dspec* extracting 1d spec for order [26]
@Cham: *extract_1dspec* extracting 1d spec for order [27]
@Cham: *extract_1dspec* extracting 1d spec for order [28]
@Cham: *extract_1dspec* extracting 1d spec for order [29]
@Cham: *extract_1dspec* extracting 1d spec for order [30]
@Cham: *extract_1dspec* extracting 1d spec for order [31]
@Cham: *extract_1dspec* extracting 1d spec for order [32]
@Cham: *extract_1dspec* extracting 1d spec for order [33]
@Cham: *extract_1dspec* extracting 1d spec for order [34]
@Cham: *extract_1dspec* extracting 1d spec for order [35]
@Cham: *extract_1dspec* extracting 1d spec for order [36]
@Cham: *extract_1dspec* extracting 1d spec for order [37]
@Cham: *extract_1dspec* extracting 1d spec for order [38]
@Cham: *extract_1dspec* extracting 1d spec for order [39]
@Cham: *extract_1dspec* extracting 1d spec for order [40]
@Cham: *extract_1dspec* extracting 1d spec for order [41]
@Cham: *extract_1dspec* extracting 1d spec for order [42]
@Cham: *extract_1dspec* extracting 1d spec for order [43]
@Cham: *extract_1dspec* extracting 1d spec for order [44]
@Cham: *extract_1dspec* extracting 1d spec for order [45]
@Cham: *extract_1dspec* extracting 1d spec for order [46]
@Cham: *extract_1dspec* extracting 1d spec for order [47]
@Cham: *extract_1dspec* extracting 1d spec for order [48]
@Cham: *extract_1dspec* extracting 1d spec for order [49]
@Cham: *extract_1dspec* extracting 1d spec for order [50]
@Cham: *extract_1dspec* extracting 1d spec for order [51]
@Cham: *extract_1dspec* extracting 1d spec for order [52]
@Cham: *extract_1dspec* extracting 1d spec for order [53]
@Cham: *extract_1dspec* extracting 1d spec for order [54]
@Cham: *extract_1dspec* extracting 1d spec for order [55]
@Cham: *extract_1dspec* extracting 1d spec for order [56]
@Cham: *extract_1dspec* extracting 1d spec for order [57]
@Cham: *extract_1dspec* extracting 1d spec for order [58]
@Cham: *extract_1dspec* extracting 1d spec for order [59]
@Cham: *extract_1dspec* extracting 1d spec for order [60]
@Cham: *extract_1dspec* extracting 1d spec for order [61]
@Cham: *extract_1dspec* extracting 1d spec for order [62]
@Cham: *extract_1dspec* extracting 1d spec for order [63]
@Cham: *extract_1dspec* extracting 1d spec for order [64]
@Cham: *extract_1dspec* extracting 1d spec for order [65]
@Cham: *extract_1dspec* extracting 1d spec for order [66]
@Cham: *extract_1dspec* extracting 1d spec for order [67]
@Cham: *extract_1dspec* extracting 1d spec for order [68]
@Cham: *extract_1dspec* extracting 1d spec for order [69]
@Cham: *extract_1dspec* extracting 1d spec for order [70]
@Cham: *extract_1dspec* extracting 1d spec for order [71]
@Cham: *extract_1dspec* extracting 1d spec for order [72]
@Cham: *extract_1dspec* extracting 1d spec for order [73]
@Cham: *extract_1dspec* extracting 1d spec for order [74]
@Cham: *extract_1dspec* extracting 1d spec for order [75]
@Cham: *extract_1dspec* extracting 1d spec for order [76]
@Cham: *extract_1dspec* extracting 1d spec for order [77]
@Cham: *extract_1dspec* extracting 1d spec for order [78]
@Cham: *extract_1dspec* extracting 1d spec for order [79]
@Cham: *extract_1dspec* extracting 1d spec for order [80]
@Cham: *extract_1dspec* extracting 1d spec for order [81]
@Cham: *extract_1dspec* extracting 1d spec for order [82]
@Cham: *extract_1dspec* extracting 1d spec for order [83]
@Cham: *extract_1dspec* extracting 1d spec for order [84]
@Cham: *extract_1dspec* extracting 1d spec for order [85]
@Cham: *extract_1dspec* extracting 1d spec for order [86]
@Cham: *extract_1dspec* extracting 1d spec for order [87]
@Cham: *extract_1dspec* extracting 1d spec for order [88]
@Cham: *extract_1dspec* extracting 1d spec for order [89]
@Cham: *extract_1dspec* extracting 1d spec for order [90]
@Cham: *extract_1dspec* extracting 1d spec for order [91]
@Cham: *extract_1dspec* extracting 1d spec for order [92]
@Cham: *extract_1dspec* extracting 1d spec for order [93]
@Cham: *extract_1dspec* extracting 1d spec for order [94]
@Cham: *extract_1dspec* extracting 1d spec for order [95]
@Cham: *extract_1dspec* extracting 1d spec for order [96]
@Cham: *extract_1dspec* extracting 1d spec for order [97]
@Cham: *extract_1dspec* extracting 1d spec for order [98]
@Cham: *extract_1dspec* extracting 1d spec for order [99]
@Cham: *extract_1dspec* extracting 1d spec for order [100]
@Cham: *extract_1dspec* extracting 1d spec for order [101]
@Cham: *extract_1dspec* extracting 1d spec for order [102]
@Cham: *extract_1dspec* extracting 1d spec for order [103]

5. Wavelength calibration

initial estimation


In [15]:
# laod template thar
thar_temp_path = '/home/cham/PycharmProjects/hrs/hrs/calibration/thar_template/thar_temp_w20160120022t.fits'
wave_temp, thar_temp, order_temp = hrs.load_thar_temp(thar_temp_path)

# fix thar
thar1d_fixed = hrs.fix_thar_sat_neg(thar1d, arm=30, sat_count=500000)
thar_temp_fixed = hrs.fix_thar_sat_neg(thar_temp, arm=30, sat_count=500000)

""" initial estimation of wavelength """
shift, corr2d = hrs.thar_corr2d(thar1d_fixed, thar_temp, ytrim=(30, 70), y_shiftmax = 3, x_shiftmax=20)
print ("@Cham: the shift is ", shift)

wave_init = hrs.interpolate_wavelength_shift(wave_temp, shift, thar_temp, thar1d_fixed)
order_init = hrs.interpolate_order_shift(order_temp, shift, thar1d_fixed)


@Cham: computing 2D cross-correlation...
('@Cham: the shift is ', (array([-2]), array([0])))

refine wavelength


In [20]:
thar_list = np.loadtxt('/home/cham/PycharmProjects/hrs/hrs/calibration/iraf/thar.dat')
poly_order = (3, 5)

# refine thar positions
lc_coord, lc_order, lc_thar, popt, pcov = hrs.calibration.refine_thar_positions(
        wave_init, order_init, thar1d_fixed, thar_list, n_jobs=20, verbose=10)

# fit grating function    
x_mini_lsq, ind_good_thar, scaler_coord, scaler_order, scaler_ml = hrs.calibration.fit_grating_equation(
    lc_coord, lc_order, lc_thar, popt, pcov, poly_order=(3, 5), max_dev_threshold=1., iter=False)
    
# recover the wavelength (grid)
grid_coord = np.repeat(np.arange(wave_init.shape[1]).reshape(1,-1), 104, axis=0)
grid_order = order_init
wave_fitted =  hrs.calibration.grating_equation_predict(
    grid_coord, grid_order, x_mini_lsq, poly_order, scaler_coord, scaler_order, scaler_ml)

# recover the wavelength (thar)
lc_fitted = hrs.grating_equation_predict(
    lc_coord, lc_order, x_mini_lsq, poly_order, scaler_coord, scaler_order, scaler_ml)
lc_fitted_diff = lc_fitted - lc_thar


@Cham: refine ThAr positions ...
[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed:    1.1s
[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed:    1.6s
[Parallel(n_jobs=20)]: Done  32 tasks      | elapsed:    3.7s
[Parallel(n_jobs=20)]: Done  45 tasks      | elapsed:    4.9s
[Parallel(n_jobs=20)]: Done  58 tasks      | elapsed:    8.2s
[Parallel(n_jobs=20)]: Done  76 out of 104 | elapsed:   12.9s remaining:    4.8s
[Parallel(n_jobs=20)]: Done  87 out of 104 | elapsed:   14.9s remaining:    2.9s
[Parallel(n_jobs=20)]: Done  98 out of 104 | elapsed:   17.0s remaining:    1.0s
[Parallel(n_jobs=20)]: Done 104 out of 104 | elapsed:   17.9s finished
103
102
101
100
99

In [25]:
""" residual check zoom in """
%matplotlib inline
fig = plt.figure(figsize=(16,8));
ax = fig.add_subplot(221)
ax.plot(lc_order,lc_fitted-lc_thar, 'b+', alpha=.8)
ax.plot(lc_order[ind_good_thar],lc_fitted[ind_good_thar]-lc_thar[ind_good_thar], 'r+', alpha=.8)
plt.xlabel("Order")
plt.axis([61, 161, -0.1, 0.1])

ax = fig.add_subplot(222)
ax.plot(lc_coord,lc_fitted-lc_thar, 'b+', alpha=.8)
ax.plot(lc_coord[ind_good_thar],lc_fitted[ind_good_thar]-lc_thar[ind_good_thar], 'r+', alpha=.8)
plt.xlabel("CCD X Coordinate")
plt.xticks(np.arange(5)*1024)
plt.axis([0, 4096, -0.1, 0.1])

ax = fig.add_subplot(212)
ax.plot(lc_thar,lc_fitted-lc_thar, 'b+', alpha=.8)
ax.plot(lc_thar[ind_good_thar],lc_fitted[ind_good_thar]-lc_thar[ind_good_thar], 'r+', alpha=.8)
plt.xlabel("True ThAr wavelength")
plt.axis([3700, 10000, -0.1, 0.1])

fig.tight_layout()
fig.show()


6. Process Science frames


In [27]:
"""
Master variables:
    bias
    ap_uorder_interp
    flat1d
    wave_fitted
"""

# 1. read
sci = ccdproc.CCDData.read(logt['filename'][41], unit='adu')

# 2. BIAS correction
sci_bias = ccdproc.subtract_bias(sci, bias)

# 3. trim 
sci_bias_trim = ccdproc.trim_image(sci_bias[:, :4096])

# 4. scattered light correction
sci_bias_trim_sl = hrs.substract_scattered_light(sci_bias_trim, ap_uorder_interp, ap_width=10, shrink=.85)

# 5. extract 1D spectra
spec1d = hrs.extract_1dspec(sci_bias_trim_sl, ap_uorder_interp, ap_width=7)[0]

# 6. de-blaze
spec1d_db = spec1d/flat1d

# 7. roughly scale to 1.
spec1d_nm = spec1d_db/np.percentile(spec1d_db, 95, axis=1)[:, None]


@Cham: *find_inter_order* marking pixels of order [0]
@Cham: *find_inter_order* marking pixels of order [1]
@Cham: *find_inter_order* marking pixels of order [2]
@Cham: *find_inter_order* marking pixels of order [3]
@Cham: *find_inter_order* marking pixels of order [4]
@Cham: *find_inter_order* marking pixels of order [5]
@Cham: *find_inter_order* marking pixels of order [6]
@Cham: *find_inter_order* marking pixels of order [7]
@Cham: *find_inter_order* marking pixels of order [8]
@Cham: *find_inter_order* marking pixels of order [9]
@Cham: *find_inter_order* marking pixels of order [10]
@Cham: *find_inter_order* marking pixels of order [11]
@Cham: *find_inter_order* marking pixels of order [12]
@Cham: *find_inter_order* marking pixels of order [13]
@Cham: *find_inter_order* marking pixels of order [14]
@Cham: *find_inter_order* marking pixels of order [15]
@Cham: *find_inter_order* marking pixels of order [16]
@Cham: *find_inter_order* marking pixels of order [17]
@Cham: *find_inter_order* marking pixels of order [18]
@Cham: *find_inter_order* marking pixels of order [19]
@Cham: *find_inter_order* marking pixels of order [20]
@Cham: *find_inter_order* marking pixels of order [21]
@Cham: *find_inter_order* marking pixels of order [22]
@Cham: *find_inter_order* marking pixels of order [23]
@Cham: *find_inter_order* marking pixels of order [24]
@Cham: *find_inter_order* marking pixels of order [25]
@Cham: *find_inter_order* marking pixels of order [26]
@Cham: *find_inter_order* marking pixels of order [27]
@Cham: *find_inter_order* marking pixels of order [28]
@Cham: *find_inter_order* marking pixels of order [29]
@Cham: *find_inter_order* marking pixels of order [30]
@Cham: *find_inter_order* marking pixels of order [31]
@Cham: *find_inter_order* marking pixels of order [32]
@Cham: *find_inter_order* marking pixels of order [33]
@Cham: *find_inter_order* marking pixels of order [34]
@Cham: *find_inter_order* marking pixels of order [35]
@Cham: *find_inter_order* marking pixels of order [36]
@Cham: *find_inter_order* marking pixels of order [37]
@Cham: *find_inter_order* marking pixels of order [38]
@Cham: *find_inter_order* marking pixels of order [39]
@Cham: *find_inter_order* marking pixels of order [40]
@Cham: *find_inter_order* marking pixels of order [41]
@Cham: *find_inter_order* marking pixels of order [42]
@Cham: *find_inter_order* marking pixels of order [43]
@Cham: *find_inter_order* marking pixels of order [44]
@Cham: *find_inter_order* marking pixels of order [45]
@Cham: *find_inter_order* marking pixels of order [46]
@Cham: *find_inter_order* marking pixels of order [47]
@Cham: *find_inter_order* marking pixels of order [48]
@Cham: *find_inter_order* marking pixels of order [49]
@Cham: *find_inter_order* marking pixels of order [50]
@Cham: *find_inter_order* marking pixels of order [51]
@Cham: *find_inter_order* marking pixels of order [52]
@Cham: *find_inter_order* marking pixels of order [53]
@Cham: *find_inter_order* marking pixels of order [54]
@Cham: *find_inter_order* marking pixels of order [55]
@Cham: *find_inter_order* marking pixels of order [56]
@Cham: *find_inter_order* marking pixels of order [57]
@Cham: *find_inter_order* marking pixels of order [58]
@Cham: *find_inter_order* marking pixels of order [59]
@Cham: *find_inter_order* marking pixels of order [60]
@Cham: *find_inter_order* marking pixels of order [61]
@Cham: *find_inter_order* marking pixels of order [62]
@Cham: *find_inter_order* marking pixels of order [63]
@Cham: *find_inter_order* marking pixels of order [64]
@Cham: *find_inter_order* marking pixels of order [65]
@Cham: *find_inter_order* marking pixels of order [66]
@Cham: *find_inter_order* marking pixels of order [67]
@Cham: *find_inter_order* marking pixels of order [68]
@Cham: *find_inter_order* marking pixels of order [69]
@Cham: *find_inter_order* marking pixels of order [70]
@Cham: *find_inter_order* marking pixels of order [71]
@Cham: *find_inter_order* marking pixels of order [72]
@Cham: *find_inter_order* marking pixels of order [73]
@Cham: *find_inter_order* marking pixels of order [74]
@Cham: *find_inter_order* marking pixels of order [75]
@Cham: *find_inter_order* marking pixels of order [76]
@Cham: *find_inter_order* marking pixels of order [77]
@Cham: *find_inter_order* marking pixels of order [78]
@Cham: *find_inter_order* marking pixels of order [79]
@Cham: *find_inter_order* marking pixels of order [80]
@Cham: *find_inter_order* marking pixels of order [81]
@Cham: *find_inter_order* marking pixels of order [82]
@Cham: *find_inter_order* marking pixels of order [83]
@Cham: *find_inter_order* marking pixels of order [84]
@Cham: *find_inter_order* marking pixels of order [85]
@Cham: *find_inter_order* marking pixels of order [86]
@Cham: *find_inter_order* marking pixels of order [87]
@Cham: *find_inter_order* marking pixels of order [88]
@Cham: *find_inter_order* marking pixels of order [89]
@Cham: *find_inter_order* marking pixels of order [90]
@Cham: *find_inter_order* marking pixels of order [91]
@Cham: *find_inter_order* marking pixels of order [92]
@Cham: *find_inter_order* marking pixels of order [93]
@Cham: *find_inter_order* marking pixels of order [94]
@Cham: *find_inter_order* marking pixels of order [95]
@Cham: *find_inter_order* marking pixels of order [96]
@Cham: *find_inter_order* marking pixels of order [97]
@Cham: *find_inter_order* marking pixels of order [98]
@Cham: *find_inter_order* marking pixels of order [99]
@Cham: *find_inter_order* marking pixels of order [100]
@Cham: *find_inter_order* marking pixels of order [101]
@Cham: *find_inter_order* marking pixels of order [102]
@Cham: *substract_scattered_light* interpolating scattered light ...
@Cham: *substract_scattered_light* smoothing scattered light ...
@Cham: *extract_1dspec* extracting 1d spec for order [0]
@Cham: *extract_1dspec* extracting 1d spec for order [1]
@Cham: *extract_1dspec* extracting 1d spec for order [2]
@Cham: *extract_1dspec* extracting 1d spec for order [3]
@Cham: *extract_1dspec* extracting 1d spec for order [4]
@Cham: *extract_1dspec* extracting 1d spec for order [5]
@Cham: *extract_1dspec* extracting 1d spec for order [6]
@Cham: *extract_1dspec* extracting 1d spec for order [7]
@Cham: *extract_1dspec* extracting 1d spec for order [8]
@Cham: *extract_1dspec* extracting 1d spec for order [9]
@Cham: *extract_1dspec* extracting 1d spec for order [10]
@Cham: *extract_1dspec* extracting 1d spec for order [11]
@Cham: *extract_1dspec* extracting 1d spec for order [12]
@Cham: *extract_1dspec* extracting 1d spec for order [13]
@Cham: *extract_1dspec* extracting 1d spec for order [14]
@Cham: *extract_1dspec* extracting 1d spec for order [15]
@Cham: *extract_1dspec* extracting 1d spec for order [16]
@Cham: *extract_1dspec* extracting 1d spec for order [17]
@Cham: *extract_1dspec* extracting 1d spec for order [18]
@Cham: *extract_1dspec* extracting 1d spec for order [19]
@Cham: *extract_1dspec* extracting 1d spec for order [20]
@Cham: *extract_1dspec* extracting 1d spec for order [21]
@Cham: *extract_1dspec* extracting 1d spec for order [22]
@Cham: *extract_1dspec* extracting 1d spec for order [23]
@Cham: *extract_1dspec* extracting 1d spec for order [24]
@Cham: *extract_1dspec* extracting 1d spec for order [25]
@Cham: *extract_1dspec* extracting 1d spec for order [26]
@Cham: *extract_1dspec* extracting 1d spec for order [27]
@Cham: *extract_1dspec* extracting 1d spec for order [28]
@Cham: *extract_1dspec* extracting 1d spec for order [29]
@Cham: *extract_1dspec* extracting 1d spec for order [30]
@Cham: *extract_1dspec* extracting 1d spec for order [31]
@Cham: *extract_1dspec* extracting 1d spec for order [32]
@Cham: *extract_1dspec* extracting 1d spec for order [33]
@Cham: *extract_1dspec* extracting 1d spec for order [34]
@Cham: *extract_1dspec* extracting 1d spec for order [35]
@Cham: *extract_1dspec* extracting 1d spec for order [36]
@Cham: *extract_1dspec* extracting 1d spec for order [37]
@Cham: *extract_1dspec* extracting 1d spec for order [38]
@Cham: *extract_1dspec* extracting 1d spec for order [39]
@Cham: *extract_1dspec* extracting 1d spec for order [40]
@Cham: *extract_1dspec* extracting 1d spec for order [41]
@Cham: *extract_1dspec* extracting 1d spec for order [42]
@Cham: *extract_1dspec* extracting 1d spec for order [43]
@Cham: *extract_1dspec* extracting 1d spec for order [44]
@Cham: *extract_1dspec* extracting 1d spec for order [45]
@Cham: *extract_1dspec* extracting 1d spec for order [46]
@Cham: *extract_1dspec* extracting 1d spec for order [47]
@Cham: *extract_1dspec* extracting 1d spec for order [48]
@Cham: *extract_1dspec* extracting 1d spec for order [49]
@Cham: *extract_1dspec* extracting 1d spec for order [50]
@Cham: *extract_1dspec* extracting 1d spec for order [51]
@Cham: *extract_1dspec* extracting 1d spec for order [52]
@Cham: *extract_1dspec* extracting 1d spec for order [53]
@Cham: *extract_1dspec* extracting 1d spec for order [54]
@Cham: *extract_1dspec* extracting 1d spec for order [55]
@Cham: *extract_1dspec* extracting 1d spec for order [56]
@Cham: *extract_1dspec* extracting 1d spec for order [57]
@Cham: *extract_1dspec* extracting 1d spec for order [58]
@Cham: *extract_1dspec* extracting 1d spec for order [59]
@Cham: *extract_1dspec* extracting 1d spec for order [60]
@Cham: *extract_1dspec* extracting 1d spec for order [61]
@Cham: *extract_1dspec* extracting 1d spec for order [62]
@Cham: *extract_1dspec* extracting 1d spec for order [63]
@Cham: *extract_1dspec* extracting 1d spec for order [64]
@Cham: *extract_1dspec* extracting 1d spec for order [65]
@Cham: *extract_1dspec* extracting 1d spec for order [66]
@Cham: *extract_1dspec* extracting 1d spec for order [67]
@Cham: *extract_1dspec* extracting 1d spec for order [68]
@Cham: *extract_1dspec* extracting 1d spec for order [69]
@Cham: *extract_1dspec* extracting 1d spec for order [70]
@Cham: *extract_1dspec* extracting 1d spec for order [71]
@Cham: *extract_1dspec* extracting 1d spec for order [72]
@Cham: *extract_1dspec* extracting 1d spec for order [73]
@Cham: *extract_1dspec* extracting 1d spec for order [74]
@Cham: *extract_1dspec* extracting 1d spec for order [75]
@Cham: *extract_1dspec* extracting 1d spec for order [76]
@Cham: *extract_1dspec* extracting 1d spec for order [77]
@Cham: *extract_1dspec* extracting 1d spec for order [78]
@Cham: *extract_1dspec* extracting 1d spec for order [79]
@Cham: *extract_1dspec* extracting 1d spec for order [80]
@Cham: *extract_1dspec* extracting 1d spec for order [81]
@Cham: *extract_1dspec* extracting 1d spec for order [82]
@Cham: *extract_1dspec* extracting 1d spec for order [83]
@Cham: *extract_1dspec* extracting 1d spec for order [84]
@Cham: *extract_1dspec* extracting 1d spec for order [85]
@Cham: *extract_1dspec* extracting 1d spec for order [86]
@Cham: *extract_1dspec* extracting 1d spec for order [87]
@Cham: *extract_1dspec* extracting 1d spec for order [88]
@Cham: *extract_1dspec* extracting 1d spec for order [89]
@Cham: *extract_1dspec* extracting 1d spec for order [90]
@Cham: *extract_1dspec* extracting 1d spec for order [91]
@Cham: *extract_1dspec* extracting 1d spec for order [92]
@Cham: *extract_1dspec* extracting 1d spec for order [93]
@Cham: *extract_1dspec* extracting 1d spec for order [94]
@Cham: *extract_1dspec* extracting 1d spec for order [95]
@Cham: *extract_1dspec* extracting 1d spec for order [96]
@Cham: *extract_1dspec* extracting 1d spec for order [97]
@Cham: *extract_1dspec* extracting 1d spec for order [98]
@Cham: *extract_1dspec* extracting 1d spec for order [99]
@Cham: *extract_1dspec* extracting 1d spec for order [100]
@Cham: *extract_1dspec* extracting 1d spec for order [101]
@Cham: *extract_1dspec* extracting 1d spec for order [102]
@Cham: *extract_1dspec* extracting 1d spec for order [103]

In [32]:
plt.figure(figsize=(16, 5))
plt.plot(wave_fitted.T, spec1d_nm.T);
plt.xlim(5900, 6000)
plt.ylim(-0.1, 1.2)


Out[32]:
(-0.1, 1.2)

In [ ]: