Commit graph

728 commits

Author SHA1 Message Date
Richard
3cdfd52a77 Added controls for smart stack 2021-07-25 09:14:33 +01:00
Richard Bowman
5b63745ad0 Merge branch 'imjoy-support' into 'master'
Added imjoy support

Closes #157

See merge request openflexure/openflexure-microscope-server!120
2021-06-29 12:08:52 +00:00
Richard
f5711d953d linter fixes 2021-06-22 12:09:01 +01:00
Richard
d73b0afd36 Disable ImJoy control
If the environment variable is disabling ImJoy, don't allow
the user to enable it with the tick-box.
2021-06-22 12:08:17 +01:00
Richard
33b3ffc7f7 Rely on store to enforce IMJOY_ENABLED
This removes some now-redundant code.
2021-06-22 12:07:27 +01:00
Richard
29de95fe74 Enforce ENABLE_IMJOY variable in store
The store now won't let you enable imjoy if the environment
variable is not set to "true"
2021-06-22 12:06:48 +01:00
Richard
3921f5de76 Remove commented-out code 2021-06-22 10:57:48 +01:00
Richard
03cb019864 Don't remember the "scanCapture" setting
Given that it changes the "capture" button from
single image acquisition to a long running scan,
I think it's less confusing if the "scan capture" setting
is not remembered across page refreshes.
2021-06-03 16:21:03 +01:00
Richard
318c4088dd Auto-open scan section if enabled
Saving default to local storage has a problem:
if you have ticked "scan", the section is not
visible by default so it's easy to start a scan
by accident.  I've now forced it to be open if
the scanCapture checkbox is true.
2021-06-03 16:16:00 +01:00
Richard
31faaaf161 Whitespace linting fixes 2021-06-03 16:10:03 +01:00
Richard
178d6fb84b Fix ame of CaptureContent 2021-06-03 16:09:51 +01:00
Richard
8afa503867 Scan settings are now remembered
This is done in local storage, and I'm
quite pleased with how neat it is!
Happy to be corrected on a better way to pass `this` though!
2021-06-03 16:09:40 +01:00
Richard
dae818b6b5 Typo in webpack directive 2021-05-31 12:46:30 +01:00
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