Доброго всем вечера,

Столкнулся для себя с нестандартной проблемой - надо посмотреть файлы DICOM.
Дали CD-диск с файлами AUTORUN.INF  CDVIEWER.EXE  CDVIEWER.JAR  DICOMDIR
в корне, дирами A и вложенной в нее дирой B  в которой находятся
собственно DICOM-файлы. Это все дело прислали мне эл. почтой.
> $ file AUTORUN.INF 
> AUTORUN.INF: Microsoft Windows Autorun file.

> $ file CDVIEWER.EXE 
> CDVIEWER.EXE: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

> $ file DICOMDIR 
> DICOMDIR: DICOM medical imaging data

> file A00
> A00: DICOM medical imaging data

Нашел в дистре сквизи такие пакеты:
~$ aptitude search dicom
i   dicom3tools                     - DICOM medical image files
manipulation and
i   dicomnifti                      - конвертирует файлы DICOM в формат
NIfTI
i   dicomscope                      - The OFFIS DICOM Viewer

i   python-dicom                    - DICOM medical file reading and
writing
Установил их.

Пытаюсь открыть файлы в dicomscope - ничего не открывает, пишет - Load
Failed.
Не совсем правда понимаю, что грузить, пытался грузить и сами
dicom-файлы, и файл DICOMDIR - без толку.
В Process Log в окошке дикомдира никакого лога при этом не вижу.
Пытаюсь исполнить strace dicomscope, лается на то, что:
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/tls/x86_64/libz.so.1",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/tls/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/tls/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/tls", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../lib/amd64/jli", 
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/tls/x86_64/libz.so.1",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/tls/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/tls/libz.so.1",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/tls", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/x86_64/libz.so.1",
>  O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/bin/../jre/lib/amd64/jli", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/tls/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/tls/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/tls/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/tls", 0x7fff6f258be0) 
> = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libz.so.1", O_RDONLY) 
> = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server", 
> {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/tls/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/tls/x86_64", 0x7fff6f258be0) 
> = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/tls/libz.so.1", O_RDONLY) = 
> -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/tls", 0x7fff6f258be0) = -1 
> ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/x86_64/libz.so.1", O_RDONLY) 
> = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/x86_64", 0x7fff6f258be0) = -1 
> ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libz.so.1", O_RDONLY) = -1 
> ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/lib/amd64", {st_mode=S_IFDIR|0755, 
> st_size=4096, ...}) = 0
> open("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/tls/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/tls/x86_64", 
> 0x7fff6f258be0) = -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/tls/libz.so.1", O_RDONLY) 
> = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/tls", 0x7fff6f258be0) = -1 
> ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/x86_64/libz.so.1", 
> O_RDONLY) = -1 ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/x86_64", 0x7fff6f258be0) = 
> -1 ENOENT (No such file or directory)
> open("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64/libz.so.1", O_RDONLY) = -1 
> ENOENT (No such file or directory)
> stat("/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64", 0x7fff6f258be0) = -1 
> ENOENT (No such file or directory)
нет файлов, которые похоже проге нужны.
Вроде бы основные пакеты оупджавы в системе есть:
> $ aptitude search openjdk
> p   openjdk-6-dbg                                                             
>   - Java runtime based on OpenJDK (debugging symbols)                         
>             
> p   openjdk-6-demo                                                            
>   - Java runtime based on OpenJDK (demos and examples)                        
>             
> p   openjdk-6-doc                                                             
>   - OpenJDK Development Kit (JDK) documentation                               
>             
> p   openjdk-6-jdk                                                             
>   - комплект разработчика OpenJDK                                             
>             
> i A openjdk-6-jre                                                             
>   - OpenJDK Java runtime, using Hotspot JIT                                   
>             
> i A openjdk-6-jre-headless                                                    
>   - OpenJDK Java runtime, using Hotspot JIT (headless)                        
>             
> i A openjdk-6-jre-lib                                                         
>   - OpenJDK Java runtime (architecture independent libraries)                 
>             
> v   openjdk-6-jre-shark                                                       
>   -                                                                           
>             
> p   openjdk-6-jre-zero                                                        
>   - Alternative JVM for OpenJDK, using Zero/Shark                             
>             
> p   openjdk-6-source             ,
не знаю какого рожна ему не хватает, не документации же или сырцов
оупнджавы?!


В dicom3tools входят следующие утилиты:
> /usr/bin/andump
> /usr/bin/dcentvfy
> /usr/bin/dcsrdump
> /usr/bin/dcsort
> /usr/bin/dctable
> /usr/bin/dcdirdmp
> /usr/bin/dcdump
> /usr/bin/dcfile
> /usr/bin/dchist
> /usr/bin/dckey
> /usr/bin/dciodvfy
> /usr/bin/dcstats
> /usr/bin/jpegdump
но ни одной из них я не смог посмотреть картинки. В лучшем случае
получал какую-то метаинформацию о файле.

Как пользоваться python-dicom  вообще не понял, видимо он нужен для
написания питон-скриптов для чтения этих файлов, в чем я не силен.

Утилита dicomhead из пакета dicomnifti выдает какую-то фигню:
> $ dicomhead DICOMDIR 
> 
>       **** DICOMImage::Mosaic: Cannot get value of image type in image 
> DICOMDIR

> $ dicomhead A/B/A00
> 
>       **** DICOMImage::NumSlices: Cannot get number of slices from A/B/A00
>       **** Setting value to 1 (can be changed with '-s' option on command 
> line.)
> 
> 
>       **** DICOMImage::GetRepetitonTime: Cannot get value of acquisition 
> repetition time in image A/B/A00


При употреблении указанной опции -s ругается, что не может открыть файл
-s, воспринимая ее не как опцию, а как файл (в man нет вообще опций
никаких).
Что за NIfTI format и как его читать, если в него конвертнуть, я честно
не совсем понимаю.
Пытался wine'ом открыть CDVIEWER.EXE - ругается, что нужна java 1.5 или
выше, видимо пойду в виртмашину открывать в винде, хотя эта идея мне
особо не нравиться...


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51374c49.5010...@lavabit.com

Ответить