The difference in the results of running Isodose from Python Interactor between the two versions of 3DSlicer and the result from the Isodose module

Hello Dear Developers and Users

In my attempt to generate the Isodose surface of 47.00 Gy, I noticed that the output of the isodose surfaces differed between two versions of 3DSlicer, versions 5.6.2 and 5.0.2. I executed the following commands in the Python Interactor of both versions of 3DSlicer.

# Get the dose volume node by class and name
doseVolumeNode = slicer.util.getFirstNodeByClassByName('vtkMRMLScalarVolumeNode', '2: RTDOSE: DOSIsoft:RTDOSE:Phase #1 Dosi Dosi 1: Beam setup 1 (GY) [11]: Beam setup 1')

# Create a new Isodose node instance for displaying isodose surfaces
object_vtkMRMLIsodoseNode = slicer.vtkMRMLIsodoseNode().CreateNodeInstance()

# Set the scene for the isodose node to match the dose volume node's scene
object_vtkMRMLIsodoseNode.SetScene(doseVolumeNode.GetScene())

# Set the dose units to Gray (Gy)
object_vtkMRMLIsodoseNode.SetDoseUnits(slicer.vtkMRMLIsodoseNode.Gy)

# Set the reference dose value (in Gy) for isodose levels
object_vtkMRMLIsodoseNode.SetReferenceDoseValue(47.00)

# Observe the dose volume node to track its changes
object_vtkMRMLIsodoseNode.SetAndObserveDoseVolumeNode(doseVolumeNode)

# Setup the color table for the isodose node based on the dose volume
slicer.modules.isodose.logic().SetupColorTableNodeForDoseVolumeNode(doseVolumeNode)
#slicer.util.getModuleLogic('Isodose').SetupColorTableNodeForDoseVolumeNode(doseVolumeNode)

# Create isodose surfaces based on the configured isodose node
slicer.modules.isodose.logic().CreateIsodoseSurfaces(object_vtkMRMLIsodoseNode)

Result of execution in 3DSlicer version 5.0.2:

Result of execution in 3DSlicer version 5.6.2:

As you can see, I believe that these commands in 3DSlicer version 5.6.2 result in just one isodose surface, although I’m not sure about this. However, the outcome of these commands in 3DSlicer version 5.0.2 is practically ineffective, and the generated isodose surfaces are related to the default settings of the Isodose module’s graphical interface.

Then, I generated the Isodose surface at 47.00 Gy through the Isodose module in 3DSlicer version 5.6.2. The result was different from the outcome of the commands mentioned earlier in the same version of 3DSlicer as seen below:

The node named Isodose_Surface_Generated_by_Python is the result of running the commands in Python Interactor, and the node named Isodose_Surface_Generated_by_Isodose_Module is the result of running the Isodose module in 3DSlicer version 5.6.2.

The data used to run these commands is available through this link.
Please guide me.
Best regards.
Shahrokh

Dear Developers and Users,

I apologize for taking your time again, but I have not received a response regarding my previous problem. Could you kindly help and guide me with the issue I encountered regarding the isodose surfaces in 3DSlicer? Your guidance would be greatly appreciated.

Best regards,
Shahrokh