Pyradiomics: [BUG] Stiller Fehler beim Initialisieren des Extraktors mit einem ungültigen Pfad

Erstellt am 17. Juni 2020  ·  5Kommentare  ·  Quelle: AIM-Harvard/pyradiomics

Beschreibe den Fehler
Stiller Fehler beim Initialisieren des Extraktors mit einem ungültigen Pfad.

Beobachtetes Verhalten:
Wenn Sie radiomics.featureextractor.RadiomicsFeatureExtractor mit einem nicht vorhandenen Pfad (oder einem Pfad, der ~/ ) verwenden, wird die yaml-Datei nicht gelesen, aber der Extraktor gibt ein Standardobjekt zurück.

Erwartetes Verhalten:
Ein Fehler wurde ausgelöst: Datei nicht gefunden. Derzeit arbeiten Benutzer möglicherweise weiterhin mit execute (und veröffentlichen?!), Wenn sie glauben, dass die Ausgabe ihre Einstellungen verwendet.

PyRadiomics-Konfiguration
Unzutreffend. Alle gültigen Pyradiomics Yaml.

Version (bitte vervollständigen Sie die folgenden Informationen):

  • Betriebssystem: CentOS 7
  • Python-Version: 3.7.6
  • PyRadiomics-Version: 3.0

Zusätzlicher Kontext
Wird in einer neu installierten Basis-Anaconda-Umgebung ausgeführt.

bug

Alle 5 Kommentare

Guter Punkt, das kann sehr gefährlich sein.

Wenn Sie --validate aktivieren, wird dieses Problem erkannt, aber die Validierung der Parameterdatei ist standardmäßig deaktiviert.

@JoostJM Gibt es einen Grund, nicht immer zu validieren? Wie wäre es, wenn wir das Flag --validate auf yes / no setzen und es standardmäßig auf yes setzen?

Ich werde nachforschen, aber soweit ich weiß, ist die Parameterdatei auch validiert, wenn die cmd-Zeile normal ausgeführt wird. --validate verwendet die reguläre PyRadiomics-Schnittstelle, überprüft jedoch nur die Parameterdatei und prüft, ob alle bereitgestellten Bild- und Maskenpfade vorhanden sind.

Ich habe gestern nachgesehen und konnte das Problem bestätigen.

Es ist in der Tat ein Fehler in der __init__ -Funktion des Feature-Extraktors, der stillschweigend fehlschlägt, wenn eine Zeichenfolge auf eine nicht vorhandene Datei verweist und dann die Standardeinstellungen anwendet. If wird dies aktualisieren.
Während der Validierung wird ein Fehler protokolliert, wenn der Pfad der Parameterdatei ungültig ist.

Bei der Übergabe eines gültigen Dateipfads wird die Parameterdatei in beiden Fällen überprüft, dh überprüft, ob sie dem Pyradiomics-Konfigurationsschema entspricht. Dies gilt auch, wenn ein Wörterbuch als einzelnes Positionsargument für die Initialisierung des Feature-Extraktors übergeben wird (keine erweiterten Wörterbuch- / Schlüsselwortargumente, die als Konfigurationsparameter vom Typ "Einstellungen" interpretiert werden).

Dies gilt auch, wenn ein Wörterbuch als einzelnes Positionsargument für die Initialisierung des Feature-Extraktors übergeben wird

Was für ein Wörterbuch meinst du damit? Weil die Dokumentation sagt:

Parameter vom Typ 1 (Bildtyp) und 2 (Feature-Class) können nur bei der Initialisierung bei Verwendung der Parameterdatei bereitgestellt werden

Es sei denn, Sie meinen ein Einstellungsdiktat. Wenn ich also den Feature-Extraktor mit mydict anstelle von **mydict initialisiere, soll er funktionieren? Weil die Validierung im ersteren Fall immer fehlzuschlagen scheint, unabhängig von den Diktateinstellungen.

Edit: Nevermind, fand die relevante Dokumentation:

Bei der Initialisierung kann ein [...] Wörterbuch bereitgestellt werden, das alle erforderlichen Einstellungen enthält (oberste Ebene mit den Tasten "Einstellung", "Bildtyp" und / oder "Feature-Klasse"). Dies geschieht, indem es als erstes Positionsargument übergeben wird.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen