# How to write the code for resample in 3D slicer

**URL:** <https://discourse.slicer.org/t/how-to-write-the-code-for-resample-in-3d-slicer/32693>\
**Category:** Support\
**Tags:** python\
**Created:** [November 9, 2023, 12:47pm UTC](https://discourse.slicer.org/t/how-to-write-the-code-for-resample-in-3d-slicer/32693 "2023-11-09T12:47:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chuan](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@Chuan](https://discourse.slicer.org/u/Chuan)\
**Post date:** [November 9, 2023, 12:47pm UTC](https://discourse.slicer.org/t/how-to-write-the-code-for-resample-in-3d-slicer/32693/1 "2023-11-09T12:47:27Z")

</div>

Hi all,

Does anyone know what is the correct code for resampling and resave the volume file as mhd format?  
Basically, what I have is a nrrd file named disp, a reference nrrd file named ref, and a tranform file named tran.  
I would like to go to the module of ’ Resample Scalar/Vector/DWI Volume’ and output a new vector volume, and save this new output vector volume as mhd format.  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/c/7/c73aa5ca44d55d7c767490c5781c07527871faf9.png)

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/2/4/246bdf29ad15ccdd4aeb8886b06ecf7897501c47.png)  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/d/a/da2288af968fd1d78e9cf60a37dd7972eca79622.png)

This is what I used.

############# save as mhd file  
parameters = {}  
parameters[‘inputVolume’] = slicer.util.getNode(‘DISP’)  
#Set output as vector volume  
parameters[‘outputVolume’] = slicer.util.getNode(‘DISP’)  
parameters[‘referenceVolume’] = slicer.util.getNode(REF)  
parameters[‘transformationFile’] = slicer.util.getNode(‘TRAN’)  
parameters[‘interpolationType’] = interpolationType

cliNode = slicer.cli.runSync(slicer.modules.resamplescalarvectordwivolume,None,parameters)

volumeNode = slicer.mrmlScene.GetFirstNodeByClass(‘vtkMRMLScalarVolumeNode’)  
slicer.util.saveNode(volumeNode , outputDisplacementfield\_resampled,{“useCompression”: 0})

But this is wrong, I am so confused that I can not get the correct output from my code. Does anyone help me to check my code?

Thanks for any kinds of discussion and help.  
Best,  
Chuan

---

<div class="post-metadata">

**Author:** ![Chuan](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@Chuan](https://discourse.slicer.org/u/Chuan)\
**Post date:** [November 9, 2023, 7:38pm UTC](https://discourse.slicer.org/t/how-to-write-the-code-for-resample-in-3d-slicer/32693/2 "2023-11-09T19:38:02Z")

</div>

I use below code, and seems work!

############# save as mhd file  
outputVectorNode = slicer.mrmlScene.AddNewNodeByClass(“vtkMRMLVectorVolumeNode”)  
outputVectorNode.SetName(‘disp\_PIPER\_skinskel\_afterDemons\_afterresample’)

parameters = {}  
parameters[‘inputVolume’] = slicer.util.getNode(‘disp\_PIPER\_skinskel\_afterDemons’)  
#Set output as vector volume  
parameters[‘outputVolume’] = slicer.util.getNode(‘disp\_PIPER\_skinskel\_afterDemons\_afterresample’)  
parameters[‘referenceVolume’] = slicer.util.getNode(name\_ref)  
parameters[‘transformationFile’] = slicer.util.getNode(‘LinearTransform\_3’)  
parameters[‘interpolationType’] = interpolationType

cliNode = slicer.cli.runSync(slicer.modules.resamplescalarvectordwivolume,None,parameters)

slicer.util.saveNode(outputVectorNode, outputDisplacementfield\_resampled,{“useCompression”: 0})
