Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Photom_v2 #183

Open
wants to merge 62 commits into
base: main
Choose a base branch
from
Open

Photom_v2 #183

wants to merge 62 commits into from

Conversation

edyoshikun
Copy link
Contributor

@edyoshikun edyoshikun commented Nov 5, 2023

This massive PR adds the following:

  • missing abstract classes to the hardware (mirror, lasers, stages and DAC).
  • adds an assembly project which uses a collection of hardware for photomanipulation (Photom).
  • implements simple QtWidget library to auto spawn a GUI from a config file

This PR changes some of the hardware libraries so I suggest we make a tag and 0.0.0 release of copylot so that projects that depend on main don't break. CC: @ieivanov

added pulsing mode on laser
added parameters for arduino pwm
adding some patches to vortran laser with pulse power
adding bitbanging arduino code
-fixing registration mismatch due to hardcoded var
-adding affine transform dependent on size of laser window
- plot_centroid for qtthreads
- calibration through gui using camera
replacing marker with crosshair
@edyoshikun
Copy link
Contributor Author

We need to merge #185 before merging this PR to main. #185 has a working GUI that does not require any hardware. Just make sure the yml file is pointing to the right directory (we should probably fix this bug @aaronalvarezcz ).

CC: @shinzlet

@edyoshikun edyoshikun marked this pull request as ready for review July 5, 2024 21:21
* implement ROI selection for ablation via gui demo

* move Shape class to utils/pattern_tracing

* add docstrings and logging statements

* add roi selection coloring in the GUI

* fix roi selection coloring bug

* add shape deletion logic and button

* remove unnecessary imports and update docstrings

* add default behavior for overly large spacing configuration

* adding changes to be able to run demo_mode

* Integrate ROI selection to Photom

Added:
- drawing mode group in control window, includes roi selection and pattern dropdown, pattern spacing boxes, and deletion of shapes
- scrollable widget behavior for laser control window
- attributes to LaserMarkerWindow class to contain shapes

Changed:
- how displaying shapes are handled. shape/drawings are displayed by calling self.update() now
- shapesUpdate signal to notify of new shapes added
- updated mouse event handling to track and store Shape objects

* remove hardcoding control window height

* use relative path for hit marker png

* fix comparison check if there is a selected shape id

* add pattern_delay time b/w positions for mirror movement

* format with black

* -adding changes to make these relative imports.
-relative import for the crosshair

* extending the range of mockmirrodevice

* refactor Shape class to ShapeTrace

* make config_file a path object

* add n_points option for pattern generation on a shape

* formatted with black

* add spiral pattern generation code for ROIs

* add gap and points per cycle attributes to ShapeTrace

* remove spacing option for spiral pattern in gui

* update _pattern_spiral to generate n equidistant points in a spiral

* update bidirectional pattern names for better spacing

* implement bfs-style bidirectional pattern application

* change pattern_points from set to list for ordered points

* add greyscale pattern tracing, change pattern_points from set to list

* add time delay parameter in GUI

* remove unnecessary code and comments

* fix pattern drawing bug

* update breadth first search to add points clockwise to queue

* fix bidirectional pattern bug that allowed for repeated (x, y) coordinates

---------

Co-authored-by: Eduardo Hirata-Miyasaki <[email protected]>
@edyoshikun edyoshikun requested review from shinzlet and ieivanov July 26, 2024 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants