diff --git a/image_expressions_cpp.py b/image_expressions_cpp.py
index 57592540161684f5e9fe7fb7206b6606a4574d09..c98ad2ac1c99276310b175ad6f99f5ef2e787749 100644
--- a/image_expressions_cpp.py
+++ b/image_expressions_cpp.py
@@ -15,6 +15,7 @@ def get_ExprIm_cpp(
         im_type="im",
         im_is_def=0,
         u_is_vtk=0,
+        static_scaling_factor=0,
         verbose=0):
 
     assert (im_dim in (2,3))
@@ -122,9 +123,10 @@ public:
     {
         vtkSmartPointer<vtkXMLImageDataReader> reader = vtkSmartPointer<vtkXMLImageDataReader>::New();
         reader->SetFileName(filename);
-        reader->Update();
+        reader->Update();'''+('''
 
-        static_scaling = getStaticScalingFactor(reader->GetOutput()->GetScalarTypeAsString());'''+('''
+        static_scaling = getStaticScalingFactor(reader->GetOutput()->GetScalarTypeAsString());''')*(not static_scaling_factor)+('''
+        static_scaling = '''+str(static_scaling_factor)+''';''')*(static_scaling_factor)+('''
 
         vtkSmartPointer<vtkImageGradient> gradient = vtkSmartPointer<vtkImageGradient>::New();
 #if VTK_MAJOR_VERSION >= 6