Convert Between VtArray and Numpy Array¶
Some Attributes store array type data which are accessed using the VtArray classes. You can find a list of the VtArray classes in our USD Data Types documentation.
If you need to manipulate the arrays using Python, it is advantageous to use Numpy to benefit from it’s speed and efficiency. These snippets show how you can convert between the VtArray objects and Numpy Array objects.
USD API¶
Convert to Numpy Array¶
To convert a VtArray to a Numpy Array, simply pass the VtArray object to numpy.array
constructor.
import numpy
from pxr import Vt
my_vec3_array = Vt.Vec3fArray([(1,2,3),(4,5,6),(7,8,9)])
from_vt = numpy.array(my_vec3_array)
Convert from Numpy Array¶
To convert a Numpy Array to a VtArray, you can use FromNumpy()
from the VtArray class you want to convert to.
import numpy
from pxr import Vt
my_array = numpy.array([(1,2,3),(4,5,6),(7,8,9)])
from_numpy = Vt.Vec3fArray.FromNumpy(my_array)