arrayfire / arrayfire/arrayfire-python

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

Open
#231 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
422
Forks
63
PR merge metrics
No merged PRs in 30d

Description

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. ,
0. , 0. , 0. , 0. , 0. ]],
dtype=float32)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Python binding entry point af.medfilt1 and reproduce the reported 10×10 example using a window size of 3. Compare the output across dimensions; the work is done when filtering preserves each dimension's results instead of copying dim1 across the array.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
hpc
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.