Commit graph

729 commits

Author SHA1 Message Date
Richard
6b8d34761c Merge remote-tracking branch 'origin/master' into imjoy-support
Merge in changes from master,

This matters because we need to get the fixes to Python
package management and the stage API for absolute moves.
2021-04-27 12:25:12 +01:00
Richard
297908fbc8 Stage move API now works
The test plugin seems to have problems
calling setPosition more than once.
We don't understand this...

Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-04-27 12:23:37 +01:00
Richard
757ee216cf Merge branch 'imjoy-support' of gitlab.com:rwb27/openflexure-microscope-server into imjoy-support 2021-04-27 11:31:20 +01:00
Richard Bowman
a2ba95c1d3 Minor linting improvements
I have now disabled W1203 globally, see comment in
pyproject.toml
2021-04-27 11:17:11 +01:00
Richard Bowman
90f5a755b1 Handle absolute moves correctly
I've changed the default values in MoveStageAPI
so that it correctly handles absolute moves with missing axes.
I've also simplified it so it isn't using axes_to_array as that
resulted in a confusing code path.
2021-04-27 10:55:51 +01:00
Richard Bowman
88de3089ea Fixed linter errors 2021-04-21 13:38:14 +01:00
Richard Bowman
8c50f73b34 Fixed type of context manager 2021-04-21 12:54:53 +01:00
Richard Bowman
fd32c22e30 Fixed formatting 2021-04-21 12:40:10 +01:00
Richard Bowman
1f1a75c02a Merge branch 'master' into auto-exposure-gain-awb 2021-04-21 12:10:47 +01:00
Richard Bowman
e86e4d983a Merge branch 'abandon-poetry' into 'master'
Move away from poetry

Closes #218

See merge request openflexure/openflexure-microscope-server!124
2021-04-21 10:57:28 +00:00
Wei Ouyang
ab2523e231 Use official version of default_base_frame.html 2021-04-07 10:05:27 +00:00
Wei Ouyang
2a8536c386 Allow insecure url in imjoy plugins 2021-04-07 09:49:09 +00:00
Richard Bowman
1cea75be70 Formatting fixes 2021-03-31 09:40:31 +01:00
Richard Bowman
e73ee8875c Fixed type annotations in autofocus and mock stage
I don't know why these didn't fail before - possibly because of
incomplete type information from old numpy...
I removed a few annotations because they were failing (e.g.
np.sum can return a scalar or an array), but I don't think
this should be a problem - the function inputs and return values
are still typed.
2021-03-30 17:51:00 +01:00
Richard Bowman
cd5e32b843 Removed deprecated np.float
numpy 1.20 deprecates np.float, which was only ever an alias for
``float``.  I've replaced all occurrences of np.float with float, as
recommended.  There should be no change in functionality.
2021-03-30 17:40:19 +01:00
Kaspar Emanuel
97bbbdee84 Merge branch 'ihi_scan' into 'master'
IHI scan style raster

See merge request openflexure/openflexure-microscope-server!113
2021-03-30 12:29:32 +00:00
Richard Bowman
af7ef08f63 Move away from poetry
More or less everything is now done by setup.py
Pipfile simply installs the module in editable mode, which
recursively resolves dependencies as defined in setup.py.
2021-03-26 21:11:22 +00:00
Richard
9d81a80bbb Fixed infinite loop in pollUntilComplete 2021-03-24 13:25:54 +00:00
Richard
024f2566f0 Working stage positioning
NB there is a server bug that means absolute moves fail -
this should be fixed in a separate branch.
2021-03-24 13:23:20 +00:00
Richard Bowman
a373afd955 swap print for logging in old function 2021-03-16 11:01:57 +00:00
Richard Bowman
cd30872d62 Split out action polling to separate function. 2021-03-09 21:56:06 +00:00
Richard Bowman
2b0b548307 Removed some TODOs because we did them! 2021-03-09 12:16:36 +00:00
Richard Bowman
0165f0a798 Populated snapImage and getImage
Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-03-09 12:12:28 +00:00
Richard Bowman
03a4f36556 Remove spurious GPU preview event 2021-03-01 12:20:04 +00:00
Richard Bowman
8624e45df4 Axios version bump and vuex-map-fields
vuex-map-fields cleans up code when mapping
store state to local computed properties.
2021-02-23 17:36:58 +00:00
Richard Bowman
a7bb0f9423 Reset tour button and URL origin
Reset tour button resets the local storage used to mark the tour
as done.

Overriding the origin can now be done with a query string.
This will load the store with the new origin from the start,
so might be better for testing some things.
I'm not worried about unexpected bugs, as it is quite obvious
from the URL what's going on.
2021-02-23 15:56:15 +00:00
Richard Bowman
1f3ba2bff1 Allow origin to be overridden by query
Specifying overrideOrigin in the URL now
sets up the store with the modified origin.
This is intended for development, and makes it
much less annoying to develop with a Vue dev server.
2021-02-23 15:54:28 +00:00
Richard Bowman
621b99eb9b Switch tab when opening with ImJoy 2021-02-23 12:27:58 +00:00
Richard Bowman
9b52865f95 Added an implementation of snapImage() to API
Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-02-23 12:08:20 +00:00
Richard Bowman
3b435ab2ee Deleted obsolete functions 2021-02-18 15:56:11 +00:00
Richard Bowman
1e45640195 Added control to reset LST
You can now recalibrate the LST without running auto-gain.
2021-02-15 20:19:39 +00:00
Richard Bowman
b06dd187ec Fixed args in endpoints 2021-02-15 20:18:34 +00:00
Richard Bowman
069d27bf15 Lock access to picamera
The picamera object isn't thread safe; I have now wrapped all access
in context managers that acquire the BaseCamera.lock

I also added an endpoint to reset the LST without auto-gain.
2021-02-15 20:15:55 +00:00
Richard Bowman
a9709b14ea Added locking to recalibrate functions
When testing the UI I noticed that the different recalibrate routines
don't use locks properly, so they try to run
concurrently.

This commit isn't tested yet...
2021-02-15 19:21:27 +00:00
Richard Bowman
36284c10be UI Improvements
I've added buttons to perform the separate calibrations (gain, AWB)
under the full recalibrate link.
It would be really nice to have a modal dialog though.
2021-02-15 19:17:20 +00:00
Richard Bowman
2f6049610f Added controls for AWB gains,
I also increased the precision of the numbers, which makes the step
buttons annoyingly useless but allows floating point
values without validation errors.
2021-02-15 17:50:39 +00:00
Richard Bowman
0f1a400979 Fixed type hint 2021-02-15 17:04:44 +00:00
oeway
1c8ebfce32 Add todo note 2021-02-14 22:45:18 +01:00
oeway
52c40791a9 Support Engine 2021-02-14 22:40:37 +01:00
oeway
6436034ccb Fix time 2021-02-14 22:21:01 +01:00
oeway
f80500fbb5 Improve showStatus/Message/Progress 2021-02-14 22:20:00 +01:00
oeway
e460c0faff Add template for microscope api and script editor 2021-02-14 21:17:15 +01:00
oeway
3b002d59a5 Add ImageJ.JS and Kaibu to the plugin menu 2021-02-14 20:04:59 +01:00
oeway
a692b90ede Load ITK VTK viewer 2021-02-14 18:16:50 +01:00
oeway
61c49e520f Support ImageJ.JS 2021-02-14 17:40:39 +01:00
Richard Bowman
4c27d88b37 Fixed description and linted 2021-02-11 15:54:58 +00:00
Richard Bowman
5527c4eb7b Fix auto-exposure and AWB
The previous "auto calibrate" button for the camera relied on a
combination of the built-in autoexposure/AWB and
some JPEG-based tweaks to get the exposure settings right.
This often led to confusing results, e.g. oscillating between green and
 pink images.

 I have rewritten the auto-exposure code to adjust gain and shutter
 speed based on the raw image.  This seems to be
 very reliable, at the expense of being quite slow.  That's a price I'm
 happy to pay.

 I have replaced both the camera's auto white balance and my
 JPEG-based AWB hack with a single-shot AWB method that
 looks at the raw image.
2021-02-11 14:30:20 +00:00
Richard Bowman
cfa5297a23 Added an "open in kaibu" link 2021-02-09 12:45:48 +00:00
Richard Bowman
0a0687cdd6 Added imjoy support
We now have an imjoy tab and the ability to load plugins
2021-02-09 11:46:29 +00:00
Richard Bowman
fc86745006 Fix whitespace 2021-02-09 10:19:56 +00:00