Synthetic CT from MRI - editing MRI segments to Hounsfield Units

You can use the segmentation to change voxels of a volume of the same geometry using numpy array operations, something like this:

volumeNode = getNode('MRHead')
segmentationNode = getNode('Segmentation')

segmentNames = ['bone', 'air', 'tissue', 'tumor']
voxelIntensities = [2000, -1000, 60, 150]

volumeArray = slicer.util.arrayFromVolume(volumeNode)

for segmentName, voxelIntensity in zip(segmentNames, voxelIntensities):
    # Get segment as numpy array
    segmentId = segmentationNode.GetSegmentation().GetSegmentIdBySegmentName(segmentName)
    segmentArray = slicer.util.arrayFromSegmentBinaryLabelmap(segmentationNode, segmentId, volumeNode)
    # Update voxel of the volume
    volumeArray[ segmentArray > 0 ] = voxelIntensity

slicer.util.arrayFromVolumeModified(volumeNode)