SimpleITK nelze zobrazit obrázek

0

Otázka

Mám níže uvedený kód. print(image.GetDimension()) funguje a tiskne na výstup (512, 512, 17). Ale sitk.Show(image) nefunguje.

Můj Kód

import SimpleITK as sitk

path = "C:/Users/myUserName/Desktop/0001.DCM"
image = sitk.ReadImage(path)

print(image.GetDimension())
sitk.Show(image)

Můj chybová zpráva:

RuntimeError: Exception thrown in SimpleITK Show: D:\a\1\sitk\Code\IO\src\sitkImageViewer.cxx:562:
sitk::ERROR: Error in administrating child process: [Access is denied].
Command line: 'C:\Users\myUserName\Fiji.app' 'C:\\Users\\myUserName\\AppData\\Local\\Temp\\TempFile-21536-2.mha' 

Jak to mohu opravit? Jsem rozepnul ImageJ a dal Fiji.app složky na C:\Users\myUserName\Fiji.app. DICOM image 0001.DCM nemá problém jako já, můžete ji zobrazit prostřednictvím některé on-line DICOM viewer. Já používám Windows 10, a spustit svůj kód Pythonu v Spyder. Díky předem!

image medical medical-imaging python
2021-10-20 21:17:43
1

Nejlepší odpověď

1

Zkuste nastavení SITK_SHOW_COMMAND na bod přímo k ImageJ spustitelný soubor. Pro instalaci z Fidži, proměnné prostředí by měla být nastavena na C:\Users\myUserName\Fiji.app\ImageJ-win64.exe.

OK, tady je můj mírně upravená verze skriptu:

import SimpleITK as sitk

#path = "C:/Users/myUserName/Desktop/0001.DCM"
path = "C:\SimpleITK-build\SimpleITK-build\ExternalData\Testing\Data\Input\DicomSeries\Image0075.dcm"
image = sitk.ReadImage(path)

print(image.GetDimension())
sitk.Show(image, debugOn=True)

Jediný rozdíl je, že jsem přidal debugOn vlajky na výzvu Ukázat.

A tady je můj výstup:

Debug: In D:\bld\libsimpleitk_1627514864077\work\Code\IO\src\sitkImageViewer.cxx, line 495: ExecuteCommand: 'C:/Users/dchen/Fiji.app/ImageJ-win64.exe' '-eval' 'open("C:\\Users\\dchen\\AppData\\Local\\Temp\\TempFile-10808-0.mha"); rename("C:\\Users\\dchen\\AppData\\Local\\Temp\\TempFile-10808-0.mha");'


Debug: In D:\bld\libsimpleitk_1627514864077\work\Code\IO\src\sitkImageViewer.cxx, line 576: Done.  Deleting process.

A můžete vidět přesně to příkaz, který SimpleITK je provádění vyvolat Fidži. Zejména, program je spuštěn, je C:/Users/dchen/Fiji.app/ImageJ-win64.exe'.

Pokud zapnete debugOn vlajky, co dělá SimpleITK výstup?

2021-10-22 14:23:25

Díky za vaši odpověď. Snažil jsem se to udělat $SITK_SHOW_COMMAND = "C:\Users\myUserName\Fiji.app\ImageJ-win64.exe" v mém PowerShell, a potvrdil, že proměnná je nastavena pomocí Get-Variable -Name SITK_SHOW_COMMAND. Mohu také potvrdit, že soubor C:\Users\myUserName\Fiji.app\ImageJ-win64.exe existuje. Ale stále mám stejný chyba při spuštění Python kód.
H42

Snažil jsem se setx SITK_SHOW_COMMAND "C:\Users\myUserName\Fiji.app\ImageJ-win64.exe" v cmd místo, a to funguje!. Nyní ImageJ pop-up a problém je vyřešen. Nemám ponětí, proč $SITK_SHOW_COMMAND = v PowerShell nefunguje, ale setx v cmd funguje. Ale problém je teď vyřešen. Díky!!!!
H42

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................