class_docstr: Custom Grayscale class for producing `ndim==3` grayscale frames
code: def stop(self):
      # flag that we're not running
      self.running = False
  
imports: import os
  import cv2
  import pytest
  import asyncio
  import platform
  import logging
  import requests
  import tempfile
  import json
  import numpy
  from starlette.routing import Route
  from starlette.responses import PlainTextResponse
  from starlette.middleware import Middleware
  from starlette.middleware.cors import CORSMiddleware
  from async_asgi_testclient import TestClient
  from aiortc import MediaStreamTrack, RTCPeerConnection, RTCConfiguration, RTCIceServer, RTCSessionDescription
  from vidgear.gears import VideoGear
  from aiortc.mediastreams import MediaStreamError
  from vidgear.gears.asyncio import WebGear_RTC
  from vidgear.gears.helper import logger_handler
label_desc: Use image node_id 3 for calling the Custom_Grayscale_class obj's underlying member method code with example usage: obj.stop() without return types