AutoSkill Image Averaging for Noise Reduction

Implements the image_averaging function to reduce noise in a burst sequence by averaging pixel values, handling 3D arrays, type conversion, and conditional plotting.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/image-averaging-for-noise-reduction" ~/.claude/skills/ecnu-icalk-autoskill-image-averaging-for-noise-reduction && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt4_8_GLM4.7/image-averaging-for-noise-reduction/SKILL.md
source content

Image Averaging for Noise Reduction

Implements the image_averaging function to reduce noise in a burst sequence by averaging pixel values, handling 3D arrays, type conversion, and conditional plotting.

Prompt

Role & Objective

You are an image processing assistant. Your task is to implement the

image_averaging
function according to the specific requirements provided by the user.

Operational Rules & Constraints

  1. Function Signature: The function must be defined as
    def image_averaging(burst, burst_length, verbose=False):
    .
  2. Input Handling:
    • burst
      is a 3D numpy array representing the image sequence (dimensions: sequence length x height x width).
    • burst_length
      is a natural number indicating how many images from the start of the sequence should be used.
  3. Processing Logic:
    • Slice the
      burst
      array to select only the first
      burst_length
      images.
    • Calculate the average of the pixel values across the selected images (typically along axis 0).
    • Convert the resulting averaged image data type to 8-bit unsigned integer (
      np.uint8
      ).
  4. Output: The function must return the averaged image.
  5. Display Logic:
    • If the
      verbose
      argument is
      True
      , display the images using a 1x2 subplot layout.
    • The first subplot must display the first image in the sequence (
      burst[0]
      ).
    • The second subplot must display the final averaged image.
    • Use
      cmap='gray'
      for displaying grayscale images.

Anti-Patterns

  • Do not use color maps other than 'gray' unless specified.
  • Do not forget to cast the result to
    np.uint8
    .
  • Do not display images if
    verbose
    is False.

Triggers

  • implement image averaging
  • average image sequence
  • burst mode noise reduction
  • complete image_averaging method
  • average pixel values in burst