Commit graph

715 commits

Author SHA1 Message Date
Richard
9d088916a9 Linter fixes 2021-05-31 12:45:30 +01:00
Richard
a1313ae1c5 Fix CSS for plugin list 2021-05-31 12:43:21 +01:00
Richard
9b75e8ec05 Fixed service registration for imjoy 2021-05-31 11:36:32 +01:00
Richard
4716dc8812 Added exposure and autofocus to imjoy service
This is currently untested
2021-05-29 14:34:17 +01:00
Richard
55a9f49fd2 Sundry linting/debug removal 2021-05-29 13:06:52 +01:00
Richard
6a353ccbd3 Added UI controls to enable ImJoy and gallery
There are now tick boxes in "features" settings to
enable/disable ImJoy and the gallery.
These persist in local storage.
2021-05-29 13:06:13 +01:00
Richard
dac1c9a748 Merge branch 'master' into imjoy-support 2021-05-29 12:10:01 +01:00
Richard
d176654e96 Allow ImJoy plugins to be disabled
ImJoy is now loaded dynamically, and can be turned off with
an environment variable.
I've added two new scripts to develop and build without ImJoy.
I suspect these won't see much use, but
they will remind us how to do it when we
want to release a medical version.
The ImJoy "chunk" is named for ease of separation.

Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-05-29 12:03:55 +01:00
Richard Bowman
de28b0e2f6 Merge branch 'improve-local-development' into 'master'
Local development improvements

See merge request openflexure/openflexure-microscope-server!125
2021-05-18 10:56:10 +00:00
Richard Bowman
4d405443bb Merge branch 'scan-shape-limits' into 'master'
Add minimum scan dimension

See merge request openflexure/openflexure-microscope-server!123
2021-05-18 10:55:06 +00:00
Richard
f9f78b867c Tidied up setTabProperty
I was doing nasty things with a for loop - we've replaced it with a
map statement, which achieves the same thing but works better with
Vue.js reactivity.
2021-05-18 11:52:36 +01:00
Richard
3e0be6fa81 Set icon based on window id, not name 2021-05-18 11:36:48 +01:00
Richard
9ba9bccd90 Added a hash to the service type name
This is required by the updated imjoy core

Co-authored-by: Kaspar Emanuel <kaspar@monostable.co.uk>
2021-05-18 11:31:31 +01:00
Wei Ouyang
de5a0f6d6b Fix scan name 2021-05-14 11:57:41 +02:00
Wei Ouyang
344146639d Remove item 2021-05-14 11:44:53 +02:00
Wei Ouyang
d2d0dc4518 Add comment 2021-05-14 11:41:22 +02:00
Wei Ouyang
f129244c26 Fix _rvalue key error 2021-05-14 11:36:48 +02:00
Wei Ouyang
508d9d9acf Support imagej.js stack, upgrade core; 2021-05-14 11:11:06 +02:00
Richard
7585e24744 Swap windows for tabs
Each ImJoy window now gets its own top-level tab.
This involved some fairly significant refactoring of the ImJoy
component, but I think it's cleaner now.
I've moved imjoy-related stuff into a store "module" to keep it clean.
2021-05-13 17:10:36 +01:00
Richard
f2a4b976b9 Fix whitespace 2021-05-13 10:43:50 +01:00
Richard
0e16835e1b Streamlined code and added multi-JPEG
It's now possible to open a folder of JPEGs
in ImageJ at once; they appear as separate, named images.
2021-05-12 17:15:17 +01:00
Richard
a1fce44a4d kludge to fix the color of text in drop-down
something strange is happening with CSS precedence that makes the
elements of the dropdown go white-on-white.
I have added a specific color:black to fix this.
2021-05-11 22:01:11 +01:00
Richard
b0f26f1b1e Transfers of stacks and using ndarrays 2021-05-11 21:43:33 +01:00
Richard
126766aa06 Removed unnecessary package
I'm not using vuex-map-fields, so have
removed it.
2021-05-05 16:44:25 +01:00
Richard
0bdb5b4721 Actually save stream settings to local storage
After some refactoring, I lost the code that actually
saved stream settings to local storage.
This commit restores that functionality.
2021-05-05 16:19:43 +01:00
Richard
0c6e6caade Improve errors with better exception
I've swapped the ValueError for a RuntimeError subclass to
make it clearer what's gone wrong.
2021-05-05 10:05:47 +01:00
Richard Bowman
14c4908a98 fix linter error 2021-05-04 13:41:39 +01:00
Richard Bowman
6e7adb66cd Fix handling of missing CSM matrix
The code checks for the camera-stage mapper matrix by looking at its truth value.
However, this is ambiguous because the matrix has many elements.  That means that
if it's missing, we get the expected result, but if it's present
we get an error.

I have avoided dict.get() and instead look it up with [] notation.
This will raise a KeyError if it's missing, which I
handle helpfully.
If the key is present but the value is not castable to an array, we'll
get an exception anyway.
2021-04-28 22:29:56 +01:00
Wei Ouyang
c9cd6fc3bf Bump core version and fix service interface 2021-04-27 19:17:17 +00:00
Richard Bowman
82eba1e99a fixed typing error 2021-04-27 20:17:07 +01:00
Richard Bowman
87f636ecc0 Code format and linting 2021-04-27 19:56:54 +01:00
Richard Bowman
bb303d4766 Simplified auto gain/exposure algorithm
adjust_shutter_and_gain_from_raw now uses a simpler algorithm.
The code is longer overall but hides some details in fuctions.
I've also split the loop into one for shutter speed and one for gain.
This isn't the algorithm that I originally wrote, but it seems to
work and is more readable.
2021-04-27 18:54:21 +01:00
Richard Bowman
42f00b69a4 Merge remote-tracking branch 'origin/master' into auto-exposure-gain-awb
This was primarily done to disable the warning about f strings in
logging statements, globally rather than per-file.
2021-04-27 17:16:19 +01:00
Richard Bowman
79b0d48cf4 Swap Generator annotation for Iterator 2021-04-27 17:13:40 +01:00
Richard
82a277b04c Cache stream settings in local storage
GPU preview and MJPEG stream settings are now persisted
using localStorage.  The old code that disabled
the stream for local connections now
just sets the initial/default value.

The initialisation of stream settings is now done
in the created() method of streamContent.vue.

I've eliminated the "globalsafetogglepreview" event
in favour of watching the store.
2021-04-27 16:36:55 +01:00
Richard
e14800b549 linter fixes 2021-04-27 14:28:08 +01:00
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