Notas de estudio de segmentación (cincuenta y tres) datos de segmentación a datos de simpleITK

Notas de estudio de segmentación (cincuenta y tres) datos de segmentación a datos de simpleITK

1、Ejecutar un filtro ITK en Python usando SimpleITK

 inputImage = sitkUtils.PullVolumeFromSlicer(self.volume_node)
 print(inputImage)
Image (00000265CB863CC0)
  RTTI typeinfo:   class itk::Image<int,3>
  Reference Count: 1
  Modified Time: 3770
  Debug: Off
  Object Name: 
  Observers: 
    none
  Source: (none)
  Source output name: (none)
  Release Data: Off
  Data Released: False
  Global Release Data: Off
  PipelineMTime: 3754
  UpdateMTime: 3769
  RealTimeStamp: 0 seconds 
  LargestPossibleRegion: 
    Dimension: 3
    Index: [0, 0, 0]
    Size: [136, 88, 224]
  BufferedRegion: 
    Dimension: 3
    Index: [0, 0, 0]
    Size: [136, 88, 224]
  RequestedRegion: 
    Dimension: 3
    Index: [0, 0, 0]
    Size: [136, 88, 224]
  Spacing: [3, 3, 3]
  Origin: [-228.5, -198.5, -730]
  Direction: 
1 0 0
0 1 0
0 0 1

  IndexToPointMatrix: 
3 0 0
0 3 0
0 0 3

  PointToIndexMatrix: 
0.333333 0 0
0 0.333333 0
0 0 0.333333

  Inverse Direction: 
1 0 0
0 1 0
0 0 1

  PixelContainer: 
    ImportImageContainer (00000265F7241CF0)
      RTTI typeinfo:   class itk::ImportImageContainer<unsigned __int64,int>
      Reference Count: 1
      Modified Time: 3766
      Debug: Off
      Object Name: 
      Observers: 
        none
      Pointer: 00000265F365B040
      Container manages memory: true
      Size: 2680832
      Capacity: 2680832


2. Asigne SimpleITK a volumeNode

Asignación inversa después de completar el procesamiento

import SampleData
import SimpleITK as sitk
import sitkUtils

# Get input volume node
inputVolumeNode = SampleData.SampleDataLogic().downloadMRHead()
# Create new volume node for output
outputVolumeNode = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLScalarVolumeNode", "MRHeadFiltered")

# Run processing
inputImage = sitkUtils.PullVolumeFromSlicer(inputVolumeNode)
filter = sitk.SignedMaurerDistanceMapImageFilter()
outputImage = filter.Execute(inputImage)
sitkUtils.PushVolumeToSlicer(outputImage, outputVolumeNode)

# Show processing result
slicer.util.setSliceViewerLayers(background=outputVolumeNode)

参考:Ejecutando un filtro ITK en Python usando SimpleITK

Supongo que te gusta

Origin blog.csdn.net/juluwangriyue/article/details/123724279
Recomendado
Clasificación