numpy_to_vtk converts unsigned long into unsigned long long
I'm not sure if this is intended behavior:
from vtkmodules.vtkCommonCore import vtkUnsignedLongArray
from vtkmodules.util.numpy_support import vtk_to_numpy, numpy_to_vtk
print(numpy_to_vtk(vtk_to_numpy(vtk.vtkUnsignedLongArray()))) # prints vtkUnsignedLongLongArray
Looking at numpy_support.py, get_vtk_to_numpy_typemap
depends on the system's data type sizes, but get_vtk_array_type
does not.