Updated to new metadata semantics

This commit is contained in:
Joel Collins 2020-01-29 17:53:14 +00:00
parent 32545e850c
commit b9ae730c73
10 changed files with 106 additions and 116 deletions

View file

@ -84,9 +84,9 @@
</li>
<li>
<a class="uk-accordion-title" href="#">Metadata</a>
<a class="uk-accordion-title" href="#">Annotations</a>
<div class="uk-accordion-content">
<keyvalList v-model="metadata" />
<keyvalList v-model="annotations" />
</div>
</li>
@ -296,7 +296,7 @@ export default {
},
resizeDims: [640, 480],
tags: [],
metadata: {
annotations: {
Client: `${process.env.PACKAGE.name}.${process.env.PACKAGE.version}`
},
scanUri: null
@ -316,7 +316,7 @@ export default {
return `${this.$store.getters.baseUri}/api/v2/extensions`;
},
settingsFovUri: function() {
return `${this.$store.getters.baseUri}/api/v2/settings/fov`;
return `${this.$store.getters.baseUri}/api/v2/instrument/settings/fov`;
},
basePayload: function() {
var payload = {};
@ -339,13 +339,13 @@ export default {
};
}
// Additional metadata
payload.metadata = this.metadata;
// Additional annotations
payload.annotations = this.annotations;
payload.tags = this.tags;
// Attach notes
if (this.captureNotes) {
payload.metadata["Notes"] = this.captureNotes;
payload.annotations["Notes"] = this.captureNotes;
}
return payload;

View file

@ -193,7 +193,7 @@ export default {
return `${this.$store.getters.baseUri}/api/v2/actions/stage/zero`;
},
positionStatusUri: function() {
return `${this.$store.getters.baseUri}/api/v2/status/stage/position`;
return `${this.$store.getters.baseUri}/api/v2/instrument/state/stage/position`;
},
pluginsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/extensions`;

View file

@ -1,6 +1,6 @@
<template>
<div class="host-input">
<div v-if="status && $store.getters.ready">
<div v-if="configuration && $store.getters.ready">
<div>
<div class="uk-margin-small-bottom">
<b>Host:</b>
@ -17,7 +17,7 @@
</div>
<div>
<b>Server version:</b> <br />
{{ status.version }}
{{ configuration.application.version }}
</div>
<hr />
@ -25,16 +25,16 @@
<div class="uk-margin-small-bottom">
<b>Camera:</b>
<br />
<div v-if="status.camera.board">
{{ status.camera.board }}
<div v-if="configuration.camera.type != 'MissingCamera'">
{{ configuration.camera.type }}
</div>
<div v-else class="uk-text-danger"><b>No camera connected</b></div>
</div>
<div>
<b>Stage:</b>
<br />
<div v-if="status.stage.board">
{{ status.stage.board }}
<div v-if="configuration.stage.type != 'MissingStage'">
{{ configuration.stage.type }}
</div>
<div v-else class="uk-text-danger"><b>No stage connected</b></div>
</div>
@ -86,7 +86,7 @@ export default {
data: function() {
return {
status: null,
configuration: null,
settings: null,
systemActionLinks: {}
};
@ -94,10 +94,10 @@ export default {
computed: {
settingsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/settings`;
return `${this.$store.getters.baseUri}/api/v2/instrument/settings`;
},
statusUri: function() {
return `${this.$store.getters.baseUri}/api/v2/status`;
configurationUri: function() {
return `${this.$store.getters.baseUri}/api/v2/instrument/configuration`;
},
actionsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/actions`;
@ -105,13 +105,13 @@ export default {
},
created: function() {
// Watch for host 'ready', then update status
// Watch for host 'ready', then update configuration
this.$store.watch(
(state, getters) => {
return getters.ready;
},
() => {
this.updateStatus();
this.updateConfiguration();
this.updateSettings();
this.updateSystemActions();
}
@ -119,11 +119,11 @@ export default {
},
methods: {
updateStatus: function() {
updateConfiguration: function() {
axios
.get(this.statusUri)
.get(this.configurationUri)
.then(response => {
this.status = response.data;
this.configuration = response.data;
})
.catch(error => {
this.modalError(error); // Let mixin handle error

View file

@ -1,28 +1,28 @@
<template>
<div v-if="camera_settings" id="cameraSettings">
<div v-if="settings" id="cameraSettings">
<form @submit.prevent="applyConfigRequest">
<div v-if="camera_settings.picamera_settings">
<div v-if="settings.picamera">
<!--PiCamera settings block-->
<div v-if="camera_settings.picamera_settings.shutter_speed">
<div v-if="settings.picamera.shutter_speed">
<label class="uk-form-label" for="form-stacked-text"
>Exposure time</label
>
<div class="uk-form-controls">
<input
v-model="camera_settings.picamera_settings.shutter_speed"
v-model="settings.picamera.shutter_speed"
class="uk-input uk-form-small"
type="number"
/>
</div>
</div>
<div v-if="camera_settings.picamera_settings.analog_gain">
<div v-if="settings.picamera.analog_gain">
<label class="uk-form-label" for="form-stacked-text"
>Analogue gain</label
>
<div class="uk-form-controls">
<input
v-model="camera_settings.picamera_settings.analog_gain"
v-model="settings.picamera.analog_gain"
class="uk-input uk-form-small"
type="number"
step="0.000001"
@ -30,13 +30,13 @@
</div>
</div>
<div v-if="camera_settings.picamera_settings.digital_gain">
<div v-if="settings.picamera.digital_gain">
<label class="uk-form-label" for="form-stacked-text"
>Digital gain</label
>
<div class="uk-form-controls">
<input
v-model="camera_settings.picamera_settings.digital_gain"
v-model="settings.picamera.digital_gain"
class="uk-input uk-form-small"
type="number"
step="0.000001"
@ -85,7 +85,7 @@ export default {
data: function() {
return {
camera_settings: null,
settings: null,
recalibrationUri: null,
isCalibrating: false
};
@ -93,7 +93,7 @@ export default {
computed: {
settingsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/settings`;
return `${this.$store.getters.baseUri}/api/v2/instrument/settings`;
},
pluginsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/extensions`;
@ -110,7 +110,7 @@ export default {
axios
.get(this.settingsUri)
.then(response => {
this.camera_settings = response.data.camera_settings;
this.settings = response.data.camera;
})
.catch(error => {
this.modalError(error); // Let mixin handle error
@ -139,11 +139,11 @@ export default {
applyConfigRequest: function() {
console.log("Applying config to the microscope");
var payload = {
camera_settings: {
picamera_settings: {
shutter_speed: this.camera_settings.picamera_settings.shutter_speed,
analog_gain: this.camera_settings.picamera_settings.analog_gain,
digital_gain: this.camera_settings.picamera_settings.digital_gain
camera: {
picamera: {
shutter_speed: this.settings.picamera.shutter_speed,
analog_gain: this.settings.picamera.analog_gain,
digital_gain: this.settings.picamera.digital_gain
}
}
};

View file

@ -11,7 +11,7 @@
<label class="uk-form-label" for="form-stacked-text">x</label>
<div class="uk-form-controls">
<input
v-model="settings.stage_settings.backlash.x"
v-model="settings.stage.backlash.x"
class="uk-input uk-form-small"
type="number"
/>
@ -22,7 +22,7 @@
<label class="uk-form-label" for="form-stacked-text">y</label>
<div class="uk-form-controls">
<input
v-model="settings.stage_settings.backlash.y"
v-model="settings.stage.backlash.y"
class="uk-input uk-form-small"
type="number"
/>
@ -33,7 +33,7 @@
<label class="uk-form-label" for="form-stacked-text">z</label>
<div class="uk-form-controls">
<input
v-model="settings.stage_settings.backlash.z"
v-model="settings.stage.backlash.z"
class="uk-input uk-form-small"
type="number"
/>
@ -80,7 +80,7 @@ export default {
computed: {
settingsUri: function() {
return `${this.$store.getters.baseUri}/api/v2/settings`;
return `${this.$store.getters.baseUri}/api/v2/instrument/settings`;
}
},
@ -103,8 +103,8 @@ export default {
applyConfigRequest: function() {
var payload = {
name: this.settings.name,
stage_settings: {
backlash: this.settings.stage_settings.backlash
stage: {
backlash: this.settings.stage.backlash
}
};