DetectorModulePlacement¶
One module of the image and where it lies on the detector plane, as rugnux measures it. Frame: custom_geometry is BEFORE mirror_y (the image as assembled from the readout); module_placement is AFTER mirror_y (the image as stored, the only one a file reader sees). Same words in both: x0/y0 is the image position of the module’s readout pixel 0 and fast_axis/slow_axis say which way its fast and slow readout axes run in the image. With mirror_y on, a module’s entry differs between the two by the mirror: for an image of height H, y0 (module_placement) = H - 1 - y0 (custom_geometry), x0 is the same, and Yp and Yn swap in fast_axis/slow_axis. With mirror_y off they are equal. x0, y0, fast_axis and slow_axis identify the module, whatever the order of the entries, and with the module size they give its box in the image. The plane is in image pixels (a pixel’s centre at its index): readout pixel (i, j) - i along the fast axis, j along the slow axis from pixel 0 - lies on it at (x0_plane, y0_plane) + i fast_step + j slow_step. As assembled: x0_plane = x0, y0_plane = y0, and each step is the unit vector of its axis (Xp = [1, 0], Xn = [-1, 0], Yp = [0, 1], Yn = [0, -1]).
Properties¶
Name | Type | Description | Notes |
|---|---|---|---|
x0 | int | Image x of the module’s readout pixel 0, after mirror_y | |
y0 | int | Image y of the module’s readout pixel 0, after mirror_y | |
fast_axis | |||
slow_axis | |||
x0_plane | float | Plane x of readout pixel 0, in image pixels | |
y0_plane | float | Plane y of readout pixel 0, in image pixels | |
fast_step | List[float] | Plane displacement (x, y) for one pixel along the fast readout axis | |
slow_step | List[float] | Plane displacement (x, y) for one pixel along the slow readout axis |
Example¶
from jfjoch_client.models.detector_module_placement import DetectorModulePlacement
# TODO update the JSON string below
json = "{}"
# create an instance of DetectorModulePlacement from a JSON string
detector_module_placement_instance = DetectorModulePlacement.from_json(json)
# print the JSON string representation of the object
print(DetectorModulePlacement.to_json())
# convert the object into a dict
detector_module_placement_dict = detector_module_placement_instance.to_dict()
# create an instance of DetectorModulePlacement from a dict
detector_module_placement_from_dict = DetectorModulePlacement.from_dict(detector_module_placement_dict)