diff options
Diffstat (limited to 'apps/CameraITS/tests/scene1')
28 files changed, 155 insertions, 44 deletions
diff --git a/apps/CameraITS/tests/scene1/test_3a.py b/apps/CameraITS/tests/scene1/test_3a.py index d179883..6cb8b51 100644 --- a/apps/CameraITS/tests/scene1/test_3a.py +++ b/apps/CameraITS/tests/scene1/test_3a.py @@ -13,6 +13,7 @@ # limitations under the License. import its.device +import its.caps def main(): """Basic test for bring-up of 3A. @@ -21,6 +22,11 @@ def main(): """ with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.read_3a(props): + print "Test skipped" + return + sens, exp, gains, xform, focus = cam.do_3a() print "AE: sensitivity %d, exposure %dms" % (sens, exp/1000000) print "AWB: gains", gains, "transform", xform diff --git a/apps/CameraITS/tests/scene1/test_ae_precapture_trigger.py b/apps/CameraITS/tests/scene1/test_ae_precapture_trigger.py index 8c1c7a7..59b7db1 100644 --- a/apps/CameraITS/tests/scene1/test_ae_precapture_trigger.py +++ b/apps/CameraITS/tests/scene1/test_ae_precapture_trigger.py @@ -13,6 +13,7 @@ # limitations under the License. import its.device +import its.caps import its.objects import its.target @@ -29,6 +30,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + _,fmt = its.objects.get_fastest_manual_capture_settings(props) # Capture 5 manual requests, with AE disabled, and the last request diff --git a/apps/CameraITS/tests/scene1/test_auto_vs_manual.py b/apps/CameraITS/tests/scene1/test_auto_vs_manual.py index 2964e47..01a373c 100644 --- a/apps/CameraITS/tests/scene1/test_auto_vs_manual.py +++ b/apps/CameraITS/tests/scene1/test_auto_vs_manual.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import os.path @@ -30,6 +31,11 @@ def main(): NAME = os.path.basename(__file__).split(".")[0] with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if (not its.caps.manual_sensor(props) or + not its.caps.manual_post_proc(props)): + print "Test skipped" + return # Converge 3A and get the estimates. sens, exp, gains, xform, focus = cam.do_3a() diff --git a/apps/CameraITS/tests/scene1/test_black_white.py b/apps/CameraITS/tests/scene1/test_black_white.py index ee7fb47..e471602 100644 --- a/apps/CameraITS/tests/scene1/test_black_white.py +++ b/apps/CameraITS/tests/scene1/test_black_white.py @@ -13,13 +13,9 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects -import sys -import numpy -import Image -import pprint -import math import pylab import os.path import matplotlib @@ -36,6 +32,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.manual_sensor(props): + print "Test skipped" + return + expt_range = props['android.sensor.info.exposureTimeRange'] sens_range = props['android.sensor.info.sensitivityRange'] diff --git a/apps/CameraITS/tests/scene1/test_burst_sameness_auto.py b/apps/CameraITS/tests/scene1/test_burst_sameness_auto.py index aa6cced..f3d49be 100644 --- a/apps/CameraITS/tests/scene1/test_burst_sameness_auto.py +++ b/apps/CameraITS/tests/scene1/test_burst_sameness_auto.py @@ -13,13 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import os.path import numpy -import pylab -import matplotlib -import matplotlib.pyplot def main(): """Take long bursts of images and check that they're all identical. @@ -41,6 +39,10 @@ def main(): # Capture at the smallest resolution. props = cam.get_camera_properties() + if not its.caps.manual_sensor(props): + print "Test skipped" + return + _, fmt = its.objects.get_fastest_manual_capture_settings(props) w,h = fmt["width"], fmt["height"] diff --git a/apps/CameraITS/tests/scene1/test_burst_sameness_manual.py b/apps/CameraITS/tests/scene1/test_burst_sameness_manual.py index e500860..3858c0c 100644 --- a/apps/CameraITS/tests/scene1/test_burst_sameness_manual.py +++ b/apps/CameraITS/tests/scene1/test_burst_sameness_manual.py @@ -13,14 +13,12 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target import os.path import numpy -import pylab -import matplotlib -import matplotlib.pyplot def main(): """Take long bursts of images and check that they're all identical. @@ -41,6 +39,10 @@ def main(): # Capture at the smallest resolution. props = cam.get_camera_properties() + if not its.caps.manual_sensor(props): + print "Test skipped" + return + _, fmt = its.objects.get_fastest_manual_capture_settings(props) e, s = its.target.get_target_exposure_combos(cam)["minSensitivity"] req = its.objects.manual_capture_request(s, e) diff --git a/apps/CameraITS/tests/scene1/test_capture_result.py b/apps/CameraITS/tests/scene1/test_capture_result.py index c88a2e0..81ec43c 100644 --- a/apps/CameraITS/tests/scene1/test_capture_result.py +++ b/apps/CameraITS/tests/scene1/test_capture_result.py @@ -13,14 +13,12 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import os.path -import pprint -import math import numpy import matplotlib.pyplot -import mpl_toolkits.mplot3d def main(): """Test that valid data comes back in CaptureResult objects. @@ -33,6 +31,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.manual_sensor(props) or + not its.caps.manual_post_proc(props)): + print "Test skipped" + return manual_tonemap = [0,0, 1,1] # Linear manual_transform = its.objects.int_to_rational([1,2,3, 4,5,6, 7,8,9]) diff --git a/apps/CameraITS/tests/scene1/test_crop_region_raw.py b/apps/CameraITS/tests/scene1/test_crop_region_raw.py index 6fd0732..94c8e2b 100644 --- a/apps/CameraITS/tests/scene1/test_crop_region_raw.py +++ b/apps/CameraITS/tests/scene1/test_crop_region_raw.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -28,6 +29,11 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.compute_target_exposure(props) or + not its.caps.raw16(props)): + print "Test skipped" + return + a = props['android.sensor.info.activeArraySize'] ax, ay = a["left"], a["top"] aw, ah = a["right"] - a["left"], a["bottom"] - a["top"] diff --git a/apps/CameraITS/tests/scene1/test_crop_regions.py b/apps/CameraITS/tests/scene1/test_crop_regions.py index 90b6c4c..da0cd0a 100644 --- a/apps/CameraITS/tests/scene1/test_crop_regions.py +++ b/apps/CameraITS/tests/scene1/test_crop_regions.py @@ -13,14 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target -import pylab import os.path -import matplotlib -import matplotlib.pyplot -import copy import numpy def main(): @@ -38,6 +35,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + a = props['android.sensor.info.activeArraySize'] ax, ay = a["left"], a["top"] aw, ah = a["right"] - a["left"], a["bottom"] - a["top"] diff --git a/apps/CameraITS/tests/scene1/test_exposure.py b/apps/CameraITS/tests/scene1/test_exposure.py index 5090d3c..8676358 100644 --- a/apps/CameraITS/tests/scene1/test_exposure.py +++ b/apps/CameraITS/tests/scene1/test_exposure.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -42,8 +43,12 @@ def main(): b_means = [] with its.device.ItsSession() as cam: - e,s = its.target.get_target_exposure_combos(cam)["minSensitivity"] props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + + e,s = its.target.get_target_exposure_combos(cam)["minSensitivity"] expt_range = props['android.sensor.info.exposureTimeRange'] sens_range = props['android.sensor.info.sensitivityRange'] diff --git a/apps/CameraITS/tests/scene1/test_format_combos.py b/apps/CameraITS/tests/scene1/test_format_combos.py index a7cf5b8..a021102 100644 --- a/apps/CameraITS/tests/scene1/test_format_combos.py +++ b/apps/CameraITS/tests/scene1/test_format_combos.py @@ -13,12 +13,12 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.error import its.target import sys -import time import os import os.path @@ -33,6 +33,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.compute_target_exposure(props) or + not its.caps.raw16(props)): + print "Test skipped" + return successes = [] failures = [] @@ -65,7 +69,7 @@ def main(): [fmt_yuv_prev, fmt_jpg_prev, fmt_raw_full], # F8 [fmt_yuv_prev, fmt_jpg_full, fmt_raw_full]] # F9 - # Two different burst lenghts: single frame, and 3 frames. + # Two different burst lengths: single frame, and 3 frames. burst_lens = [1, # B0 3] # B1 diff --git a/apps/CameraITS/tests/scene1/test_jpeg.py b/apps/CameraITS/tests/scene1/test_jpeg.py index 54a6189..bc2d64e 100644 --- a/apps/CameraITS/tests/scene1/test_jpeg.py +++ b/apps/CameraITS/tests/scene1/test_jpeg.py @@ -13,13 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target import os.path -import Image -import shutil -import numpy import math def main(): @@ -31,6 +29,9 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return e, s = its.target.get_target_exposure_combos(cam)["midExposureTime"] req = its.objects.manual_capture_request(s, e, True) diff --git a/apps/CameraITS/tests/scene1/test_latching.py b/apps/CameraITS/tests/scene1/test_latching.py index bc1cad7..bef41ac 100644 --- a/apps/CameraITS/tests/scene1/test_latching.py +++ b/apps/CameraITS/tests/scene1/test_latching.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -20,22 +21,25 @@ import pylab import os.path import matplotlib import matplotlib.pyplot -import copy def main(): """Test that settings latch on the right frame. Takes a bunch of shots using back-to-back requests, varying the capture request parameters between shots. Checks that the images that come back - have the expexted properties. + have the expected properties. """ NAME = os.path.basename(__file__).split(".")[0] with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.full(props): + print "Test skipped" + return + _,fmt = its.objects.get_fastest_manual_capture_settings(props) e, s = its.target.get_target_exposure_combos(cam)["midExposureTime"] - e = e / 2.0 + e /= 2.0 r_means = [] g_means = [] diff --git a/apps/CameraITS/tests/scene1/test_linearity.py b/apps/CameraITS/tests/scene1/test_linearity.py index 9fbb1f4..fed0324 100644 --- a/apps/CameraITS/tests/scene1/test_linearity.py +++ b/apps/CameraITS/tests/scene1/test_linearity.py @@ -13,13 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target -import sys import numpy -import Image -import pprint import math import pylab import os.path @@ -38,7 +36,7 @@ def main(): RESIDUAL_THRESHOLD = 0.00005 # The HAL3.2 spec requires that curves up to 64 control points in length - # must be supported. + # must be supported. L = 64 LM1 = float(L-1) @@ -48,9 +46,13 @@ def main(): sum([[i/LM1, math.pow(i/LM1, 2.2)] for i in xrange(L)], [])) with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + e,s = its.target.get_target_exposure_combos(cam)["midSensitivity"] s /= 2 - props = cam.get_camera_properties() sens_range = props['android.sensor.info.sensitivityRange'] sensitivities = [s*1.0/3.0, s*2.0/3.0, s, s*4.0/3.0, s*5.0/3.0] sensitivities = [s for s in sensitivities diff --git a/apps/CameraITS/tests/scene1/test_param_color_correction.py b/apps/CameraITS/tests/scene1/test_param_color_correction.py index 1b4838b..82f2342 100644 --- a/apps/CameraITS/tests/scene1/test_param_color_correction.py +++ b/apps/CameraITS/tests/scene1/test_param_color_correction.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -35,6 +36,10 @@ def main(): THRESHOLD_MAX_DIFF = 0.1 with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return # Baseline request e, s = its.target.get_target_exposure_combos(cam)["midSensitivity"] diff --git a/apps/CameraITS/tests/scene1/test_param_exposure_time.py b/apps/CameraITS/tests/scene1/test_param_exposure_time.py index 838b39d..390fd3c 100644 --- a/apps/CameraITS/tests/scene1/test_param_exposure_time.py +++ b/apps/CameraITS/tests/scene1/test_param_exposure_time.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -32,6 +33,11 @@ def main(): b_means = [] with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + e,s = its.target.get_target_exposure_combos(cam)["midExposureTime"] for i,e_mult in enumerate([0.8, 0.9, 1.0, 1.1, 1.2]): req = its.objects.manual_capture_request(s, e * e_mult, True) diff --git a/apps/CameraITS/tests/scene1/test_param_flash_mode.py b/apps/CameraITS/tests/scene1/test_param_flash_mode.py index 3ab64cf..6d1be4f 100644 --- a/apps/CameraITS/tests/scene1/test_param_flash_mode.py +++ b/apps/CameraITS/tests/scene1/test_param_flash_mode.py @@ -13,13 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target -import pylab import os.path -import matplotlib -import matplotlib.pyplot def main(): """Test that the android.flash.mode parameter is applied. @@ -27,6 +25,10 @@ def main(): NAME = os.path.basename(__file__).split(".")[0] with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return flash_modes_reported = [] flash_states_reported = [] diff --git a/apps/CameraITS/tests/scene1/test_param_noise_reduction.py b/apps/CameraITS/tests/scene1/test_param_noise_reduction.py index bef029e..618f8a7 100644 --- a/apps/CameraITS/tests/scene1/test_param_noise_reduction.py +++ b/apps/CameraITS/tests/scene1/test_param_noise_reduction.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -43,6 +44,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + # NR mode 0 with low gain e, s = its.target.get_target_exposure_combos(cam)["minSensitivity"] req = its.objects.manual_capture_request(s, e) diff --git a/apps/CameraITS/tests/scene1/test_param_sensitivity.py b/apps/CameraITS/tests/scene1/test_param_sensitivity.py index 0d1b5eb..c26e9f9 100644 --- a/apps/CameraITS/tests/scene1/test_param_sensitivity.py +++ b/apps/CameraITS/tests/scene1/test_param_sensitivity.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -34,8 +35,12 @@ def main(): b_means = [] with its.device.ItsSession() as cam: - expt,_ = its.target.get_target_exposure_combos(cam)["midSensitivity"] props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + + expt,_ = its.target.get_target_exposure_combos(cam)["midSensitivity"] sens_range = props['android.sensor.info.sensitivityRange'] sens_step = (sens_range[1] - sens_range[0]) / float(NUM_STEPS-1) sensitivities = [sens_range[0] + i * sens_step for i in range(NUM_STEPS)] diff --git a/apps/CameraITS/tests/scene1/test_param_tonemap_mode.py b/apps/CameraITS/tests/scene1/test_param_tonemap_mode.py index cc7147a..fbd452c 100644 --- a/apps/CameraITS/tests/scene1/test_param_tonemap_mode.py +++ b/apps/CameraITS/tests/scene1/test_param_tonemap_mode.py @@ -13,15 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target import os -import sys -import numpy -import Image -import math -import time import os.path def main(): @@ -41,6 +37,10 @@ def main(): LM1 = float(L-1) with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return e, s = its.target.get_target_exposure_combos(cam)["midExposureTime"] e /= 2 diff --git a/apps/CameraITS/tests/scene1/test_raw_burst_sensitivity.py b/apps/CameraITS/tests/scene1/test_raw_burst_sensitivity.py index 1135231..bc304c9 100644 --- a/apps/CameraITS/tests/scene1/test_raw_burst_sensitivity.py +++ b/apps/CameraITS/tests/scene1/test_raw_burst_sensitivity.py @@ -13,9 +13,9 @@ # limitations under the License. import its.device +import its.caps import its.objects import its.image -import pprint import os.path import pylab import matplotlib @@ -37,6 +37,11 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.raw16(props) or \ + not its.caps.manual_sensor(props) or \ + not its.caps.read_3a(props): + print "Test skipped" + return # Expose for the scene with min sensitivity sens_min, sens_max = props['android.sensor.info.sensitivityRange'] diff --git a/apps/CameraITS/tests/scene1/test_raw_sensitivity.py b/apps/CameraITS/tests/scene1/test_raw_sensitivity.py index 9845623..7c8eccd 100644 --- a/apps/CameraITS/tests/scene1/test_raw_sensitivity.py +++ b/apps/CameraITS/tests/scene1/test_raw_sensitivity.py @@ -13,9 +13,9 @@ # limitations under the License. import its.device +import its.caps import its.objects import its.image -import pprint import os.path import pylab import matplotlib @@ -35,6 +35,11 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.raw16(props) or + not its.caps.manual_sensor(props) or + not its.caps.read_3a(props)): + print "Test skipped" + return # Expose for the scene with min sensitivity sens_min, sens_max = props['android.sensor.info.sensitivityRange'] diff --git a/apps/CameraITS/tests/scene1/test_tonemap_sequence.py b/apps/CameraITS/tests/scene1/test_tonemap_sequence.py index 4f519cb..100bcf8 100644 --- a/apps/CameraITS/tests/scene1/test_tonemap_sequence.py +++ b/apps/CameraITS/tests/scene1/test_tonemap_sequence.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import os.path @@ -29,6 +30,12 @@ def main(): MIN_DIFF_DELTA = 0.10 with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if (not its.caps.manual_sensor(props) or + not its.caps.manual_post_proc(props)): + print "Test skipped" + return + sens, exp_time, _,_,_ = cam.do_3a(do_af=False) means = [] diff --git a/apps/CameraITS/tests/scene1/test_yuv_jpeg_all.py b/apps/CameraITS/tests/scene1/test_yuv_jpeg_all.py index aed9b66..2367ca2 100644 --- a/apps/CameraITS/tests/scene1/test_yuv_jpeg_all.py +++ b/apps/CameraITS/tests/scene1/test_yuv_jpeg_all.py @@ -13,11 +13,11 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target import os.path -import Image import math def main(): @@ -29,6 +29,9 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return # Use a manual request with a linear tonemap so that the YUV and JPEG # should look the same (once converted by the its.image module). diff --git a/apps/CameraITS/tests/scene1/test_yuv_plus_dng.py b/apps/CameraITS/tests/scene1/test_yuv_plus_dng.py index 6fff221..4924c7b 100644 --- a/apps/CameraITS/tests/scene1/test_yuv_plus_dng.py +++ b/apps/CameraITS/tests/scene1/test_yuv_plus_dng.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import os.path @@ -24,6 +25,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.raw(props) or + not its.caps.read_3a(props)): + print "Test skipped" + return cam.do_3a() diff --git a/apps/CameraITS/tests/scene1/test_yuv_plus_jpeg.py b/apps/CameraITS/tests/scene1/test_yuv_plus_jpeg.py index 7841b36..15aa17c 100644 --- a/apps/CameraITS/tests/scene1/test_yuv_plus_jpeg.py +++ b/apps/CameraITS/tests/scene1/test_yuv_plus_jpeg.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -30,6 +31,11 @@ def main(): fmt_jpeg = {"format":"jpeg"} with its.device.ItsSession() as cam: + props = cam.get_camera_properties() + if not its.caps.compute_target_exposure(props): + print "Test skipped" + return + # Use a manual request with a linear tonemap so that the YUV and JPEG # should look the same (once converted by the its.image module). e, s = its.target.get_target_exposure_combos(cam)["midExposureTime"] diff --git a/apps/CameraITS/tests/scene1/test_yuv_plus_raw.py b/apps/CameraITS/tests/scene1/test_yuv_plus_raw.py index 1d71626..7a345c9 100644 --- a/apps/CameraITS/tests/scene1/test_yuv_plus_raw.py +++ b/apps/CameraITS/tests/scene1/test_yuv_plus_raw.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -28,6 +29,10 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.compute_target_exposure(props) or + not its.caps.raw16(props)): + print "Test skipped" + return # Use a manual request with a linear tonemap so that the YUV and RAW # should look the same (once converted by the its.image module). diff --git a/apps/CameraITS/tests/scene1/test_yuv_plus_raw10.py b/apps/CameraITS/tests/scene1/test_yuv_plus_raw10.py index 3ed860b..15612c5 100644 --- a/apps/CameraITS/tests/scene1/test_yuv_plus_raw10.py +++ b/apps/CameraITS/tests/scene1/test_yuv_plus_raw10.py @@ -13,6 +13,7 @@ # limitations under the License. import its.image +import its.caps import its.device import its.objects import its.target @@ -29,6 +30,11 @@ def main(): with its.device.ItsSession() as cam: props = cam.get_camera_properties() + if (not its.caps.compute_target_exposure(props) or + not its.caps.raw10(props)): + print "Test skipped" + return + # Use a manual request with a linear tonemap so that the YUV and RAW # should look the same (once converted by the its.image module). e, s = its.target.get_target_exposure_combos(cam)["midExposureTime"] |