AI-on-the-edge-device icon indicating copy to clipboard operation
AI-on-the-edge-device copied to clipboard

Analog ROI kann nicht angelegt werden, wenn man die vorhandenen löscht

Open Jambola77 opened this issue 1 year ago • 8 comments

The Problem

Ich kann keine neuen analogen ROIs anlegen. Auch wenn ich die Liste "main" lösche und neu anlege, geht es nicht. Ebenfalls, wenn ich den Haken oben bei "Enable Analog ROI's" entferne, wird der save-Button nicht aktiv.

Version

15.2.4

Logfile

Kann ich nicht anhängen, da ich nach Reboot immer wieder die Einrichtungsseite bekomme.

Expected Behavior

No response

Screenshots

Bildschirmfoto vom 2023-06-13 14-03-53

Additional Context

No response

Jambola77 avatar Jun 13 '23 12:06 Jambola77

Fehlermeldung vom Browser:

edit_analog.html:227 Uncaught TypeError: Cannot read properties of undefined (reading 'text') at newROI (edit_analog.html:227:49) at HTMLInputElement.onclick (edit_analog.html:98:121)

Jambola77 avatar Jun 13 '23 12:06 Jambola77

Ich habe exakt den gleichen Fehler. Scheint ein BUG in der aktuellen Version zu sein.

Gibt es dazu einen Workaround?

bitwicht avatar Jun 15 '23 08:06 bitwicht

Möglicher Workaround: manuelles Anlegen eines Analogen ROIs in config.ini:

[Analog]
Model = /config/ana-cont_1206_s2_q.tflite
ROIImagesLocation = /log/analog
ROIImagesRetention = 3
main.ana1 431 212 78 78 false
main.ana2 384 301 78 78 false
main.ana3 297 339 78 78 false
main.ana4 185 298 78 78 false

Anpassung von Model natürlich notwendig.

jomjol avatar Jun 18 '23 06:06 jomjol

Kannst du bitte kurz beschreiben, was "false" bedeutet und welche Parameter an dieser Stelle noch stehen könnten. In der Dokumentation habe ich hierzu nichts finden können.

detzen avatar Dec 16 '23 12:12 detzen

Hiermit wird im Uhrzeigersinn (false) und gegen den Uhrzeigersinn (true) bei analogen ROIs konfiguriert.

Slider0007 avatar Dec 17 '23 10:12 Slider0007

Wenn du in der "edit_analog.html" und "edit_digits.html" folgendes änderst, sollte es dann gehen.

function newROI() {
    var sel = document.getElementById("Numbers_value1");
    var _number= sel.options[sel.selectedIndex].text;
    sel = document.getElementById("index");
    //var _roialt= sel.options[sel.selectedIndex].text;		<<<<<<<<<<<<<<<<<<<<

    var _roinew = prompt("Please enter a name for the new ROI", "name");
    if (_roinew === null) {
        return; //break out of the function early because prompt was aborted
    }

    if (ROIInfo.length > 0)
        erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 15, 30, ROIInfo[aktindex]["dx"], ROIInfo[aktindex]["dy"], ROIInfo[aktindex]["CCW"]=="true");
    else
        erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 15, 30, 30, 30, false);

    if (erg != "")
        firework.launch(erg, 'danger', 30000);
    else
        UpdateROIs(_roinew);
}

SybexX avatar Jan 23 '24 14:01 SybexX

a better alternative would be:

Example is for edit_analog.html, with edit_digits.html you just have to replace both _roialt = "ana" with _roialt = "dig".

added:

var canvas = document.getElementById('canvas'),
    ctx = canvas.getContext('2d'),
    imageObj = new Image(),
    rect = {},
    drag = false,
    aktindex = 0,
    ROIInfo,
    cofcat,
    param,
    _roialt = "ana",	// <<<< _roialt = "dig,";	++++++++++
    enhanceCon = false,
    lockAspectRatio = true,
    lockSizes = false,
    domainname = getDomainname();

changed from:

function newROI() {
    var sel = document.getElementById("Numbers_value1");
    var _number= sel.options[sel.selectedIndex].text;
    sel = document.getElementById("index");
    var_roialt = sel.options[sel.selectedIndex].text;

    var _roinew = prompt("Please enter a name for the new ROI", "name");

to:

function newROI() {
    var sel = document.getElementById("Numbers_value1");
    var _number= sel.options[sel.selectedIndex].text;
    sel = document.getElementById("index");
	
    if (ROIInfo.length > 0) {
	_roialt = sel.options[sel.selectedIndex].text;
    }
    else {
	_roialt = "ana";	            // <<<< _roialt = "dig";	
    }

    var _roinew = prompt("Please enter a name for the new ROI", _roialt);

changed from:

function renameROI(){
    var sel = document.getElementById("Numbers_value1");
    var _number= sel.options[sel.selectedIndex].text;
    sel = document.getElementById("index");
    var _roialt = sel.options[sel.selectedIndex].text;

to:

function renameROI(){
    var sel = document.getElementById("Numbers_value1");
    var _number= sel.options[sel.selectedIndex].text;
    sel = document.getElementById("index");
    _roialt = sel.options[sel.selectedIndex].text;

SybexX avatar Jan 29 '24 16:01 SybexX

should have been fixed with version 15.6.0 and can therefore be closed

SybexX avatar Feb 09 '24 17:02 SybexX