コード例 #1
0
def test_GIVEN_pixel_grid_WHEN_recording_pixel_data_to_nxdetector_THEN_pixel_data_in_nexus_file_matches_pixel_data_in_pixel_grid_object(
    component,
):
    pixel_grid = PixelGrid(
        rows=5,
        columns=6,
        row_height=0.7,
        col_width=0.5,
        first_id=0,
        count_direction=CountDirection.COLUMN,
        initial_count_corner=Corner.BOTTOM_RIGHT,
    )

    component.record_pixel_grid(pixel_grid)

    assert np.array_equal(
        component.get_field("x_pixel_offset"), get_x_offsets_from_pixel_grid(pixel_grid)
    )
    assert np.array_equal(
        component.get_field("y_pixel_offset"), get_y_offsets_from_pixel_grid(pixel_grid)
    )
    assert np.array_equal(
        component.get_field("z_pixel_offset"), get_z_offsets_from_pixel_grid(pixel_grid)
    )
    assert np.array_equal(
        component.get_field("detector_number"),
        get_detector_ids_from_pixel_grid(pixel_grid),
    )
コード例 #2
0
def test_GIVEN_detector_numbers_WHEN_calling_get_detector_number_information_THEN_expected_first_id_is_returned(
    pixel_options, pixel_grid
):
    pixel_grid.first_id = 4

    detector_numbers = get_detector_ids_from_pixel_grid(pixel_grid)
    first_id, _, _ = pixel_options._get_detector_number_information(detector_numbers)

    assert first_id == pixel_grid.first_id
コード例 #3
0
def test_GIVEN_one_by_one_pixel_grid_when_calling_offset_functions_THEN_offsets_and_pixel_id_are_scalars(
    pixel_grid, ):

    pixel_grid.rows = 1
    pixel_grid.columns = 1

    assert get_x_offsets_from_pixel_grid(pixel_grid) == 0
    assert get_y_offsets_from_pixel_grid(pixel_grid) == 0
    assert get_z_offsets_from_pixel_grid(pixel_grid) == 0

    assert get_detector_ids_from_pixel_grid(pixel_grid) == pixel_grid.first_id
コード例 #4
0
def test_GIVEN_column_of_pixels_WHEN_calling_get_detector_number_information_THEN_expected_start_counting_is_returned(
    pixel_options, pixel_grid
):
    pixel_options.columns = 1
    detector_numbers = get_detector_ids_from_pixel_grid(pixel_grid)

    _, start_counting_text, _ = pixel_options._get_detector_number_information(
        detector_numbers
    )

    assert start_counting_text in ["Top", "Bottom"]
コード例 #5
0
def test_GIVEN_row_of_pixels_WHEN_calling_get_detector_number_information_THEN_expected_start_counting_is_returned(
    pixel_options, pixel_grid
):
    pixel_options.rows = 1
    detector_numbers = get_detector_ids_from_pixel_grid(pixel_grid)

    _, start_counting_text, _ = pixel_options._get_detector_number_information(
        detector_numbers
    )

    assert start_counting_text in ["Right", "Left"]
コード例 #6
0
 def record_pixel_grid(self, pixel_grid: PixelGrid):
     """
     Records the pixel grid data to the NeXus file.
     :param pixel_grid: The PixelGrid created from the input provided to the Add/Edit Component Window.
     """
     self.set_field("x_pixel_offset",
                    get_x_offsets_from_pixel_grid(pixel_grid), "float64")
     self.set_field("y_pixel_offset",
                    get_y_offsets_from_pixel_grid(pixel_grid), "float64")
     self.set_field("z_pixel_offset",
                    get_z_offsets_from_pixel_grid(pixel_grid), "float64")
     self.set_field("detector_number",
                    get_detector_ids_from_pixel_grid(pixel_grid), "int64")
コード例 #7
0
def test_GIVEN_direction_and_initial_count_corner_WHEN_calling_pixel_grid_detector_ids_THEN_correct_grid_is_returned(
        pixel_grid, direction, corner):

    pixel_grid.rows = 2
    pixel_grid.columns = 3
    pixel_grid.count_direction = direction
    pixel_grid.initial_count_corner = corner
    pixel_grid.first_id = 2

    assert np.array_equal(
        np.array(EXPECTED_DETECTOR_IDS[direction][corner]) +
        pixel_grid.first_id,
        get_detector_ids_from_pixel_grid(pixel_grid),
    )