def test_matplotlib_cmaps(example_subarray): """Test using matplotlib colormap names works""" from ctapipe.visualization.bokeh import CameraDisplay geom = example_subarray.tel[1].camera.geometry image = np.ones(len(geom)) display = CameraDisplay(geom, image) display.cmap = "viridis" display.cmap = "RdBu"
def test_create_display_without_geometry(example_event, example_subarray): """Test we can create a display without giving the geometry to init""" from ctapipe.visualization.bokeh import CameraDisplay # test we can create it without geometry, and then set all the stuff display = CameraDisplay() tel_id = next(iter(example_event.r0.tel.keys())) display.geometry = example_subarray.tel[tel_id].camera.geometry display.image = example_event.dl1.tel[tel_id].image
def test_camera_enable_pixel_picker(example_event): from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) c_display = CameraDisplay(geom, image) c_display.enable_pixel_picker(2) assert len(c_display.active_pixels) == 2 c_display.enable_pixel_picker(3) assert len(c_display.active_pixels) == 3
def test_camera_geom(example_event): t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera c_display = CameraDisplay(geom) assert (c_display.cdsource.data['x'] == geom.pix_x.value).all() assert (c_display.cdsource.data['y'] == geom.pix_y.value).all() t = list(example_event.r0.tels_with_data)[1] geom = example_event.inst.subarray.tel[t].camera c_display.geom = geom assert (c_display.cdsource.data['x'] == geom.pix_x.value).all() assert (c_display.cdsource.data['y'] == geom.pix_y.value).all()
def test_camera_enable_pixel_picker(example_event, example_subarray): """Test we can call enable_pixel_picker""" from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tel.keys())[0] geom = example_subarray.tel[t].camera.geometry n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) c_display = CameraDisplay(geom, image) def callback(attr, new, old): print(attr, new, old) c_display.enable_pixel_picker(callback)
def test_camera_geom(example_event, example_subarray): from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tels_with_data)[0] geom = example_subarray.tel[t].camera.geometry c_display = CameraDisplay(geom) assert (c_display.cdsource.data["x"] == geom.pix_x.value).all() assert (c_display.cdsource.data["y"] == geom.pix_y.value).all() t = list(example_event.r0.tels_with_data)[1] geom = example_subarray.tel[t].camera.geometry c_display.geom = geom assert (c_display.cdsource.data["x"] == geom.pix_x.value).all() assert (c_display.cdsource.data["y"] == geom.pix_y.value).all()
def test_camera_geom(example_event): from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera c_display = CameraDisplay(geom) assert (c_display.cdsource.data['x'] == geom.pix_x.value).all() assert (c_display.cdsource.data['y'] == geom.pix_y.value).all() t = list(example_event.r0.tels_with_data)[1] geom = example_event.inst.subarray.tel[t].camera c_display.geom = geom assert (c_display.cdsource.data['x'] == geom.pix_x.value).all() assert (c_display.cdsource.data['y'] == geom.pix_y.value).all()
def test_camera_image(example_event, example_subarray, tmp_path): """Test we set an image""" from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tel.keys())[0] geom = example_subarray.tel[t].camera.geometry image = np.ones(geom.n_pixels) display = CameraDisplay(geom, image) assert np.all(display.image == image) display.image = np.random.normal(size=geom.n_pixels) assert np.all(display.image == image) output_path = tmp_path / "test.html" output_file(output_path) save(display.figure, filename=output_path)
def test_cameras(camera_geometry, tmp_path): """Test for all known camera geometries""" from ctapipe.visualization.bokeh import CameraDisplay image = np.random.normal(size=len(camera_geometry)) display = CameraDisplay(camera_geometry, image) output_path = tmp_path / "test.html" output_file(output_path) save(display.figure, filename=output_path)
def test_camera_display_creation(example_event, example_subarray): """Test we can create a display and check the resulting pixel coordinates""" from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tel.keys())[0] geom = example_subarray.tel[t].camera.geometry display = CameraDisplay(geom) assert np.allclose(np.mean(display.datasource.data["xs"], axis=1), geom.pix_x.value) assert np.allclose(np.mean(display.datasource.data["ys"], axis=1), geom.pix_y.value)
def test_camera_image(example_event): t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) colors = intensity_to_hex(image) with pytest.raises(ValueError): CameraDisplay(None, image) c_display = CameraDisplay(geom, image) assert (c_display.cdsource.data['image'] == colors).all() assert c_display.image_min == 0 assert c_display.image_max == 2 image[5] = 5 colors = intensity_to_hex(image) c_display.image = image assert (c_display.cdsource.data['image'] == colors).all() assert c_display.image_min == image.min() assert c_display.image_max == image.max()
def test_camera_display_telescope_frame(example_event, example_subarray): """Test we can create a display in telescope frame""" from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tel.keys())[0] geom = example_subarray.tel[t].camera.geometry.transform_to( TelescopeFrame()) display = CameraDisplay(geom) assert np.allclose(np.mean(display.datasource.data["xs"], axis=1), geom.pix_x.value) assert np.allclose(np.mean(display.datasource.data["ys"], axis=1), geom.pix_y.value)
def test_camera_image(example_event): from ctapipe.visualization.bokeh import CameraDisplay, intensity_to_hex t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) colors = intensity_to_hex(image) with pytest.raises(ValueError): CameraDisplay(None, image) c_display = CameraDisplay(geom, image) assert (c_display.cdsource.data['image'] == colors).all() assert c_display.image_min == 0 assert c_display.image_max == 2 image[5] = 5 colors = intensity_to_hex(image) c_display.image = image assert (c_display.cdsource.data['image'] == colors).all() assert c_display.image_min == image.min() assert c_display.image_max == image.max()
def test_camera_image(example_event, example_subarray): from ctapipe.visualization.bokeh import CameraDisplay, intensity_to_hex t = list(example_event.r0.tels_with_data)[0] geom = example_subarray.tel[t].camera.geometry n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) colors = intensity_to_hex(image) with pytest.raises(ValueError): CameraDisplay(None, image) c_display = CameraDisplay(geom, image) assert (c_display.cdsource.data["image"] == colors).all() assert c_display.image_min == 0 assert c_display.image_max == 2 image[5] = 5 colors = intensity_to_hex(image) c_display.image = image assert (c_display.cdsource.data["image"] == colors).all() assert c_display.image_min == image.min() assert c_display.image_max == image.max()
def test_camera_enable_pixel_picker(example_event): t = list(example_event.r0.tels_with_data)[0] geom = example_event.inst.subarray.tel[t].camera n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) c_display = CameraDisplay(geom, image) c_display.enable_pixel_picker(2) assert len(c_display.active_pixels) == 2 c_display.enable_pixel_picker(3) assert len(c_display.active_pixels) == 3
def test_camera_enable_pixel_picker(example_event, example_subarray): from ctapipe.visualization.bokeh import CameraDisplay t = list(example_event.r0.tels_with_data)[0] geom = example_subarray.tel[t].camera.geometry n_pixels = geom.pix_x.value.size image = np.ones(n_pixels) c_display = CameraDisplay(geom, image) c_display.enable_pixel_picker(2) assert len(c_display.active_pixels) == 2 c_display.enable_pixel_picker(3) assert len(c_display.active_pixels) == 3
def test_camera_display_create(): from ctapipe.visualization.bokeh import CameraDisplay CameraDisplay()
def test_camera_display_create(): CameraDisplay()