Bird
Raised Fist0
SciPydata~5 mins

Median and uniform filters in SciPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the purpose of a median filter in data processing?
A median filter replaces each data point with the median value of its neighbors. It helps remove noise while keeping edges sharp, like smoothing a photo without blurring important details.
Click to reveal answer
beginner
How does a uniform filter work?
A uniform filter replaces each data point with the average of its neighbors. It smooths data by averaging values, which can blur edges but reduces random noise.
Click to reveal answer
beginner
Which scipy function applies a median filter to data?
The function is scipy.ndimage.median_filter. You give it your data and the size of the neighborhood to calculate medians.
Click to reveal answer
beginner
What parameter controls the size of the neighborhood in median and uniform filters?
The 'size' parameter sets how many neighbors around each point are considered when calculating the median or average.
Click to reveal answer
intermediate
Why might you choose a median filter over a uniform filter?
Median filters are better at removing 'salt and pepper' noise without blurring edges, while uniform filters smooth data but can blur edges.
Click to reveal answer
What does a median filter replace each data point with?
AThe median of its neighbors
BThe average of its neighbors
CThe maximum of its neighbors
DThe minimum of its neighbors
Which scipy function applies a uniform filter?
Ascipy.stats.uniform
Bscipy.ndimage.median_filter
Cscipy.signal.convolve
Dscipy.ndimage.uniform_filter
What effect does increasing the 'size' parameter have in these filters?
AConsiders fewer neighbors
BRemoves all noise
CConsiders more neighbors
DChanges the data type
Which filter is better at preserving edges while removing noise?
AMedian filter
BBoth are equal
CUniform filter
DNeither
What kind of noise is a median filter especially good at removing?
AGaussian noise
BSalt and pepper noise
CUniform noise
DPeriodic noise
Explain how median and uniform filters work and when you might use each.
Think about noise types and edge preservation.
You got /6 concepts.
    Describe the role of the 'size' parameter in median and uniform filters.
    Consider how neighborhood size changes filter effect.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of applying a median filter to a dataset?
      easy
      A. To find the maximum value in the dataset
      B. To calculate the average of all values in the dataset
      C. To remove noise by replacing each value with the middle value in its neighborhood
      D. To sort the dataset in ascending order

      Solution

      1. Step 1: Understand median filter function

        A median filter replaces each data point with the median (middle) value of its neighbors, reducing spikes and noise.
      2. Step 2: Compare options with median filter purpose

        Only To remove noise by replacing each value with the middle value in its neighborhood describes replacing values with the middle value in a neighborhood, which matches the median filter's role.
      3. Final Answer:

        To remove noise by replacing each value with the middle value in its neighborhood -> Option C
      4. Quick Check:

        Median filter = middle value replacement [OK]
      Hint: Median filter picks middle value to reduce spikes [OK]
      Common Mistakes:
      • Confusing median filter with averaging
      • Thinking median filter sorts entire dataset
      • Assuming median filter finds max or min values
      2. Which of the following is the correct way to import the median filter function from scipy?
      easy
      A. from scipy.ndimage import median_filter
      B. import scipy.median_filter
      C. from scipy import median_filter
      D. import median_filter from scipy

      Solution

      1. Step 1: Recall scipy median filter import syntax

        The median_filter function is in scipy.ndimage module, so it is imported as from scipy.ndimage import median_filter.
      2. Step 2: Check each option's correctness

        from scipy.ndimage import median_filter matches the correct syntax. The other options are invalid Python import statements.
      3. Final Answer:

        from scipy.ndimage import median_filter -> Option A
      4. Quick Check:

        Correct import = from scipy.ndimage import median_filter [OK]
      Hint: Import median_filter from scipy.ndimage module [OK]
      Common Mistakes:
      • Trying to import median_filter directly from scipy
      • Using invalid import syntax
      • Confusing module names
      3. What is the output of this code snippet?
      import numpy as np
      from scipy.ndimage import uniform_filter
      
      arr = np.array([1, 2, 3, 4, 5])
      result = uniform_filter(arr, size=3)
      print(result)
      medium
      A. [1 2 3 4 5]
      B. [1.66666667 2. 3. 4. 4.33333333]
      C. [1 2 3 3 3 3]
      D. [1 2 2 3 4]

      Solution

      1. Step 1: Understand uniform_filter with size=3

        The uniform_filter computes the average over a sliding window of size 3. For edges, it uses 'reflect' mode by default.
      2. Step 2: Calculate each element in result

        Using reflect padding:
        - index 0: [2, 1, 2] avg = 1.66666667
        - index 1: [1, 2, 3] avg = 2.0
        - index 2: [2, 3, 4] avg = 3.0
        - index 3: [3, 4, 5] avg = 4.0
        - index 4: [4, 5, 4] avg = 4.33333333
        print(result) shows [1.66666667 2. 3. 4. 4.33333333]
      3. Final Answer:

        [1.66666667 2. 3. 4. 4.33333333] -> Option B
      4. Quick Check:

        Uniform filter smooths values with reflect padding [OK]
      Hint: Uniform filter averages neighbors in window size [OK]
      Common Mistakes:
      • Confusing median_filter output with uniform_filter
      • Ignoring edge effects in uniform_filter
      • Expecting original array unchanged
      4. Identify the error in this code that applies a median filter:
      import numpy as np
      from scipy.ndimage import median_filter
      
      arr = np.array([1, 2, 100, 4, 5])
      filtered = median_filter(arr, size=0)
      print(filtered)
      medium
      A. missing import for numpy
      B. median_filter requires 2D arrays only
      C. numpy array must be float type
      D. size parameter cannot be zero

      Solution

      1. Step 1: Check median_filter size parameter

        The size parameter defines the window size and must be a positive integer. Zero is invalid and causes an error.
      2. Step 2: Verify other code parts

        Array is 1D which is allowed. numpy is imported. Data type can be int. So only size=0 is wrong.
      3. Final Answer:

        size parameter cannot be zero -> Option D
      4. Quick Check:

        Window size > 0 for median_filter [OK]
      Hint: Window size must be positive integer [OK]
      Common Mistakes:
      • Using zero or negative size values
      • Assuming median_filter only works on 2D arrays
      • Forgetting to import numpy
      5. You have a noisy 2D image array with salt-and-pepper noise. Which filter and parameters would best reduce noise while preserving edges?
      import numpy as np
      from scipy.ndimage import median_filter, uniform_filter
      
      image = np.array([[10, 10, 10, 10],
                        [10, 255, 10, 10],
                        [10, 10, 10, 10],
                        [10, 10, 10, 10]])
      
      hard
      A. Use median_filter with size=3 to remove salt-and-pepper noise
      B. Use uniform_filter with size=3 to blur the image
      C. Use median_filter with size=1 to keep image unchanged
      D. Use uniform_filter with size=1 to sharpen edges

      Solution

      1. Step 1: Understand noise type and filter effects

        Salt-and-pepper noise is best removed by median filters because they replace each pixel with the median of neighbors, preserving edges.
      2. Step 2: Evaluate filter choices and parameters

        Median_filter with size=3 covers neighbors and removes noise spikes. Uniform_filter averages and blurs edges, not ideal here. Size=1 means no change.
      3. Final Answer:

        Use median_filter with size=3 to remove salt-and-pepper noise -> Option A
      4. Quick Check:

        Median filter + size=3 removes salt-and-pepper noise [OK]
      Hint: Median filter removes salt-and-pepper noise best [OK]
      Common Mistakes:
      • Using uniform filter which blurs edges
      • Using size=1 which does nothing
      • Confusing noise types and filter effects