コード例 #1
0
def _import_vtk_ct_data(ct_data):
    """ Creates python array data from vtk file """
    
    # read in text
    lines = _read_text(ct_data)
    lines = _remove_eol_r(lines)
    header = lines.split('LOOKUP')[0]
        
    # read in X data
    xlines = _refine_vtk_lines(header, 'X_COORDINATES \d+', 'double', 'Y_COORDINATES')
    X = [float(x) for x in xlines]
    
    # read in Y data
    ylines = _refine_vtk_lines(header, 'Y_COORDINATES \d+', 'double', 'Z_COORDINATES')
    Y = [float(y) for y in ylines]
    
    # read in Z data
    zlines = _refine_vtk_lines(header, 'Z_COORDINATES \d+', 'double', 'CELL_DATA')
    Z = [float(z) for z in zlines]

    # read in lookup data
    lookup_lines = _refine_vtk_lines(lines, 'LOOKUP_TABLE','default','')
    lookup = [int(l) for l in lookup_lines]

    # create vtk class
    vtk = vtk_data(X,Y,Z, lookup)

    # return data
    return vtk
コード例 #2
0
 def setUp(self):
     self.vtk_fle = os.path.join('py_bonemat_abaqus','tests','test.vtk')
     create_vtk_file(self.vtk_fle)
     x = [-1., 0., 1.]
     lookup = [0, 5, 10, 5, 10, 15, 10, 15, 20,
               5, 10, 15, 25, 15, 20, 15, 20, 25,
               10, 15, 20, 15, 20, 25, 20, 25, 30]
     self.vtk = vtk_data(x,x,x,lookup)
コード例 #3
0
def _import_dicoms(ct_data):
    """ Imports dicom data and rearranges voxels to vtk lookup """
    
    dicom_order, dicom_data = _import_dicom_ct_data(ct_data)
    lookup = _import_dicom_lookup(dicom_order, dicom_data, ct_data)
    X,Y,Z = _calc_dicom_xyz(dicom_data)
    vtk = vtk_data(X,Y,Z, lookup)
    
    return vtk
コード例 #4
0
def create_vtk(x = [-1., 0., 1.], lookup = [0, 5, 10, 5, 10, 15, 10, 15, 20,
              5, 10, 15, 25, 15, 20, 15, 20, 25,
              10, 15, 20, 15, 20, 25, 20, 25, 30]):
    
    return vtk_data(x,x,x,lookup)