It looks like it’s working out of the box:
ds = pydicom.read_file(path)
data = ds.pixel_array
print(data.shape)
> (505, 600, 800, 3)

You could use this method to load the data as numpy arrays.
If that’s working for you, you could implement this logic into a Dataset.