Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions src/pymicroscope/base/position_and_mapcontroller.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ def __init__(self, device, *args, **kwargs):
super().__init__(*args, **kwargs)
self.device = device

self.z_image_number = 1
self.microstep_pixel = 0.16565
self.z_range = 1
# z_image_number = 1
# microstep_pixel = 0.16565
# z_range = 1

self.parameters: dict[str, Optional[Tuple[int, int, int]]] = {
"Upper left corner": None,
Expand All @@ -19,7 +19,7 @@ def __init__(self, device, *args, **kwargs):
"Lower right corner": None,
}

def create_positions_for_map(self):
def create_positions_for_map(self, z_image_number: int = 1, microstep_pixel: float = 0.16565, z_range: int = 1) -> list[Tuple[int, int, int]]:
## Faire le calcul pour vrai avec corner1m cprner2 corner3 corbner4...
# Utiliser self.parameters and self.z_imageNUmber, self.micvrostep......
positions_list = []
Expand All @@ -30,19 +30,19 @@ def create_positions_for_map(self):
corner4 = self.parameters["Lower right corner"]
#print(corner1, corner2, corner3, corner4)

x_image_dimension = 1000*self.microstep_pixel
y_image_dimension = 500*self.microstep_pixel
z_image_dimension = self.z_range*self.microstep_pixel
x_image_dimension = 1000*microstep_pixel
y_image_dimension = 500*microstep_pixel
z_image_dimension = z_range*microstep_pixel

if all(x != (0.0, 0.0, 0.0) for x in self.parameters.values()):
if all(x != (0.0, 0.0, 0.0) for x in self.parameters.values()): # TODO check if all corners are set even though it could be at the origin
number_of_x_image = math.ceil((corner2[0] - corner1[0]) / (0.9*x_image_dimension))
number_of_y_image = math.ceil((corner2[1] - corner4[1])/ (0.9*y_image_dimension))
else:
number_of_x_image = 1
number_of_y_image = 1


for z in range(self.z_image_number):
for z in range(z_image_number):
z_position = z*z_image_dimension
for y in range(number_of_y_image):
y_position = y*y_image_dimension*0.9
Expand All @@ -51,10 +51,9 @@ def create_positions_for_map(self):
positions_list.append((x_position, y_position, z_position))


return positions_list
# return positions_list

#return [(10, 0, 0), (100, 0, 0), (0, 100, 0), (100, 100, 0)]
#, (0,200,0), (100,0,0), (100, 100, 0 ), (100, 200, 0)]
return [(10, 0, 0), (100, 0, 0), (0, 100, 0), (100, 100, 0)]

# def ajuste_map_imaging(self):
# if all(x is not None for x in self.parameters.values()):
Expand Down
Loading