У меня есть двумерный массив Numpy следующим образом:
vol_coords = np.array([[ 2, 68],
[ 79, 30],
[ 2, 68],
[ 79, 30],
[ 79, 30],])
Я хотел бы увеличить позиции, указанные в приведенном выше массиве, в трехмерном томе, где позиция z фиксирована.Представьте, что это кусок объема в плоскости XY.
voxel_space = np.zeros((100, 240, 180))
Приращение в трехмерном объеме равно количеству раз, когда позиция появляется в более раннем массиве.Предположим, я решил увеличить позицию Oth Z в трехмерном массиве, тогда ожидаемые результаты будут такими, как показано ниже:
>> voxel_space[0, 2, 68]
2.0
>> voxel_space[0, 79, 30]
3.0
Я использовал следующий подход,
voxel_space[0 , vol_coords[:, 0], vol_coords[:,1]]+=1
Однако приведенный выше подход всегда дает мне значение 1.0
и не учитывает повторения в массиве vol_coords
.Может кто-нибудь, пожалуйста, скажите мне, как я мог решить эту проблему.Я бы предпочел не использовать цикл for и итеративно решать проблему.