arrayfire / arrayfire-python

Python bindings for ArrayFire: A general purpose GPU library.
https://arrayfire.com
BSD 3-Clause "New" or "Revised" License
417 stars 65 forks source link

medfilt1 calculates median for dim1 only, then copies this to all other dims #231

Open AndyP103 opened 4 years ago

AndyP103 commented 4 years ago

In arrayfire previously, I've used medfilt1 to apply a median filter to multiple dimensions. However, in the python binding the output from dim1 is copied to all other dims.

For example: import arrayfire as af data = af.randn(10, 10) filt_data = af.medfilt1(data, 3)

filt_data.to_ndarray() array([[ 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 ], [ 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 ], [ 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 , 0.3926208 ], [-0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 , -0.2309244 ], [ 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785], [-0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777, -0.24984777], [ 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785, 0.43086785], [-0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084, -0.82585084], [ 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813, 0.26141813], [ 0. , 0. , 0. , 0. , 0. ,

  1. , 0. , 0. , 0. , 0. ]], dtype=float32)