醫學影象資料格式和格式轉換

jiangjiane發表於2016-12-05

醫學影象資料格式和格式轉換

 

 本文轉載自:http://blog.csdn.net/kingmicrosoft/article/details/35798249


由於最近碰到了資料格式的問題,重建不出效果很是頭疼,所以簡單總結下資料格式相關內容,我的主要開發包是ITK+VTK+QT,所以要說的格式內容基本和VTK相關。

 

1.     Fileformats(幾種資料格式介紹)

 

Images

 

    dcm (DICOM Image,only Read): DICOM的 全 稱 是 Digital Imaging and Communications in Medicine (DICOM),它是用於處理,儲存,列印,和在醫學成像傳送資訊的標準 ,它包括檔案格式定義和一個網路通訊協議。至於檔案格式定義,可以參考其他資料。

 

mha/mhd(Meta Image): 它指定表示該元資訊中關於畫素資料的報頭的一個標準化的方法;

 

 

vti (VTK XML Image Data): 視覺化工具包(VTK)的影象格式;帶有嵌入二進位制資料的XML語法;非常靈活;可以代表在同一檔案的多個標量/向量/張量資料;不支援影象方向(儘管它可以包括表示方向矩陣的自定義資料。注意:是image data!

 

Surfaces

 

vtp (VTK XML): 視覺化工具包(VTK)的表示表面的資料;帶有嵌入二進位制資料的XML語法; POLYDATA(VTP,在VTK的資料體系中就是:序列vtkPolyData(非結構化)

 

    stl (Stereolithography): STL(立體光刻)是一種檔案格式,原產於通過3D系統建立的立體CAD軟體。STL中也被稱為標準的Tessellation語言。 STL檔案描述三維物體的只是表面的幾何形狀沒有顏色的任何宣告,質地或其他常見的CAD模型屬性。 STL的格式指定ASCII和二進位制表示。二進位制檔案是比較常見的,因為他們更緊湊

 

Meshes

 

    vtu (VTK XML): 視覺化工具包(VTK)為網格格式;帶有嵌入二進位制資料的XML語法; UnstructuredGrid(VTU)—在VTK的資料體系中就是:序列vtkUnstructuredGrid (非結構化)

 

    xda (libMesh, only Write): libMesh meshfiles consist of two sections, the header and the data. The header containsimportant size information. It defines the number of elements, number of nodes,etc… that are in the mesh. The data section contains the actual elementconnectivity, the nodal coordinates, and any boundary condition information

 

vtk: 視覺化工具包(VTK)為網格格式;ASCII或二進位制格式

 

具體可以參考:http://www.vmtk.org/documentation/getting-started.html

 

 

 

2.      Image formatconversion(影象格式轉換)

 

我做的方向是點雲重建這一塊,剛剛起步,目前碰到的資料格式並不多。所以這裡且當拋磚引玉好了。

 

1)     dicom格式到.vti格式:

 

Suppose youwant to write the image volume in vti format (the VTK XML format for images -it’s convenient because it’s internally gzip’d):

如果你裝了VMTK,可以:

vmtkimagereader-f dicom -d dicom_directory_path --pipe vmtkimagewriter -ofile image_volume.vti

 

2)     polydata轉到volumerepresentation (vtkImageData)

參考:http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataToImageData

裡面附帶了全部的原始碼,編譯後就可以執行的。

 

3)    Read vtp fileand write a ply file

 

參考:http://www.cmake.org/Wiki/VTK/Examples/Cxx/IO/ConvertFile

 

4)     一個開源包:gdcm2vtk(太強大了)

The gdcm2vtktakes as input any file supported by VTK (including DICOM file) and willgenerate as output a DICOM file.

http://manpages.ubuntu.com/manpages/oneiric/man1/gdcm2vtk.1.html

http://gdcm.sourceforge.net/html/gdcm2vtk.html

 

5)利用paraview軟體(免費)

 

paraview支援的格式:

 

.boundary,.cas, .case, .cosmo, .cube, .csv, .dem, .d3plot, .e, .ex, .ex2v2, .exo, .exoii,.foam, .g, .gen, .gadget2, .hierarchy, .inp, .isdyna, .k, .mha, .mhd, .nc,.ncdf, .netcdf, .nhdr, .nrrd, .obj, .particles, .pdb, .pht, .ply, .png, .pop,.pvd, .pvti, .pvtk, .pvtp, .pvtr, .pvts, .pvtu, .raw, .res, .sesame, .sos,.spcth, .stl, .tec, .tiff, .tp, .vpc, .vrml, .vthb, .vti, .vtk, .vtm, .vtmb,.vtp, .vtr, .vts, .vtu, .wind, .wrl, .xdmf, .xmf, .xyz

 

還有一個好處就是這個軟體是視覺化的,有很多引數可以一目瞭然

相關文章