Commit 81b99bfa02345b83b75488a535a9bd85f49d65e6

Authored by Paulo Henrique Junqueira Amorim
1 parent 4cf10836

ADD: Reduced Matrix slice by slice

Showing 1 changed file with 25 additions and 9 deletions   Show diff stats
invesalius/data/imagedata_utils.py
@@ -4,25 +4,41 @@ import vtk @@ -4,25 +4,41 @@ import vtk
4 # TODO: Test cases which are originally in sagittal/coronal orientation 4 # TODO: Test cases which are originally in sagittal/coronal orientation
5 # and have gantry 5 # and have gantry
6 6
7 -def ResampleMatrix(imagedata, value): 7 +def ResampleMatrix(imagedata, xy_dimension):
8 """ 8 """
9 Resample vtkImageData matrix. 9 Resample vtkImageData matrix.
10 """ 10 """
11 - spacing = imagedata.GetSpacing()  
12 extent = imagedata.GetExtent() 11 extent = imagedata.GetExtent()
13 - size = imagedata.GetDimensions() 12 + spacing = imagedata.GetSpacing()
14 13
15 - width = float(size[0])  
16 - height = float(size[1]/value) 14 + if extent[1]==extent[3]:
  15 + f = extent[1]
  16 + x = 0
  17 + y = 1
17 18
18 - resolution = (height/(extent[1]-extent[0])+1)*spacing[1] 19 + elif extent[1]==extent[5]:
  20 + f = extent[1]
  21 + x=0
  22 + y=2
19 23
  24 + elif extent[3]==extent[5]:
  25 + f = extent[3]
  26 + x = 1
  27 + y = 2
  28 +
  29 + factor = xy_dimension/float(f+1)
  30 +
20 resample = vtk.vtkImageResample() 31 resample = vtk.vtkImageResample()
21 resample.SetInput(imagedata) 32 resample.SetInput(imagedata)
22 - resample.SetAxisMagnificationFactor(0, resolution)  
23 - resample.SetAxisMagnificationFactor(1, resolution)  
24 - 33 + resample.SetAxisMagnificationFactor(0, factor)
  34 + resample.SetAxisMagnificationFactor(1, factor)
  35 + resample.SetOutputSpacing(spacing[0] * factor, spacing[1] * factor, spacing[2])
  36 + resample.Update()
  37 +
  38 +
25 return resample.GetOutput() 39 return resample.GetOutput()
  40 +
  41 +
26 42
27 def FixGantryTilt(imagedata, tilt): 43 def FixGantryTilt(imagedata, tilt):
28 """ 44 """