code: def test_FramesMatches_from_clip(
      bitmap,
      expected_matches,
      distance_threshold,
      max_duration,
  ):
      clip = BitmapClip(bitmap, fps=1)
  
      matching_frames = FramesMatches.from_clip(
          clip,
          distance_threshold,
          max_duration,
          logger=None,
      )
  
      assert matching_frames
      assert isinstance(matching_frames, FramesMatches)
      assert isinstance(matching_frames[0], FramesMatch)
  
      for i, match in enumerate(matching_frames):
          for j, n in enumerate(match):
              assert round(n, 4) == expected_matches[i][j]
  
imports: import importlib
  import math
  import os
  import shutil
  import sys
  import numpy
  import pytest
  from moviepy.audio.AudioClip import AudioClip, CompositeAudioClip
  from moviepy.audio.fx.multiply_volume import multiply_volume
  from moviepy.audio.tools.cuts import find_audio_period
  from moviepy.video.compositing.concatenate import concatenate_videoclips
  from moviepy.video.fx.loop import loop
  from moviepy.video.fx.time_mirror import time_mirror
  from moviepy.video.io.VideoFileClip import VideoFileClip
  from moviepy.video.tools.credits import CreditsClip
  from moviepy.video.tools.cuts import FramesMatch, FramesMatches, detect_scenes, find_video_period
  from moviepy.video.tools.drawing import circle, color_gradient, color_split
  from moviepy.video.tools.interpolators import Interpolator, Trajectory
  from moviepy.video.VideoClip import BitmapClip, ColorClip, ImageClip, VideoClip
label_desc: Use image node_id 4 for calling a global function with example usage: test_FramesMatches_from_clip(bitmap, expected_matches, distance_threshold, max_duration) without return types