Use last calibration when calibrating
This commit is contained in:
parent
70383ebb34
commit
e1c4d5179e
22
app.py
22
app.py
|
|
@ -6,7 +6,6 @@ import json
|
||||||
import os
|
import os
|
||||||
from os.path import join
|
from os.path import join
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import uuid
|
|
||||||
from . import db, config, scanner, calibration, archive
|
from . import db, config, scanner, calibration, archive
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
@ -133,17 +132,6 @@ def cancel_calibration():
|
||||||
return redirect('/calibrate')
|
return redirect('/calibrate')
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/preview/<id>")
|
|
||||||
def preview(id: int):
|
|
||||||
conn = db.get()
|
|
||||||
db.Object.get_from_id(id, conn)
|
|
||||||
capture_uuid = uuid.uuid4()
|
|
||||||
if scanner.capture(join(config.DATA_DIR, str(id), 'previews', str(capture_uuid) + '.jpg')):
|
|
||||||
return str(capture_uuid)
|
|
||||||
else:
|
|
||||||
return "Impossible de capturer l'image.", 500
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/scan-for-calibration")
|
@app.route("/api/scan-for-calibration")
|
||||||
def scan_calibration():
|
def scan_calibration():
|
||||||
conn = db.get()
|
conn = db.get()
|
||||||
|
|
@ -242,8 +230,16 @@ def delete_acquisition(acquisition_id: int):
|
||||||
return redirect('/object/' + str(acqusition.object_id))
|
return redirect('/object/' + str(acqusition.object_id))
|
||||||
|
|
||||||
|
|
||||||
@app.route('/api/use-last-calibration')
|
@app.route('/use-last-calibration')
|
||||||
def use_last_calibration():
|
def use_last_calibration():
|
||||||
|
conn = db.get()
|
||||||
|
calibration = db.Calibration.get_last(conn)
|
||||||
|
session['calibration_id'] = calibration.id
|
||||||
|
return redirect('/calibrate')
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/api/use-last-calibration')
|
||||||
|
def api_use_last_calibration():
|
||||||
conn = db.get()
|
conn = db.get()
|
||||||
calibration = db.Calibration.get_last(conn)
|
calibration = db.Calibration.get_last(conn)
|
||||||
session['calibration_id'] = calibration.id
|
session['calibration_id'] = calibration.id
|
||||||
|
|
|
||||||
|
|
@ -5,25 +5,20 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1 class="title">Étalonnage</h1>
|
<h1 class="title">Étalonnage</h1>
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<p>Placez la mire devant le scanner puis appuyez sur le bouton pour prévisualiser ou étalonner le scanner.</p>
|
<p>Placez la mire devant le scanner puis appuyez sur le bouton étalonner le scanner.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="field is-grouped is-grouped-multiline">
|
<div class="field is-grouped is-grouped-multiline">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button id="preview-button" class="button is-link">Prévisualiser</button>
|
<button id="scan-button" class="button is-link">Acquérir les données d'étalonnage</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button id="scan-button" class="button is-link">Acquérir les données d'étalonnage</button>
|
<a href="/use-last-calibration" class="button is-link">Réutiliser le dernier étalonnage</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<article id="error-container" class="message is-danger" style="display: none;">
|
<article id="error-container" class="message is-danger" style="display: none;">
|
||||||
<div id="error-content" class="message-body">
|
<div id="error-content" class="message-body">
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<div class="columns is-desktop">
|
|
||||||
<div class="column is-offset-4 is-4">
|
|
||||||
<img id="preview-image" style="display: none;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="fixed-grid has-8-cols">
|
<div class="fixed-grid has-8-cols">
|
||||||
<div id="grid" class="grid">
|
<div id="grid" class="grid">
|
||||||
|
|
||||||
|
|
@ -42,36 +37,14 @@
|
||||||
<script>
|
<script>
|
||||||
let scanIndex = 1;
|
let scanIndex = 1;
|
||||||
let progress = 0;
|
let progress = 0;
|
||||||
let previewButton = document.getElementById('preview-button');
|
|
||||||
let scanButton = document.getElementById('scan-button');
|
let scanButton = document.getElementById('scan-button');
|
||||||
let progressBar = document.getElementById('progress-bar');
|
let progressBar = document.getElementById('progress-bar');
|
||||||
let previewImage = document.getElementById('preview-image');
|
|
||||||
let grid = document.getElementById('grid');
|
let grid = document.getElementById('grid');
|
||||||
let buttons = [previewButton, scanButton];
|
|
||||||
let errorContainer = document.getElementById('error-container');
|
let errorContainer = document.getElementById('error-container');
|
||||||
let errorContent = document.getElementById('error-content');
|
let errorContent = document.getElementById('error-content');
|
||||||
let calibrateDiv = document.getElementById('calibrate');
|
let calibrateDiv = document.getElementById('calibrate');
|
||||||
let calibrateButton = document.getElementById('calibrate-button');
|
let calibrateButton = document.getElementById('calibrate-button');
|
||||||
|
|
||||||
previewButton.addEventListener('click', async () => {
|
|
||||||
buttons.forEach(x => x.setAttribute('disabled', 'disabled'));
|
|
||||||
previewButton.classList.add('is-loading');
|
|
||||||
let response = await fetch('/api/preview/{{ calibration.id }}');
|
|
||||||
let uuid = await response.text();
|
|
||||||
|
|
||||||
if (response.status >= 200 && response.status < 400) {
|
|
||||||
previewImage.src = "/data/{{ calibration.id }}/previews/" + uuid + ".jpg";
|
|
||||||
previewImage.style.display = "block";
|
|
||||||
errorContainer.style.display = "none";
|
|
||||||
} else {
|
|
||||||
errorContainer.style.display = "block";
|
|
||||||
errorContent.innerHTML = uuid;
|
|
||||||
}
|
|
||||||
|
|
||||||
previewButton.classList.remove('is-loading');
|
|
||||||
buttons.forEach(x => x.removeAttribute('disabled'));
|
|
||||||
});
|
|
||||||
|
|
||||||
// If we already have calibration images, we show them right now
|
// If we already have calibration images, we show them right now
|
||||||
if ({% if calibration.state > 0 %}true{% else %}false{% endif %}) {
|
if ({% if calibration.state > 0 %}true{% else %}false{% endif %}) {
|
||||||
let cell, img;
|
let cell, img;
|
||||||
|
|
@ -90,8 +63,7 @@
|
||||||
scanIndex++;
|
scanIndex++;
|
||||||
progress = 0;
|
progress = 0;
|
||||||
progressBar.value = 0;
|
progressBar.value = 0;
|
||||||
previewImage.style.display = "none";
|
scanButton.setAttribute('disabled', 'disabled');
|
||||||
buttons.forEach(x => x.setAttribute('disabled', 'disabled'));
|
|
||||||
scanButton.classList.add('is-loading');
|
scanButton.classList.add('is-loading');
|
||||||
progressBar.style.display = "block";
|
progressBar.style.display = "block";
|
||||||
grid.innerHTML = '';
|
grid.innerHTML = '';
|
||||||
|
|
@ -103,7 +75,7 @@
|
||||||
let { value, done } = await reader.read();
|
let { value, done } = await reader.read();
|
||||||
|
|
||||||
if (done) {
|
if (done) {
|
||||||
buttons.forEach(x => x.removeAttribute('disabled'));
|
scanButton.removeAttribute('disabled');
|
||||||
scanButton.classList.remove('is-loading');
|
scanButton.classList.remove('is-loading');
|
||||||
calibrateDiv.style.display = "block";
|
calibrateDiv.style.display = "block";
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue