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

Set up example use case and document #189

Open
ivalaginja opened this issue Apr 24, 2024 · 1 comment
Open

Set up example use case and document #189

ivalaginja opened this issue Apr 24, 2024 · 1 comment
Assignees

Comments

@ivalaginja
Copy link
Collaborator

ivalaginja commented Apr 24, 2024

@erinpougheon and @pbaudoz have an interest in this, so I will try to sketch out a game plan for this.

A minimal working example would constitute a testbed server that can run a camera service. This is then extendable arbitrarily to include more services. To make this work, we'd need:

  1. A testbed configuration with testbed.yml
  2. A CLI interface that allows the user to start the testbed server, cli_interface.py
  3. A service configuration with a single service, a camera: services.yml
  4. The simplest GUI viewer possible. Not sure if this should be a main window + camera viewer or just a camera viewer, but I think how we launch the GUI right now does require that.

Numbers 1-3 should probably live in a new location in the project under catkit2/examples/single_camera, outside of the package. Number 4 should probably be the start of adding GUI elements to catkit2 the package, and should go into catkit2/catkit2/user_interface. The concrete startup and setup of this would be called in the cli_interface.py of the example.

In an ideal case, a second service will be added, a simulator service which uses the already existing catkit2/simulator/simple_optical_model.py - or we create an even simpler one with literally just a light source and a camera.

@ehpor @raphaelpclt any thoughts on this? I would in particular like some feedback on the scope of the example and the location of the individual files.

@raphaelpclt
Copy link
Collaborator

I think that's a great idea! My intuition would be to keep all the example in one single contained location, like an testbed_example folder. I guess the goal is that someone new can copy this folder into a new repo, and start from that. This would be a "mini thd-control / hicat-package2" folder.

More specifically:

  • Agreed that 1-3 go to a folder
  • Wo do need a main window right now, but it shouldn't be too difficult to cut ties if needed. I wouldn't mind having a simple main window as an example too.
  • I would create a new very simple optical model too, to be in the example folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants