import os
import slicer
stl_file_name = "D://input.stl"
output_file_name = "D://output.nii.gz"
reference_original_path = "D://originalInput.nii.gz"
referenceVolumeNode = slicer.util.loadVolume(reference_original_path )
segmentationNode = slicer.util.loadSegmentation(stl_file_name)
outputLabelmapVolumeNode = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLLabelMapVolumeNode')
slicer.modules.segmentations.logic().ExportVisibleSegmentsToLabelmapNode(segmentationNode, outputLabelmapVolumeNode, referenceVolumeNode)
slicer.util.saveNode(outputLabelmapVolumeNode, output_file_name)
import os
import slicer # type: ignore
stl_path = r"D:\Tagging\696\stl"
image_path = r"D:\Tagging\696"
out_path = r"D:\Tagging\696\nii"
patients = os.listdir(stl_path)
reference_volume_path = os.path.join(image_path, "test.nii.gz")
num = 1
for patient in patients:
patient_path = os.path.join(stl_path, patient)
stl_file_name = os.path.join(stl_path, patient)
output_file_name = os.path.join(out_path, str(num) + ".nii.gz")
segmentationNode = slicer.util.loadSegmentation(stl_file_name)
referenceVolumeNode = slicer.util.loadVolume(reference_volume_path)
outputLabelmapVolumeNode = slicer.mrmlScene.AddNewNodeByClass('vtkMRMLLabelMapVolumeNode')
slicer.modules.segmentations.logic().ExportVisibleSegmentsToLabelmapNode(segmentationNode, outputLabelmapVolumeNode,
referenceVolumeNode)
slicer.util.saveNode(outputLabelmapVolumeNode, output_file_name)
slicer.mrmlScene.Clear(0)
num+=1