From d5302d9efa826de47337fdaed76e6a104bc7d6d3 Mon Sep 17 00:00:00 2001 From: Robert Lupton the Good Date: Mon, 22 Apr 2019 08:32:47 -0500 Subject: [PATCH] Support a YamlCamera for HSC --- policy/.gitignore | 1 + policy/0.yaml | 519 +++++++++++++++++++++++++++++++++++ policy/1.yaml | 519 +++++++++++++++++++++++++++++++++++ policy/SConscript | 40 +++ policy/cameraHeader.yaml | 324 ++++++++++++++++++++++ policy/cameraTransforms.yaml | 41 +++ policy/ccdData.yaml | 2 + policy/rafts.yaml | 126 +++++++++ 8 files changed, 1572 insertions(+) create mode 100644 policy/.gitignore create mode 100644 policy/0.yaml create mode 100644 policy/1.yaml create mode 100644 policy/SConscript create mode 100644 policy/cameraHeader.yaml create mode 100644 policy/cameraTransforms.yaml create mode 100644 policy/ccdData.yaml create mode 100644 policy/rafts.yaml diff --git a/policy/.gitignore b/policy/.gitignore new file mode 100644 index 000000000..e268752c3 --- /dev/null +++ b/policy/.gitignore @@ -0,0 +1 @@ +hsc.yaml diff --git a/policy/0.yaml b/policy/0.yaml new file mode 100644 index 000000000..ae806718e --- /dev/null +++ b/policy/0.yaml @@ -0,0 +1,519 @@ +'0' : + detectorType : HAMAMATSU + raftSerial : R0 + + ccdSerials : + '30' : 'SER16' + '29' : 'SER17' + '28' : 'SER18' + '27' : 'SER22' + '26' : 'SER23' + '25' : 'SER24' + '24' : 'SER25' + '23' : 'SER30' + '22' : 'SER31' + '21' : 'SER32' + '20' : 'SER33' + '19' : 'SER38' + '18' : 'SER39' + '17' : 'SER40' + '16' : 'SER41' + '15' : 'SER46' + '14' : 'SER47' + '13' : 'SER48' + '12' : 'SER49' + '11' : 'SER54' + '10' : 'SER55' + '09' : 'SER56' + '08' : 'SER57' + '07' : 'SER62' + '06' : 'SER63' + '05' : 'SER64' + '04' : 'SER65' + '03' : 'SER70' + '02' : 'SER71' + '01' : 'SER72' + '00' : 'SER73' + '34' : 'SER78' + '33' : 'SER79' + '32' : 'SER80' + '41' : 'SER84' + '40' : 'SER85' + '39' : 'SER86' + '38' : 'SER87' + '37' : 'SER88' + '36' : 'SER89' + '47' : 'SER90' + '46' : 'SER91' + '45' : 'SER92' + '44' : 'SER93' + '43' : 'SER94' + '42' : 'SER95' + '56' : 'SER96' + '55' : 'SER97' + '54' : 'SER98' + '53' : 'SER99' + '31' : 'SER100' + '35' : 'SER102' + '57' : 'SER108' + '52' : 'SER109' + '51' : 'SER110' + '48' : 'SER111' + + sensorTypes : # this should be moved to rafts.yaml and generateCamera.py should be updated + '57' : FOCUS + '52' : FOCUS + '51' : FOCUS + '48' : FOCUS + + geometryWithinRaft: + '30' : + offset : [0.0594, 0.0236] + yaw : -0.0179 + '29' : + offset : [0.0470, 0.0291] + yaw : -0.0210 + '28' : + offset : [0.0301, 0.0137] + yaw : -0.0113 + '27' : + offset : [0.0139, 0.0018] + yaw : -0.0043 + '26' : + offset : [-0.0459, -0.0192] + yaw : 0.0220 + '25' : + offset : [-0.0507, 0.0330] + yaw : 0.0305 + '24' : + offset : [-0.0354, -0.0314] + yaw : 0.0186 + '23' : + offset : [0.0114, 0.0071] + yaw : 0.0201 + '22' : + offset : [0.0442, -0.0027] + yaw : -0.0253 + '21' : + offset : [0.0507, -0.0535] + yaw : 0.0080 + '20' : + offset : [-0.0138, -0.0085] + yaw : 0.0296 + '19' : + offset : [-0.0305, 0.0082] + yaw : -0.0003 + '18' : + offset : [0.0054, -0.0392] + yaw : -0.0269 + '17' : + offset : [-0.0267, 0.0295] + yaw : -0.0091 + '16' : + offset : [-0.0453, -0.0409] + yaw : 0.0079 + '15' : + offset : [0.0243, 0.0160] + yaw : -0.0070 + '14' : + offset : [0.0447, -0.0282] + yaw : 0.0071 + '13' : + offset : [0.0099, 0.0397] + yaw : -0.0035 + '12' : + offset : [-0.0042, -0.0136] + yaw : 0.0073 + '11' : + offset : [-0.0391, 0.0253] + yaw : -0.0202 + '10' : + offset : [-0.0247, -0.0361] + yaw : -0.0315 + '09' : + offset : [0.0401, 0.0147] + yaw : 0.0011 + '08' : + offset : [-0.0426, 0.0019] + yaw : -0.0346 + '07' : + offset : [-0.0229, 0.0170] + yaw : 0.0153 + '06' : + offset : [0.0152, -0.0266] + yaw : -0.0008 + '05' : + offset : [0.0066, 0.0054] + yaw : -0.0148 + '04' : + offset : [-0.0110, -0.0284] + yaw : -0.0101 + '03' : + offset : [-0.0017, -0.0055] + yaw : -0.0620 + '02' : + offset : [-0.0505, -0.0315] + yaw : 0.0004 + '01' : + offset : [0.0224, 0.0148] + yaw : 0.0023 + '00' : + offset : [-0.0338, -0.0022] + yaw : 0.0099 + '34' : + offset : [-0.0397, 0.0018] + yaw : 0.0401 + '33' : + offset : [-0.0292, -0.0009] + yaw : 0.0196 + '32' : + offset : [-0.0259, -0.0388] + yaw : -0.0063 + '41' : + offset : [0.0162, -0.0363] + yaw : 0.0384 + '40' : + offset : [0.0197, 0.0152] + yaw : 0.0117 + '39' : + offset : [0.0351, -0.0625] + yaw : -0.0016 + '38' : + offset : [0.0699, -0.0459] + yaw : -0.0365 + '37' : + offset : [0.0415, -0.0219] + yaw : -0.0261 + '36' : + offset : [0.0175, 0.0436] + yaw : -0.0137 + '47' : + offset : [-0.0317, 0.0325] + yaw : 0.0045 + '46' : + offset : [-0.0223, 0.0147] + yaw : 0.0334 + '45' : + offset : [-0.0337, 0.0499] + yaw : 0.0010 + '44' : + offset : [-0.0027, 0.0260] + yaw : -0.0256 + '43' : + offset : [-0.0429, -0.0455] + yaw : -0.0058 + '42' : + offset : [0.0508, 0.0361] + yaw : -0.0061 + '56' : + offset : [0.0240, 0.0204] + yaw : 0.0016 + '55' : + offset : [0.0259, -0.0505] + yaw : 0.0013 + '54' : + offset : [0.0448, 0.0055] + yaw : -0.0423 + '53' : + offset : [0.0411, -0.0592] + yaw : -0.0440 + '31' : + offset : [-0.0239, 0.0374] + yaw : -0.0113 + '35' : + offset : [-0.0224, -0.0469] + yaw : 0.0297 + '57' : + offset : [0.0339, 0.5964] + yaw : 0.0000 + '52' : + offset : [0.0339, 0.6132] + yaw : 0.0000 + '51' : + offset : [-0.0018, 0.6038] + yaw : 0.0000 + '48' : + offset : [-0.0018, 0.5896] + yaw : 0.0000 + + amplifiers: + '30' : + A0 : {gain : 3.7430, readNoise : 1.56, saturation : 48500 } + A1 : {gain : 3.6459, readNoise : 1.55, saturation : 48500 } + A2 : {gain : 3.5879, readNoise : 1.71, saturation : 48500 } + A3 : {gain : 3.5248, readNoise : 1.72, saturation : 48500 } + '29' : + A0 : {gain : 3.3771, readNoise : 1.55, saturation : 55000 } + A1 : {gain : 3.4122, readNoise : 1.57, saturation : 55000 } + A2 : {gain : 3.3818, readNoise : 1.82, saturation : 55000 } + A3 : {gain : 3.4246, readNoise : 1.74, saturation : 55000 } + '28' : + A0 : {gain : 3.6675, readNoise : 1.39, saturation : 49500 } + A1 : {gain : 3.6478, readNoise : 1.46, saturation : 49500 } + A2 : {gain : 3.6674, readNoise : 1.42, saturation : 49500 } + A3 : {gain : 4.8096, readNoise : 1.34, saturation : 39500 } + '27' : + A0 : {gain : 4.0108, readNoise : 1.48, saturation : 39000 } + A1 : {gain : 4.1789, readNoise : 1.47, saturation : 39000 } + A2 : {gain : 4.1640, readNoise : 1.58, saturation : 39000 } + A3 : {gain : 4.1089, readNoise : 1.57, saturation : 39000 } + '26' : + A0 : {gain : 3.4311, readNoise : 1.50, saturation : 50000 } + A1 : {gain : 3.4982, readNoise : 1.60, saturation : 50000 } + A2 : {gain : 3.6575, readNoise : 1.59, saturation : 50000 } + A3 : {gain : 3.6190, readNoise : 1.70, saturation : 50000 } + '25' : + A0 : {gain : 3.5397, readNoise : 1.66, saturation : 52000 } + A1 : {gain : 3.4463, readNoise : 1.57, saturation : 52000 } + A2 : {gain : 3.3666, readNoise : 1.95, saturation : 52000 } + A3 : {gain : 3.4027, readNoise : 1.69, saturation : 52000 } + '24' : + A0 : {gain : 3.6623, readNoise : 1.38, saturation : 51000 } + A1 : {gain : 3.6113, readNoise : 1.50, saturation : 51000 } + A2 : {gain : 3.5542, readNoise : 1.39, saturation : 51000 } + A3 : {gain : 3.5547, readNoise : 1.49, saturation : 51000 } + '23' : + A0 : {gain : 3.6852, readNoise : 1.52, saturation : 48000 } + A1 : {gain : 3.5346, readNoise : 1.69, saturation : 48000 } + A2 : {gain : 3.5048, readNoise : 1.86, saturation : 48000 } + A3 : {gain : 3.5941, readNoise : 1.65, saturation : 48000 } + '22' : + A0 : {gain : 3.4972, readNoise : 1.62, saturation : 52000 } + A1 : {gain : 3.4192, readNoise : 1.67, saturation : 52000 } + A2 : {gain : 3.4315, readNoise : 1.74, saturation : 52000 } + A3 : {gain : 3.5786, readNoise : 1.76, saturation : 52000 } + '21' : + A0 : {gain : 4.1764, readNoise : 1.52, saturation : 45000 } + A1 : {gain : 3.9905, readNoise : 1.75, saturation : 45000 } + A2 : {gain : 4.0414, readNoise : 1.75, saturation : 45000 } + A3 : {gain : 3.9232, readNoise : 1.81, saturation : 45000 } + '20' : + A0 : {gain : 3.6177, readNoise : 1.57, saturation : 49000 } + A1 : {gain : 3.7089, readNoise : 1.45, saturation : 49000 } + A2 : {gain : 3.5542, readNoise : 1.53, saturation : 49000 } + A3 : {gain : 3.6315, readNoise : 1.47, saturation : 49000 } + '19' : + A0 : {gain : 3.5176, readNoise : 1.49, saturation : 52000 } + A1 : {gain : 3.5802, readNoise : 1.54, saturation : 52000 } + A2 : {gain : 3.4294, readNoise : 1.82, saturation : 52000 } + A3 : {gain : 3.5904, readNoise : 1.94, saturation : 52000 } + '18' : + A0 : {gain : 3.3525, readNoise : 1.58, saturation : 55000 } + A1 : {gain : 3.3915, readNoise : 1.61, saturation : 55000 } + A2 : {gain : 3.3761, readNoise : 1.86, saturation : 55000 } + A3 : {gain : 3.4485, readNoise : 1.82, saturation : 55000 } + '17' : + A0 : {gain : 3.3695, readNoise : 1.60, saturation : 55000 } + A1 : {gain : 3.4810, readNoise : 1.72, saturation : 55000 } + A2 : {gain : 3.4087, readNoise : 1.99, saturation : 55000 } + A3 : {gain : 3.4190, readNoise : 1.89, saturation : 55000 } + '16' : + A0 : {gain : 3.6126, readNoise : 1.45, saturation : 48000 } + A1 : {gain : 3.6638, readNoise : 1.47, saturation : 48000 } + A2 : {gain : 3.6969, readNoise : 1.41, saturation : 48000 } + A3 : {gain : 3.7518, readNoise : 1.74, saturation : 48000 } + '15' : + A0 : {gain : 3.9854, readNoise : 1.53, saturation : 45500 } + A1 : {gain : 4.0760, readNoise : 1.51, saturation : 45500 } + A2 : {gain : 4.0109, readNoise : 1.71, saturation : 45500 } + A3 : {gain : 4.2024, readNoise : 1.76, saturation : 45500 } + '14' : + A0 : {gain : 3.3579, readNoise : 1.61, saturation : 51000 } + A1 : {gain : 3.5747, readNoise : 1.60, saturation : 51000 } + A2 : {gain : 3.6535, readNoise : 1.64, saturation : 51000 } + A3 : {gain : 3.5840, readNoise : 1.73, saturation : 51000 } + '13' : + A0 : {gain : 3.4362, readNoise : 1.57, saturation : 55000 } + A1 : {gain : 3.4420, readNoise : 1.77, saturation : 55000 } + A2 : {gain : 3.4081, readNoise : 1.71, saturation : 55000 } + A3 : {gain : 3.4557, readNoise : 1.80, saturation : 55000 } + '12' : + A0 : {gain : 3.6664, readNoise : 1.42, saturation : 48500 } + A1 : {gain : 3.5893, readNoise : 1.42, saturation : 48500 } + A2 : {gain : 3.4973, readNoise : 1.44, saturation : 48500 } + A3 : {gain : 3.4956, readNoise : 1.49, saturation : 48500 } + '11' : + A0 : {gain : 4.0956, readNoise : 1.50, saturation : 46000 } + A1 : {gain : 4.0372, readNoise : 1.53, saturation : 46000 } + A2 : {gain : 3.9997, readNoise : 1.62, saturation : 46000 } + A3 : {gain : 3.8727, readNoise : 1.67, saturation : 46000 } + '10' : + A0 : {gain : 3.3652, readNoise : 1.62, saturation : 55000 } + A1 : {gain : 3.2922, readNoise : 1.60, saturation : 55000 } + A2 : {gain : 3.3499, readNoise : 1.64, saturation : 55000 } + A3 : {gain : 3.4548, readNoise : 1.73, saturation : 55000 } + '09' : + A0 : {gain : 3.7129, readNoise : 1.54, saturation : 50000 } + A1 : {gain : 3.6167, readNoise : 1.68, saturation : 50000 } + A2 : {gain : 3.5726, readNoise : 1.80, saturation : 50000 } + A3 : {gain : 3.3898, readNoise : 1.91, saturation : 50000 } + '08' : + A0 : {gain : 3.5473, readNoise : 1.42, saturation : 51000 } + A1 : {gain : 3.5862, readNoise : 1.43, saturation : 51000 } + A2 : {gain : 3.5173, readNoise : 1.44, saturation : 51000 } + A3 : {gain : 3.5326, readNoise : 1.47, saturation : 51000 } + '07' : + A0 : {gain : 3.5347, readNoise : 1.56, saturation : 50000 } + A1 : {gain : 3.3952, readNoise : 1.57, saturation : 50000 } + A2 : {gain : 3.5172, readNoise : 1.72, saturation : 50000 } + A3 : {gain : 3.5641, readNoise : 1.84, saturation : 50000 } + '06' : + A0 : {gain : 3.9209, readNoise : 1.53, saturation : 45000 } + A1 : {gain : 3.9650, readNoise : 1.62, saturation : 45000 } + A2 : {gain : 4.0174, readNoise : 1.64, saturation : 45000 } + A3 : {gain : 4.0330, readNoise : 1.66, saturation : 45000 } + '05' : + A0 : {gain : 3.5861, readNoise : 1.55, saturation : 49000 } + A1 : {gain : 3.6431, readNoise : 1.61, saturation : 49000 } + A2 : {gain : 3.6012, readNoise : 1.68, saturation : 49000 } + A3 : {gain : 3.5822, readNoise : 1.90, saturation : 49000 } + '04' : + A0 : {gain : 4.1845, readNoise : 1.39, saturation : 43000 } + A1 : {gain : 4.3031, readNoise : 1.46, saturation : 43000 } + A2 : {gain : 4.3020, readNoise : 1.42, saturation : 43000 } + A3 : {gain : 4.2607, readNoise : 1.42, saturation : 43000 } + '03' : + A0 : {gain : 3.6968, readNoise : 1.54, saturation : 47000 } + A1 : {gain : 3.5811, readNoise : 1.50, saturation : 47000 } + A2 : {gain : 3.6060, readNoise : 1.58, saturation : 47000 } + A3 : {gain : 3.5445, readNoise : 1.62, saturation : 47000 } + '02' : + A0 : {gain : 3.5863, readNoise : 1.44, saturation : 50500 } + A1 : {gain : 3.4424, readNoise : 1.57, saturation : 50500 } + A2 : {gain : 3.3541, readNoise : 1.66, saturation : 50500 } + A3 : {gain : 3.3098, readNoise : 1.78, saturation : 50500 } + '01' : + A0 : {gain : 3.3832, readNoise : 1.52, saturation : 51500 } + A1 : {gain : 3.3351, readNoise : 1.68, saturation : 51500 } + A2 : {gain : 3.2788, readNoise : 1.73, saturation : 51500 } + A3 : {gain : 3.6075, readNoise : 1.67, saturation : 51500 } + '00' : + A0 : {gain : 4.2097, readNoise : 1.36, saturation : 44000 } + A1 : {gain : 4.0540, readNoise : 1.43, saturation : 44000 } + A2 : {gain : 3.9717, readNoise : 1.46, saturation : 44000 } + A3 : {gain : 3.9878, readNoise : 1.43, saturation : 44000 } + '34' : + A0 : {gain : 3.6720, readNoise : 1.59, saturation : 40000 } + A1 : {gain : 4.0952, readNoise : 1.56, saturation : 40000 } + A2 : {gain : 4.4608, readNoise : 1.60, saturation : 40000 } + A3 : {gain : 4.0158, readNoise : 1.64, saturation : 40000 } + '33' : + A0 : {gain : 4.0036, readNoise : 1.54, saturation : 43500 } + A1 : {gain : 4.1340, readNoise : 1.58, saturation : 43500 } + A2 : {gain : 4.2509, readNoise : 1.62, saturation : 43500 } + A3 : {gain : 4.1673, readNoise : 1.58, saturation : 43500 } + '32' : + A0 : {gain : 3.4687, readNoise : 1.53, saturation : 47500 } + A1 : {gain : 3.6662, readNoise : 1.51, saturation : 47500 } + A2 : {gain : 3.6074, readNoise : 1.56, saturation : 47500 } + A3 : {gain : 3.6418, readNoise : 1.65, saturation : 47500 } + '41' : + A0 : {gain : 3.4125, readNoise : 1.50, saturation : 52000 } + A1 : {gain : 3.5046, readNoise : 1.63, saturation : 52000 } + A2 : {gain : 3.5024, readNoise : 1.57, saturation : 52000 } + A3 : {gain : 3.4391, readNoise : 1.67, saturation : 52000 } + '40' : + A0 : {gain : 4.1682, readNoise : 1.38, saturation : 44000 } + A1 : {gain : 3.9704, readNoise : 1.46, saturation : 46500 } + A2 : {gain : 3.8654, readNoise : 1.44, saturation : 46500 } + A3 : {gain : 3.9271, readNoise : 1.45, saturation : 46500 } + '39' : + A0 : {gain : 3.5263, readNoise : 1.46, saturation : 55000 } + A1 : {gain : 3.4846, readNoise : 1.55, saturation : 55000 } + A2 : {gain : 3.3779, readNoise : 1.67, saturation : 55000 } + A3 : {gain : 3.3687, readNoise : 1.58, saturation : 55000 } + '38' : + A0 : {gain : 3.6285, readNoise : 1.42, saturation : 51000 } + A1 : {gain : 3.4686, readNoise : 1.54, saturation : 51000 } + A2 : {gain : 3.4998, readNoise : 1.53, saturation : 51000 } + A3 : {gain : 3.6743, readNoise : 1.52, saturation : 51000 } + '37' : + A0 : {gain : 3.3134, readNoise : 1.50, saturation : 49000 } + A1 : {gain : 3.3293, readNoise : 1.64, saturation : 49000 } + A2 : {gain : 3.3244, readNoise : 1.68, saturation : 49000 } + A3 : {gain : 3.4237, readNoise : 1.69, saturation : 49000 } + '36' : + A0 : {gain : 3.6075, readNoise : 1.39, saturation : 49500 } + A1 : {gain : 3.6268, readNoise : 1.50, saturation : 49500 } + A2 : {gain : 3.6013, readNoise : 1.46, saturation : 49500 } + A3 : {gain : 3.5537, readNoise : 1.76, saturation : 49500 } + '47' : + A0 : {gain : 3.6091, readNoise : 1.49, saturation : 46500 } + A1 : {gain : 3.6579, readNoise : 1.48, saturation : 46500 } + A2 : {gain : 3.6938, readNoise : 1.59, saturation : 46500 } + A3 : {gain : 3.7052, readNoise : 1.70, saturation : 46500 } + '46' : + A0 : {gain : 3.4250, readNoise : 1.48, saturation : 53000 } + A1 : {gain : 3.3902, readNoise : 1.43, saturation : 53000 } + A2 : {gain : 3.2615, readNoise : 1.46, saturation : 53000 } + A3 : {gain : 3.1804, readNoise : 1.60, saturation : 53000 } + '45' : + A0 : {gain : 3.7141, readNoise : 1.55, saturation : 48000 } + A1 : {gain : 3.6591, readNoise : 1.40, saturation : 48000 } + A2 : {gain : 3.5420, readNoise : 1.63, saturation : 48000 } + A3 : {gain : 3.6293, readNoise : 1.80, saturation : 48000 } + '44' : + A0 : {gain : 3.3960, readNoise : 1.44, saturation : 50000 } + A1 : {gain : 3.6077, readNoise : 1.51, saturation : 50000 } + A2 : {gain : 3.5174, readNoise : 1.61, saturation : 50000 } + A3 : {gain : 3.6305, readNoise : 1.67, saturation : 50000 } + '43' : + A0 : {gain : 3.4800, readNoise : 1.51, saturation : 55000 } + A1 : {gain : 3.3571, readNoise : 1.62, saturation : 55000 } + A2 : {gain : 3.4854, readNoise : 1.85, saturation : 55000 } + A3 : {gain : 3.3186, readNoise : 1.84, saturation : 55000 } + '42' : + A0 : {gain : 4.0050, readNoise : 1.43, saturation : 45000 } + A1 : {gain : 4.0688, readNoise : 1.44, saturation : 45000 } + A2 : {gain : 3.9911, readNoise : 1.44, saturation : 45000 } + A3 : {gain : 3.9804, readNoise : 1.48, saturation : 45000 } + '56' : + A0 : {gain : 3.4931, readNoise : 1.41, saturation : 50000 } + A1 : {gain : 3.6141, readNoise : 1.46, saturation : 50000 } + A2 : {gain : 3.5797, readNoise : 1.47, saturation : 50000 } + A3 : {gain : 3.5656, readNoise : 1.47, saturation : 50000 } + '55' : + A0 : {gain : 3.6161, readNoise : 1.48, saturation : 51000 } + A1 : {gain : 3.6126, readNoise : 1.46, saturation : 51000 } + A2 : {gain : 3.4366, readNoise : 1.57, saturation : 51000 } + A3 : {gain : 3.2555, readNoise : 1.60, saturation : 51000 } + '54' : + A0 : {gain : 3.4641, readNoise : 1.46, saturation : 51000 } + A1 : {gain : 3.3127, readNoise : 1.53, saturation : 51000 } + A2 : {gain : 3.2820, readNoise : 1.65, saturation : 51000 } + A3 : {gain : 3.2724, readNoise : 1.58, saturation : 51000 } + '53' : + A0 : {gain : 4.4115, readNoise : 1.39, saturation : 40000 } + A1 : {gain : 3.5293, readNoise : 1.50, saturation : 40000 } + A2 : {gain : 3.5722, readNoise : 1.69, saturation : 40000 } + A3 : {gain : 3.5893, readNoise : 1.64, saturation : 40000 } + '31' : + A0 : {gain : 3.7434, readNoise : 1.65, saturation : 47500 } + A1 : {gain : 3.6152, readNoise : 1.63, saturation : 47500 } + A2 : {gain : 3.5929, readNoise : 1.45, saturation : 47500 } + A3 : {gain : 3.6272, readNoise : 1.42, saturation : 47500 } + '35' : + A0 : {gain : 3.8229, readNoise : 1.72, saturation : 44000 } + A1 : {gain : 3.9344, readNoise : 1.61, saturation : 44000 } + A2 : {gain : 3.9308, readNoise : 1.53, saturation : 44000 } + A3 : {gain : 4.2350, readNoise : 1.44, saturation : 44000 } + '57' : + A0 : {gain : 3.3508, readNoise : 1.45, saturation : 55000 } + A1 : {gain : 3.3597, readNoise : 1.47, saturation : 55000 } + A2 : {gain : 3.3779, readNoise : 1.45, saturation : 55000 } + A3 : {gain : 3.5293, readNoise : 1.50, saturation : 55000 } + '52' : + A0 : {gain : 3.4689, readNoise : 1.38, saturation : 55000 } + A1 : {gain : 3.3610, readNoise : 1.51, saturation : 55000 } + A2 : {gain : 3.4321, readNoise : 1.42, saturation : 55000 } + A3 : {gain : 3.4181, readNoise : 1.43, saturation : 55000 } + '51' : + A0 : {gain : 3.3427, readNoise : 1.63, saturation : 55000 } + A1 : {gain : 3.4856, readNoise : 1.87, saturation : 55000 } + A2 : {gain : 3.4176, readNoise : 2.29, saturation : 55000 } + A3 : {gain : 3.4788, readNoise : 2.89, saturation : 55000 } + '48' : + A0 : {gain : 3.4619, readNoise : 1.53, saturation : 55000 } + A1 : {gain : 3.4463, readNoise : 1.49, saturation : 55000 } + A2 : {gain : 3.4954, readNoise : 1.48, saturation : 55000 } + A3 : {gain : 3.5139, readNoise : 1.50, saturation : 55000 } diff --git a/policy/1.yaml b/policy/1.yaml new file mode 100644 index 000000000..692e61e98 --- /dev/null +++ b/policy/1.yaml @@ -0,0 +1,519 @@ +'1' : + detectorType : HAMAMATSU + raftSerial : R1 + + ccdSerials : + '53' : 'SER0' + '54' : 'SER1' + '55' : 'SER2' + '56' : 'SER3' + '42' : 'SER4' + '43' : 'SER5' + '44' : 'SER6' + '45' : 'SER7' + '46' : 'SER8' + '47' : 'SER9' + '36' : 'SER10' + '37' : 'SER11' + '38' : 'SER12' + '39' : 'SER13' + '40' : 'SER14' + '41' : 'SER15' + '32' : 'SER19' + '33' : 'SER20' + '34' : 'SER21' + '00' : 'SER26' + '01' : 'SER27' + '02' : 'SER28' + '03' : 'SER29' + '04' : 'SER34' + '05' : 'SER35' + '06' : 'SER36' + '07' : 'SER37' + '08' : 'SER42' + '09' : 'SER43' + '10' : 'SER44' + '11' : 'SER45' + '12' : 'SER50' + '13' : 'SER51' + '14' : 'SER52' + '15' : 'SER53' + '16' : 'SER58' + '17' : 'SER59' + '18' : 'SER60' + '19' : 'SER61' + '20' : 'SER66' + '21' : 'SER67' + '22' : 'SER68' + '23' : 'SER69' + '24' : 'SER74' + '25' : 'SER75' + '26' : 'SER76' + '27' : 'SER77' + '28' : 'SER81' + '29' : 'SER82' + '30' : 'SER83' + '35' : 'SER101' + '31' : 'SER103' + '48' : 'SER104' + '51' : 'SER105' + '52' : 'SER106' + '57' : 'SER107' + + sensorTypes : # this should be moved to rafts.yaml and generateCamera.py should be updated + '48' : FOCUS + '51' : FOCUS + '52' : FOCUS + '57' : FOCUS + + geometryWithinRaft: + '53' : + offset : [0.0162, -0.0393] + yaw : 0.0043 + '54' : + offset : [0.0187, 0.0393] + yaw : -0.0010 + '55' : + offset : [0.0241, -0.0380] + yaw : 0.0099 + '56' : + offset : [0.0135, 0.0249] + yaw : -0.0066 + '42' : + offset : [0.0478, 0.0369] + yaw : 0.0060 + '43' : + offset : [-0.0435, -0.0185] + yaw : -0.0196 + '44' : + offset : [-0.0360, 0.0261] + yaw : -0.0282 + '45' : + offset : [0.0111, 0.0441] + yaw : 0.0392 + '46' : + offset : [-0.0240, 0.0319] + yaw : -0.0249 + '47' : + offset : [-0.0300, 0.0652] + yaw : -0.0423 + '36' : + offset : [0.0141, 0.0481] + yaw : -0.0033 + '37' : + offset : [0.0409, -0.0372] + yaw : 0.0406 + '38' : + offset : [0.0124, -0.0144] + yaw : -0.0337 + '39' : + offset : [0.0033, -0.0283] + yaw : -0.0273 + '40' : + offset : [0.0686, 0.0037] + yaw : 0.0334 + '41' : + offset : [0.0315, -0.0388] + yaw : -0.0159 + '32' : + offset : [-0.0104, -0.0432] + yaw : 0.0136 + '33' : + offset : [-0.0371, 0.0237] + yaw : -0.0076 + '34' : + offset : [0.0313, -0.0806] + yaw : 0.0620 + '00' : + offset : [-0.0569, -0.0460] + yaw : -0.0107 + '01' : + offset : [0.0581, 0.0181] + yaw : 0.0169 + '02' : + offset : [-0.0017, -0.0607] + yaw : 0.0483 + '03' : + offset : [-0.0713, 0.0074] + yaw : -0.0076 + '04' : + offset : [-0.0094, -0.0453] + yaw : -0.0086 + '05' : + offset : [-0.0254, 0.0165] + yaw : -0.0178 + '06' : + offset : [0.0075, -0.0610] + yaw : 0.0003 + '07' : + offset : [-0.0124, 0.0116] + yaw : -0.0107 + '08' : + offset : [-0.0198, -0.0386] + yaw : 0.0158 + '09' : + offset : [0.0552, 0.0226] + yaw : 0.0265 + '10' : + offset : [-0.0352, -0.0240] + yaw : 0.0123 + '11' : + offset : [-0.0461, 0.0043] + yaw : 0.0071 + '12' : + offset : [0.0105, -0.0178] + yaw : 0.0515 + '13' : + offset : [0.0345, 0.0102] + yaw : 0.0535 + '14' : + offset : [-0.0022, -0.0041] + yaw : -0.0174 + '15' : + offset : [0.0184, -0.0047] + yaw : 0.0099 + '16' : + offset : [-0.0280, -0.0304] + yaw : 0.0056 + '17' : + offset : [-0.0236, 0.0385] + yaw : -0.0016 + '18' : + offset : [0.0027, -0.0203] + yaw : 0.0025 + '19' : + offset : [-0.0265, 0.0134] + yaw : 0.0089 + '20' : + offset : [0.0277, -0.0205] + yaw : 0.0012 + '21' : + offset : [0.0318, -0.0445] + yaw : -0.0083 + '22' : + offset : [0.0328, -0.0411] + yaw : 0.0090 + '23' : + offset : [0.0403, 0.0160] + yaw : -0.0224 + '24' : + offset : [-0.0131, -0.0082] + yaw : 0.0085 + '25' : + offset : [-0.0202, 0.0534] + yaw : 0.0022 + '26' : + offset : [-0.0332, -0.0001] + yaw : -0.0248 + '27' : + offset : [-0.0104, 0.0208] + yaw : 0.0024 + '28' : + offset : [0.0112, 0.0254] + yaw : -0.0002 + '29' : + offset : [0.0215, 0.0292] + yaw : 0.0186 + '30' : + offset : [0.0364, -0.0278] + yaw : 0.0078 + '35' : + offset : [-0.0241, -0.0460] + yaw : -0.0007 + '31' : + offset : [-0.0227, 0.0393] + yaw : 0.0183 + '48' : + offset : [-0.0346, -0.6038] + yaw : 0.0000 + '51' : + offset : [-0.0346, -0.5896] + yaw : 0.0000 + '52' : + offset : [0.0181, -0.5964] + yaw : 0.0000 + '57' : + offset : [0.0181, -0.6132] + yaw : 0.0000 + + amplifiers: + '53' : + A0 : {gain : 3.5118, readNoise : 1.56, saturation : 52000 } + A1 : {gain : 2.4617, readNoise : 1.53, saturation : 52000 } + A2 : {gain : 3.5089, readNoise : 1.53, saturation : 52000 } + A3 : {gain : 3.5495, readNoise : 1.72, saturation : 52000 } + '54' : + A0 : {gain : 3.4806, readNoise : 1.51, saturation : 52000 } + A1 : {gain : 3.4654, readNoise : 1.49, saturation : 52000 } + A2 : {gain : 3.3887, readNoise : 1.56, saturation : 52000 } + A3 : {gain : 3.4770, readNoise : 1.57, saturation : 52000 } + '55' : + A0 : {gain : 4.2467, readNoise : 1.38, saturation : 45000 } + A1 : {gain : 4.0574, readNoise : 1.49, saturation : 45000 } + A2 : {gain : 4.0085, readNoise : 1.54, saturation : 45000 } + A3 : {gain : 4.0065, readNoise : 1.71, saturation : 45000 } + '56' : + A0 : {gain : 3.6091, readNoise : 1.40, saturation : 50000 } + A1 : {gain : 3.6289, readNoise : 1.49, saturation : 50000 } + A2 : {gain : 3.5242, readNoise : 1.49, saturation : 50000 } + A3 : {gain : 3.5918, readNoise : 1.46, saturation : 50000 } + '42' : + A0 : {gain : 3.9351, readNoise : 1.40, saturation : 45000 } + A1 : {gain : 3.9913, readNoise : 1.36, saturation : 45000 } + A2 : {gain : 3.9616, readNoise : 1.41, saturation : 45000 } + A3 : {gain : 4.0744, readNoise : 1.43, saturation : 45000 } + '43' : + A0 : {gain : 3.5280, readNoise : 1.51, saturation : 48500 } + A1 : {gain : 3.6529, readNoise : 1.57, saturation : 48500 } + A2 : {gain : 3.6044, readNoise : 1.61, saturation : 48500 } + A3 : {gain : 3.6263, readNoise : 1.62, saturation : 48500 } + '44' : + A0 : {gain : 3.6108, readNoise : 1.49, saturation : 50000 } + A1 : {gain : 3.6409, readNoise : 1.57, saturation : 50000 } + A2 : {gain : 3.5754, readNoise : 1.57, saturation : 50000 } + A3 : {gain : 3.5318, readNoise : 1.58, saturation : 50000 } + '45' : + A0 : {gain : 3.5333, readNoise : 1.48, saturation : 51000 } + A1 : {gain : 3.6363, readNoise : 1.49, saturation : 51000 } + A2 : {gain : 3.5879, readNoise : 1.58, saturation : 51000 } + A3 : {gain : 3.5798, readNoise : 1.64, saturation : 51000 } + '46' : + A0 : {gain : 3.6401, readNoise : 1.43, saturation : 52000 } + A1 : {gain : 3.5708, readNoise : 1.43, saturation : 52000 } + A2 : {gain : 3.5970, readNoise : 1.43, saturation : 52000 } + A3 : {gain : 3.6521, readNoise : 1.50, saturation : 52000 } + '47' : + A0 : {gain : 3.5330, readNoise : 1.49, saturation : 49000 } + A1 : {gain : 3.5729, readNoise : 1.50, saturation : 49000 } + A2 : {gain : 3.4773, readNoise : 1.66, saturation : 49000 } + A3 : {gain : 3.5509, readNoise : 1.56, saturation : 49000 } + '36' : + A0 : {gain : 4.0693, readNoise : 1.42, saturation : 45000 } + A1 : {gain : 4.0580, readNoise : 1.41, saturation : 45000 } + A2 : {gain : 4.0932, readNoise : 1.39, saturation : 45000 } + A3 : {gain : 4.0788, readNoise : 1.43, saturation : 45000 } + '37' : + A0 : {gain : 3.5943, readNoise : 1.52, saturation : 49000 } + A1 : {gain : 3.6865, readNoise : 1.51, saturation : 49000 } + A2 : {gain : 3.6034, readNoise : 1.63, saturation : 49000 } + A3 : {gain : 3.7033, readNoise : 1.67, saturation : 49000 } + '38' : + A0 : {gain : 3.5874, readNoise : 1.49, saturation : 52500 } + A1 : {gain : 3.5323, readNoise : 1.53, saturation : 52500 } + A2 : {gain : 3.5920, readNoise : 1.60, saturation : 52500 } + A3 : {gain : 3.4052, readNoise : 1.74, saturation : 52500 } + '39' : + A0 : {gain : 3.5924, readNoise : 1.48, saturation : 50000 } + A1 : {gain : 3.7142, readNoise : 1.53, saturation : 50000 } + A2 : {gain : 3.6971, readNoise : 1.52, saturation : 50000 } + A3 : {gain : 3.6920, readNoise : 1.54, saturation : 50000 } + '40' : + A0 : {gain : 3.5169, readNoise : 1.47, saturation : 53000 } + A1 : {gain : 3.5761, readNoise : 1.50, saturation : 53000 } + A2 : {gain : 3.5784, readNoise : 1.47, saturation : 53000 } + A3 : {gain : 3.6089, readNoise : 1.54, saturation : 53000 } + '41' : + A0 : {gain : 3.4745, readNoise : 1.53, saturation : 52000 } + A1 : {gain : 3.5879, readNoise : 1.45, saturation : 52000 } + A2 : {gain : 3.5942, readNoise : 1.54, saturation : 52000 } + A3 : {gain : 3.6219, readNoise : 1.54, saturation : 52000 } + '32' : + A0 : {gain : 4.2931, readNoise : 1.52, saturation : 42000 } + A1 : {gain : 4.1028, readNoise : 1.56, saturation : 42000 } + A2 : {gain : 4.1015, readNoise : 1.46, saturation : 42000 } + A3 : {gain : 4.0497, readNoise : 1.53, saturation : 42000 } + '33' : + A0 : {gain : 4.0951, readNoise : 1.55, saturation : 45000 } + A1 : {gain : 4.2265, readNoise : 1.59, saturation : 45000 } + A2 : {gain : 4.2242, readNoise : 1.66, saturation : 45000 } + A3 : {gain : 4.1731, readNoise : 1.61, saturation : 45000 } + '34' : + A0 : {gain : 3.5503, readNoise : 1.78, saturation : 52000 } + A1 : {gain : 3.4786, readNoise : 1.63, saturation : 52000 } + A2 : {gain : 3.4501, readNoise : 1.72, saturation : 52000 } + A3 : {gain : 3.5623, readNoise : 1.72, saturation : 52000 } + '00' : + A0 : {gain : 4.2009, readNoise : 1.36, saturation : 44500 } + A1 : {gain : 4.1102, readNoise : 1.43, saturation : 44500 } + A2 : {gain : 4.0652, readNoise : 1.44, saturation : 44500 } + A3 : {gain : 4.0380, readNoise : 1.44, saturation : 44500 } + '01' : + A0 : {gain : 3.4271, readNoise : 1.65, saturation : 55000 } + A1 : {gain : 3.4766, readNoise : 1.68, saturation : 55000 } + A2 : {gain : 3.4194, readNoise : 1.97, saturation : 55000 } + A3 : {gain : 3.5167, readNoise : 1.99, saturation : 55000 } + '02' : + A0 : {gain : 4.2689, readNoise : 1.46, saturation : 45000 } + A1 : {gain : 3.9250, readNoise : 1.59, saturation : 45000 } + A2 : {gain : 3.9383, readNoise : 1.55, saturation : 45000 } + A3 : {gain : 3.9370, readNoise : 1.63, saturation : 45000 } + '03' : + A0 : {gain : 3.6933, readNoise : 1.66, saturation : 48000 } + A1 : {gain : 3.4925, readNoise : 1.50, saturation : 48000 } + A2 : {gain : 3.4640, readNoise : 1.62, saturation : 48000 } + A3 : {gain : 3.4893, readNoise : 1.86, saturation : 48000 } + '04' : + A0 : {gain : 3.7581, readNoise : 1.44, saturation : 48000 } + A1 : {gain : 3.8587, readNoise : 1.42, saturation : 48000 } + A2 : {gain : 3.7873, readNoise : 1.45, saturation : 48000 } + A3 : {gain : 3.7672, readNoise : 1.32, saturation : 48000 } + '05' : + A0 : {gain : 3.6509, readNoise : 1.52, saturation : 51000 } + A1 : {gain : 3.6521, readNoise : 1.66, saturation : 51000 } + A2 : {gain : 3.6376, readNoise : 1.78, saturation : 51000 } + A3 : {gain : 3.6400, readNoise : 2.24, saturation : 51000 } + '06' : + A0 : {gain : 3.5652, readNoise : 1.56, saturation : 50000 } + A1 : {gain : 3.6996, readNoise : 1.68, saturation : 50000 } + A2 : {gain : 3.6888, readNoise : 1.76, saturation : 50000 } + A3 : {gain : 3.6660, readNoise : 1.66, saturation : 50000 } + '07' : + A0 : {gain : 3.7531, readNoise : 1.45, saturation : 48000 } + A1 : {gain : 3.4899, readNoise : 1.69, saturation : 48000 } + A2 : {gain : 3.4376, readNoise : 1.75, saturation : 48000 } + A3 : {gain : 3.3731, readNoise : 2.00, saturation : 48000 } + '08' : + A0 : {gain : 3.5753, readNoise : 1.64, saturation : 49500 } + A1 : {gain : 3.6195, readNoise : 1.45, saturation : 49500 } + A2 : {gain : 3.6502, readNoise : 1.44, saturation : 49500 } + A3 : {gain : 3.5942, readNoise : 1.50, saturation : 49500 } + '09' : + A0 : {gain : 3.4815, readNoise : 1.54, saturation : 46000 } + A1 : {gain : 4.0725, readNoise : 1.51, saturation : 46000 } + A2 : {gain : 3.5448, readNoise : 1.56, saturation : 46000 } + A3 : {gain : 3.5217, readNoise : 1.76, saturation : 46000 } + '10' : + A0 : {gain : 3.6218, readNoise : 1.51, saturation : 50000 } + A1 : {gain : 3.3945, readNoise : 1.60, saturation : 50000 } + A2 : {gain : 3.4882, readNoise : 1.57, saturation : 50000 } + A3 : {gain : 3.5858, readNoise : 1.73, saturation : 50000 } + '11' : + A0 : {gain : 3.3674, readNoise : 1.83, saturation : 55000 } + A1 : {gain : 3.3472, readNoise : 1.60, saturation : 55000 } + A2 : {gain : 3.3710, readNoise : 1.68, saturation : 55000 } + A3 : {gain : 3.4040, readNoise : 1.74, saturation : 55000 } + '12' : + A0 : {gain : 3.7614, readNoise : 1.43, saturation : 46000 } + A1 : {gain : 3.8688, readNoise : 1.49, saturation : 46000 } + A2 : {gain : 3.8732, readNoise : 1.46, saturation : 46000 } + A3 : {gain : 3.8159, readNoise : 1.48, saturation : 46000 } + '13' : + A0 : {gain : 3.5855, readNoise : 1.51, saturation : 51000 } + A1 : {gain : 3.6576, readNoise : 1.54, saturation : 51000 } + A2 : {gain : 3.5981, readNoise : 1.61, saturation : 51000 } + A3 : {gain : 3.6408, readNoise : 1.72, saturation : 51000 } + '14' : + A0 : {gain : 4.0625, readNoise : 1.49, saturation : 42500 } + A1 : {gain : 4.2531, readNoise : 1.43, saturation : 42500 } + A2 : {gain : 4.4095, readNoise : 1.46, saturation : 42500 } + A3 : {gain : 4.1928, readNoise : 1.50, saturation : 42500 } + '15' : + A0 : {gain : 3.6964, readNoise : 1.47, saturation : 48500 } + A1 : {gain : 3.6477, readNoise : 1.57, saturation : 48500 } + A2 : {gain : 3.6157, readNoise : 1.62, saturation : 48500 } + A3 : {gain : 3.6935, readNoise : 1.64, saturation : 48500 } + '16' : + A0 : {gain : 3.5387, readNoise : 1.47, saturation : 51000 } + A1 : {gain : 3.7454, readNoise : 1.46, saturation : 51000 } + A2 : {gain : 3.5618, readNoise : 1.64, saturation : 51000 } + A3 : {gain : 3.6503, readNoise : 1.47, saturation : 51000 } + '17' : + A0 : {gain : 3.4369, readNoise : 1.58, saturation : 51500 } + A1 : {gain : 3.5157, readNoise : 1.64, saturation : 51500 } + A2 : {gain : 3.5347, readNoise : 1.79, saturation : 51500 } + A3 : {gain : 3.6027, readNoise : 1.91, saturation : 51500 } + '18' : + A0 : {gain : 3.6806, readNoise : 1.51, saturation : 49000 } + A1 : {gain : 3.4790, readNoise : 1.62, saturation : 49000 } + A2 : {gain : 3.5373, readNoise : 1.73, saturation : 49000 } + A3 : {gain : 3.4512, readNoise : 1.84, saturation : 49000 } + '19' : + A0 : {gain : 3.4316, readNoise : 1.56, saturation : 53000 } + A1 : {gain : 3.3752, readNoise : 1.63, saturation : 53000 } + A2 : {gain : 3.3773, readNoise : 1.86, saturation : 53000 } + A3 : {gain : 3.3953, readNoise : 1.99, saturation : 53000 } + '20' : + A0 : {gain : 3.5527, readNoise : 1.41, saturation : 46000 } + A1 : {gain : 3.6236, readNoise : 1.46, saturation : 46000 } + A2 : {gain : 3.5445, readNoise : 1.47, saturation : 46000 } + A3 : {gain : 3.7014, readNoise : 1.43, saturation : 46000 } + '21' : + A0 : {gain : 3.7645, readNoise : 1.53, saturation : 48000 } + A1 : {gain : 3.4889, readNoise : 1.58, saturation : 48000 } + A2 : {gain : 3.4623, readNoise : 1.72, saturation : 48000 } + A3 : {gain : 3.5169, readNoise : 1.75, saturation : 48000 } + '22' : + A0 : {gain : 3.5799, readNoise : 1.51, saturation : 51000 } + A1 : {gain : 3.5371, readNoise : 1.60, saturation : 51000 } + A2 : {gain : 3.5079, readNoise : 1.70, saturation : 51000 } + A3 : {gain : 3.5179, readNoise : 1.72, saturation : 51000 } + '23' : + A0 : {gain : 4.2310, readNoise : 1.41, saturation : 43000 } + A1 : {gain : 4.0347, readNoise : 1.52, saturation : 45000 } + A2 : {gain : 4.0239, readNoise : 1.61, saturation : 45000 } + A3 : {gain : 3.9215, readNoise : 1.75, saturation : 46000 } + '24' : + A0 : {gain : 3.6479, readNoise : 1.41, saturation : 49000 } + A1 : {gain : 3.5397, readNoise : 1.41, saturation : 49000 } + A2 : {gain : 3.4948, readNoise : 1.43, saturation : 49000 } + A3 : {gain : 3.4321, readNoise : 1.39, saturation : 49000 } + '25' : + A0 : {gain : 4.5439, readNoise : 1.46, saturation : 41500 } + A1 : {gain : 3.5370, readNoise : 1.66, saturation : 51000 } + A2 : {gain : 3.5125, readNoise : 1.76, saturation : 51000 } + A3 : {gain : 3.4109, readNoise : 1.65, saturation : 51000 } + '26' : + A0 : {gain : 3.5270, readNoise : 1.55, saturation : 53000 } + A1 : {gain : 3.5171, readNoise : 1.65, saturation : 53000 } + A2 : {gain : 3.4995, readNoise : 1.73, saturation : 52000 } + A3 : {gain : 3.3932, readNoise : 1.77, saturation : 55000 } + '27' : + A0 : {gain : 3.4713, readNoise : 1.52, saturation : 51000 } + A1 : {gain : 3.2932, readNoise : 1.58, saturation : 51000 } + A2 : {gain : 3.2263, readNoise : 1.71, saturation : 51000 } + A3 : {gain : 3.3141, readNoise : 1.85, saturation : 51000 } + '28' : + A0 : {gain : 3.6487, readNoise : 1.42, saturation : 50000 } + A1 : {gain : 3.3490, readNoise : 1.53, saturation : 50000 } + A2 : {gain : 3.4109, readNoise : 1.52, saturation : 50000 } + A3 : {gain : 3.3182, readNoise : 1.52, saturation : 50000 } + '29' : + A0 : {gain : 3.5249, readNoise : 1.52, saturation : 50000 } + A1 : {gain : 3.5415, readNoise : 1.72, saturation : 50000 } + A2 : {gain : 3.4576, readNoise : 1.82, saturation : 50000 } + A3 : {gain : 3.5624, readNoise : 1.80, saturation : 50000 } + '30' : + A0 : {gain : 3.4981, readNoise : 1.55, saturation : 51000 } + A1 : {gain : 3.4080, readNoise : 1.69, saturation : 51000 } + A2 : {gain : 3.4147, readNoise : 1.74, saturation : 51000 } + A3 : {gain : 3.3761, readNoise : 1.79, saturation : 51000 } + '35' : + A0 : {gain : 3.5469, readNoise : 1.79, saturation : 49000 } + A1 : {gain : 3.5384, readNoise : 1.72, saturation : 49000 } + A2 : {gain : 3.6006, readNoise : 1.68, saturation : 49000 } + A3 : {gain : 3.6291, readNoise : 1.63, saturation : 47000 } + '31' : + A0 : {gain : 3.5869, readNoise : 1.89, saturation : 48000 } + A1 : {gain : 3.5360, readNoise : 1.84, saturation : 48000 } + A2 : {gain : 3.6423, readNoise : 1.58, saturation : 48000 } + A3 : {gain : 3.5520, readNoise : 1.52, saturation : 48000 } + '48' : + A0 : {gain : 3.1296, readNoise : 1.62, saturation : 55000 } + A1 : {gain : 3.3026, readNoise : 1.46, saturation : 55000 } + A2 : {gain : 3.3817, readNoise : 1.51, saturation : 55000 } + A3 : {gain : 3.5192, readNoise : 1.51, saturation : 55000 } + '51' : + A0 : {gain : 3.3609, readNoise : 1.67, saturation : 55000 } + A1 : {gain : 3.4082, readNoise : 1.84, saturation : 55000 } + A2 : {gain : 3.4134, readNoise : 2.37, saturation : 55000 } + A3 : {gain : 3.5023, readNoise : 2.42, saturation : 55000 } + '52' : + A0 : {gain : 3.3195, readNoise : 1.44, saturation : 55000 } + A1 : {gain : 3.4867, readNoise : 1.50, saturation : 55000 } + A2 : {gain : 3.4577, readNoise : 1.43, saturation : 55000 } + A3 : {gain : 3.4673, readNoise : 1.49, saturation : 55000 } + '57' : + A0 : {gain : 3.3170, readNoise : 1.47, saturation : 55000 } + A1 : {gain : 3.2255, readNoise : 1.55, saturation : 55000 } + A2 : {gain : 3.2903, readNoise : 1.64, saturation : 55000 } + A3 : {gain : 3.3406, readNoise : 1.57, saturation : 55000 } diff --git a/policy/SConscript b/policy/SConscript new file mode 100644 index 000000000..67cef155f --- /dev/null +++ b/policy/SConscript @@ -0,0 +1,40 @@ +# -*- python -*- + +import lsst.utils +import lsst.sconsUtils +import glob +import os + +# scons steals our environment away, so we have to reinstate it +env = lsst.sconsUtils.env.Clone() +for name in ("PYTHONPATH", "LD_LIBRARY_PATH", + "DYLD_LIBRARY_PATH", "PATH"): + if name in os.environ: + env.AppendENVPath(name, os.environ[name]) + +# we may need an explicit library load path specified in the command +libpathstr = lsst.sconsUtils.utils.libraryLoaderEnvironment() + +# hack: use the version from obs_lsst for now +obsLsst = lsst.utils.getPackageDir("obs_lsst") + +# We always run these commands with an explicit python rather than relying on the shebang +python = "{} python".format(libpathstr) + +for camera in ["hsc"]: + # Invoke the bin.src variant so that we do not depend on the shebang + # target having been run + commandInst = env.Command(f"{camera}.yaml", "", + f"{python} {obsLsst}/bin.src/generateCamera.py --path {camera}:. $TARGET") + + env.Depends(commandInst, lsst.sconsUtils.targets["python"]) + dirList = [] + if os.path.isdir(camera): + dirList.append(camera) + + for d in dirList: + for f in glob.glob(os.path.join(d, "*.yaml")): + env.Depends(commandInst, f) + + for f in ["cameraHeader.yaml", "cameraTransforms.yaml", "rafts.yaml", env.Glob(f"R[01].yaml")]: + env.Depends(commandInst, f) diff --git a/policy/cameraHeader.yaml b/policy/cameraHeader.yaml new file mode 100644 index 000000000..2db98323b --- /dev/null +++ b/policy/cameraHeader.yaml @@ -0,0 +1,324 @@ +# This file is part of obs_subaru. +# +# Developed for the LSST Data Management System. +# This product includes software developed by the LSST Project +# (http://www.lsst.org). +# See the COPYRIGHT file at the top-level directory of this distribution +# for details of code ownership. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the LSST License Statement and +# the GNU General Public License along with this program. If not, +# see . +# +# +--- # hsc +# + +name : "hsc" + +# +# A single amplifier +# +AMP : & + perAmpData : False + # trimmed + dataExtent : [512, 4176] + readCorner : LL + # [[x0, y0], [xsize, ysize]] + rawBBox : [[0, 0], [536, 4241]] # total size of one amp's raw data + + rawDataBBox : [[8, 49], [512, 4176]] # data region in raw data + rawSerialPrescanBBox : [[0, 49], [8, 4176]] # serial prescan (often == extended) + rawSerialOverscanBBox : [[520, 49], [16, 4176]] # serial overscan + rawParallelPrescanBBox : [[0, 0], [536, 49]] # pixels before first usable parallel transfer + rawParallelOverscanBBox : [[8, 4225], [512, 16]] # parallel overscan + + saturation : 43000 # saturation level, DN XXX Should this be in electrons? + + # Linearity correction is still under discussion, so this is a placeholder. + linearityType : SQUARED + linearityThreshold : 0 + linearityMax : 43000 # == saturation + linearityCoeffs : [0, 43000] # == [linearityThreshold, linearityMax] + +# +# A single CCD +# +CCD_HAMAMATSU : &CCD + detectorType : 0 + refpos : [1023.5, 2087.5] + offset : [.nan, .nan] + # This is the orientation we need to put the serial direction along the x-axis + bbox : [[0, 0], [2047, 4175]] # [llc, urc] -- sorry; different convention from e.g. rawDataBBox + pixelSize : [0.015, 0.015] # in mm + transformDict : {nativeSys : 'Pixels', transforms : None} + transposeDetector : False + pitch : 0.0 # (degrees) + yaw : 0.0 # rotation in plane of camera (degrees) + roll : 0.0 # (degrees) + + amplifiers: + A0: &A0_HAMAMATSU + <<: *AMP + hdu : 0 # used to sort the amps + flipXY : [False, False] + controllerFlipXY : [False, False] + readCorner : LL + ixy : [0, 0] + A1: &A1_HAMAMATSU + <<: *A0_HAMAMATSU + hdu : 1 + #flipXY : [True, False] + controllerFlipXY : [True, False] + readCorner : LR + ixy : [1, 0] + A2: &A2_HAMAMATSU + <<: *A0_HAMAMATSU + hdu : 2 + ixy : [2, 0] + A3: &A3_HAMAMATSU + <<: *A1_HAMAMATSU + hdu : 3 + ixy : [3, 0] + +# +# Layout of CCDs within a raft +# +RAFT_HAMAMATSU: + ccds : + '00' : &00_HAMAMATSU + << : *CCD + offset : [-95.6, -31.9] + + '01' : &01_HAMAMATSU + << : *CCD + offset : [-95.5, -99.0] + + '02' : &02_HAMAMATSU + << : *CCD + offset : [-95.6, -166.2] + + '03' : &03_HAMAMATSU + << : *CCD + offset : [-95.6, -233.3] + + '04' : &04_HAMAMATSU + << : *CCD + offset : [-63.7, -31.9] + + '05' : &05_HAMAMATSU + << : *CCD + offset : [-63.7, -99.0] + + '06' : &06_HAMAMATSU + << : *CCD + offset : [-63.7, -166.2] + + '07' : &07_HAMAMATSU + << : *CCD + offset : [-63.7, -233.3] + + '08' : &08_HAMAMATSU + << : *CCD + offset : [-31.9, -31.9] + + '09' : &09_HAMAMATSU + << : *CCD + offset : [-31.8, -99.0] + + '10' : &10_HAMAMATSU + << : *CCD + offset : [-31.9, -166.2] + + '11' : &11_HAMAMATSU + << : *CCD + offset : [-31.9, -233.3] + + '12' : &12_HAMAMATSU + << : *CCD + offset : [-0.0, -31.9] + + '13' : &13_HAMAMATSU + << : *CCD + offset : [-0.0, -99.0] + + '14' : &14_HAMAMATSU + << : *CCD + offset : [-0.0, -166.2] + + '15' : &15_HAMAMATSU + << : *CCD + offset : [-0.0, -233.3] + + '16' : &16_HAMAMATSU + << : *CCD + offset : [31.8, -31.9] + + '17' : &17_HAMAMATSU + << : *CCD + offset : [31.8, -99.0] + + '18' : &18_HAMAMATSU + << : *CCD + offset : [31.8, -166.2] + + '19' : &19_HAMAMATSU + << : *CCD + offset : [31.8, -233.3] + + '20' : &20_HAMAMATSU + << : *CCD + offset : [63.7, -31.9] + + '21' : &21_HAMAMATSU + << : *CCD + offset : [63.7, -99.1] + + '22' : &22_HAMAMATSU + << : *CCD + offset : [63.7, -166.2] + + '23' : &23_HAMAMATSU + << : *CCD + offset : [63.7, -233.3] + + '24' : &24_HAMAMATSU + << : *CCD + offset : [95.5, -31.9] + + '25' : &25_HAMAMATSU + << : *CCD + offset : [95.5, -99.0] + + '26' : &26_HAMAMATSU + << : *CCD + offset : [95.5, -166.2] + + '27' : &27_HAMAMATSU + << : *CCD + offset : [95.5, -233.3] + + '28' : &28_HAMAMATSU + << : *CCD + offset : [127.4, -31.9] + + '29' : &29_HAMAMATSU + << : *CCD + offset : [127.4, -99.0] + + '30' : &30_HAMAMATSU + << : *CCD + offset : [127.4, -166.2] + + '31' : &31_HAMAMATSU + << : *CCD + offset : [143.8, -217.3] + yaw : 270 + + '32' : &32_HAMAMATSU + << : *CCD + offset : [-127.4, -31.9] + + '33' : &33_HAMAMATSU + << : *CCD + offset : [-127.4, -99.0] + + '34' : &34_HAMAMATSU + << : *CCD + offset : [-127.4, -166.2] + + '35' : &35_HAMAMATSU + << : *CCD + offset : [-143.9, -217.4] + yaw : 90 + + '36' : &36_HAMAMATSU + << : *CCD + offset : [-159.2, 169.6] + + '37' : &37_HAMAMATSU + << : *CCD + offset : [-159.2, 102.4] + + '38' : &38_HAMAMATSU + << : *CCD + offset : [-159.2, 35.2] + + '39' : &39_HAMAMATSU + << : *CCD + offset : [-159.2, -31.9] + + '40' : &40_HAMAMATSU + << : *CCD + offset : [-159.2, -99.0] + + '41' : &41_HAMAMATSU + << : *CCD + offset : [-159.2, -166.2] + + '42' : &42_HAMAMATSU + << : *CCD + offset : [-191.0, 169.6] + + '43' : &43_HAMAMATSU + << : *CCD + offset : [-191.1, 102.4] + + '44' : &44_HAMAMATSU + << : *CCD + offset : [-191.1, 35.3] + + '45' : &45_HAMAMATSU + << : *CCD + offset : [-191.1, -31.8] + + '46' : &46_HAMAMATSU + << : *CCD + offset : [-191.1, -99.0] + + '47' : &47_HAMAMATSU + << : *CCD + offset : [-191.1, -166.1] + + '48' : &48_HAMAMATSU + << : *CCD + offset : [-254.8, 99.7] + + '51' : &51_HAMAMATSU + << : *CCD + offset : [-254.8, -99.7] + + '52' : &52_HAMAMATSU + << : *CCD + offset : [-222.9, 166.7] + + '53' : &53_HAMAMATSU + << : *CCD + offset : [-222.9, 102.4] + + '54' : &54_HAMAMATSU + << : *CCD + offset : [-222.9, 35.3] + + '55' : &55_HAMAMATSU + << : *CCD + offset : [-222.9, -31.9] + + '56' : &56_HAMAMATSU + << : *CCD + offset : [-222.9, -99.0] + + '57' : &57_HAMAMATSU + << : *CCD + offset : [-222.9, -166.7] + diff --git a/policy/cameraTransforms.yaml b/policy/cameraTransforms.yaml new file mode 100644 index 000000000..c71e90e5e --- /dev/null +++ b/policy/cameraTransforms.yaml @@ -0,0 +1,41 @@ +#!/usr/bin/env python +# This file is part of obs_lsst. +# +# Developed for the LSST Data Management System. +# This product includes software developed by the LSST Project +# (http://www.lsst.org). +# See the COPYRIGHT file at the top-level directory of this distribution +# for details of code ownership. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the LSST License Statement and +# the GNU General Public License along with this program. If not, +# see . +# +--- # lsstCam + +# +# Provide transformations *from* the nativeSys *to* the specified system (e.g. FieldAngle) +# +plateScale : 11.20 # plate scale, in arcseconds on sky/mm + +transforms : + nativeSys : FocalPlane + + #FocalPlane : + # transformType : affine + # translation : [0.0, 0.0] + # linear : [[1.0, 0.0], [0.0, 1.0]] + + FieldAngle : + transformType : radial + coeffs : [0.0, 1.0, 0.0] # radial distortion coefficients (c_0 + c_1 r + c_2 r^2 + ...) diff --git a/policy/ccdData.yaml b/policy/ccdData.yaml new file mode 100644 index 000000000..9ec5235e9 --- /dev/null +++ b/policy/ccdData.yaml @@ -0,0 +1,2 @@ +crosstalk : + None : None diff --git a/policy/rafts.yaml b/policy/rafts.yaml new file mode 100644 index 000000000..6b176b446 --- /dev/null +++ b/policy/rafts.yaml @@ -0,0 +1,126 @@ +# +# A list of all the rafts in the camera +# +rafts : + '0' : + offset : [0.00, 0.30] # offset of centre of raft, mm + yaw : 0.0 # rotation of raft about centre, degrees + detectorIds : + '30' : 16 + '29' : 17 + '28' : 18 + '27' : 22 + '26' : 23 + '25' : 24 + '24' : 25 + '23' : 30 + '22' : 31 + '21' : 32 + '20' : 33 + '19' : 38 + '18' : 39 + '17' : 40 + '16' : 41 + '15' : 46 + '14' : 47 + '13' : 48 + '12' : 49 + '11' : 54 + '10' : 55 + '09' : 56 + '08' : 57 + '07' : 62 + '06' : 63 + '05' : 64 + '04' : 65 + '03' : 70 + '02' : 71 + '01' : 72 + '00' : 73 + '34' : 78 + '33' : 79 + '32' : 80 + '41' : 84 + '40' : 85 + '39' : 86 + '38' : 87 + '37' : 88 + '36' : 89 + '47' : 90 + '46' : 91 + '45' : 92 + '44' : 93 + '43' : 94 + '42' : 95 + '56' : 96 + '55' : 97 + '54' : 98 + '53' : 99 + '31' : 100 + '35' : 102 + '57' : 108 + '52' : 109 + '51' : 110 + '48' : 111 + + '1' : + offset : [0.00, -0.30] # offset of centre of raft, mm + yaw : 180.0 # rotation of raft about centre, degrees + detectorIds : + '53' : 0 + '54' : 1 + '55' : 2 + '56' : 3 + '42' : 4 + '43' : 5 + '44' : 6 + '45' : 7 + '46' : 8 + '47' : 9 + '36' : 10 + '37' : 11 + '38' : 12 + '39' : 13 + '40' : 14 + '41' : 15 + '32' : 19 + '33' : 20 + '34' : 21 + '00' : 26 + '01' : 27 + '02' : 28 + '03' : 29 + '04' : 34 + '05' : 35 + '06' : 36 + '07' : 37 + '08' : 42 + '09' : 43 + '10' : 44 + '11' : 45 + '12' : 50 + '13' : 51 + '14' : 52 + '15' : 53 + '16' : 58 + '17' : 59 + '18' : 60 + '19' : 61 + '20' : 66 + '21' : 67 + '22' : 68 + '23' : 69 + '24' : 74 + '25' : 75 + '26' : 76 + '27' : 77 + '28' : 81 + '29' : 82 + '30' : 83 + '35' : 101 + '31' : 103 + '48' : 104 + '51' : 105 + '52' : 106 + '57' : 107 +