SamplePerPixels

Hello francois,
here is my complete script nothing fancy at all…

#######
# importing libraries
#######

from paraview.simple import *
import numpy as np
import os
import time
import sys
import subprocess
from paraview.servermanager import *
from vtk.numpy_interface import dataset_adapter as dsa

from paraview import python_view
imageResolution=[2832, 1053]
#######
# definition of variables
#######

foamFile='sim.foam'
casePath=str(__file__).replace('\\','/')
casePath=casePath.replace(casePath.split('/')[-1],'')
path=casePath+foamFile

#######
# creating different filters and reading case data
#######

simfoam = OpenFOAMReader(registrationName=foamFile, FileName=path)

try:
    simfoam.MeshRegions = ['internalMesh', 'lagrangian/cellCloud', 'lagrangian/bubbleCloud']
except:
    simfoam.MeshRegions = ['internalMesh', 'lagrangian/cellCloud']
    sys.exit(0)


try:
    os.makedirs(casePath+'/screenshots')
except:
    pass

animationScene1 = GetAnimationScene()

renderView1 = GetActiveViewOrCreate('RenderView')
renderView1.ResetActiveCameraToPositiveY()
renderView1.ResetCamera(-0.5, 0.5, -0.007799999788403511, 0.0, 0.0, 0.6899999976158142, True, 0.9)
renderView1.OrientationAxesVisibility = 0
renderView1.ViewSize = imageResolution

# recovering time step from args of script
try:
    timeForImage=float(sys.argv[1])
    animationScene1.AnimationTime = timeForImage
    fileName=sys.argv[1]
    print('setting time step to '+fileName)
except:
    # if no extra arg was given, it goes to last time step
    animationScene1.GoToLast()
    fileName='test'
    pass


# filter for removing internal boundaries in a parallel mesh
# d31 = D3(registrationName='D31', Input=simfoam)
d31 = simfoam

#getting min max values
axes=['X Axis','Y Axis','Z Axis']
direction=[0,1,2]
boundingBox = [BoundingRuler(registrationName='bounding ruler '+axis, Input=simfoam, Axis = axis) for axis in axes]
XYZLimits = [Fetch(limit) for limit in boundingBox]
[[xMin,xMax],[yMin,yMax],[zMin,zMax]]=[[limit.GetPoint(0)[direction[nAxis]],limit.GetPoint(1)[nAxis]] for nAxis,limit in enumerate(XYZLimits)]

# extracting different parts of the mesh
internalMesh    = ExtractBlock(registrationName='internalMesh', Input=d31,Selectors=['/Root/internalMesh'])
cellCloud       = ExtractBlock(registrationName='cellCloud', Input=d31, Selectors=['/Root/lagrangian/cellCloud'])
bubbleCloud     = ExtractBlock(registrationName='bubbleCloud', Input=d31, Selectors=['/Root/lagrangian/bubbleCloud'])


slice1 = Slice(registrationName='Slice1', Input=simfoam)
slice1.SliceType.Normal = [0.0, 1.0, 0.0]
slice1Display = Show(slice1, renderView1, 'GeometryRepresentation', Representation = 'Surface')
ColorBy(slice1Display, ('POINTS', 'U', 'Magnitude'))
slice1Display.RescaleTransferFunctionToDataRange(True, False)
slice1Display.SetScalarBarVisibility(renderView1, True)
slice1Display.Opacity = 0.5

uLUT = GetColorTransferFunction('U')
uLUTColorBar = GetScalarBar(uLUT, renderView1)
uLUTColorBar.TitleFontSize = 30
uLUTColorBar.LabelFontSize = 30
uLUTColorBar.TitleColor = [0.0, 0.0, 0.0]
uLUTColorBar.LabelColor = [0.0, 0.0, 0.0]
uLUTColorBar.TitleBold = 1
uLUTColorBar.LabelBold = 1

glyph1 = Glyph(registrationName='Glyph1', Input=bubbleCloud,
                GlyphType='Sphere',OrientationArray = ['POINTS', 'No orientation array'], ScaleArray = ['POINTS', 'd'], ScaleFactor = 1.0, GlyphMode = 'All Points',)
glyph1Display = Show(glyph1, renderView1, 'GeometryRepresentation')
glyph1.ScaleFactor = 1.0
glyph1.GlyphType.Radius = 1
glyph1.GlyphType.ThetaResolution = 20
glyph1.GlyphType.PhiResolution = 20

SaveScreenshot(filename=casePath+'/screenshots/'+fileName+'.png', viewOrLayout=renderView1, location=16, ImageResolution=imageResolution,
    TransparentBackground=1, CompressionLevel='1')

here is the data:
https://filesender.renater.fr/?s=download&token=35a46012-723a-4cc5-b93e-e16a576db340

regards