






"""simple docstring"""







import numpy as np
from cva import COLOR_BGR2GRAY, CV_8UC3, cvtColor, filteraD, imread, imshow, waitKey

def _a			(		_snake_case				,	_snake_case				,	_snake_case				,	_snake_case				,	_snake_case				,	_snake_case							):







      """simple docstring"""






      if (ksize % 2) == 0:
            UpperCAmelCase          =	ksize + 1
      UpperCAmelCase          =	np.zeros((ksize, ksize)				,	dtype=np.floataa							)

      # each value
      for y in range(_snake_case							):
            for x in range(_snake_case							):
                  # distance from center
                  UpperCAmelCase          =	x - ksize // 2
                  UpperCAmelCase          =	y - ksize // 2

                  # degree to radiant
                  UpperCAmelCase          =	theta / 180 * np.pi
                  UpperCAmelCase          =	np.cos(_theta							)
                  UpperCAmelCase          =	np.sin(_theta							)

                  # get kernel x
                  UpperCAmelCase          =	cos_theta * px + sin_theta * py

                  # get kernel y
                  UpperCAmelCase          =	-sin_theta * px + cos_theta * py

                  # fill kernel
                  UpperCAmelCase          =	np.exp(
                      -(_x**2 + gamma**2 * _y**2) / (2 * sigma**2)							) * np.cos(2 * np.pi * _x / lambd + psi							)

      return gabor


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    # read original image
    _UpperCamelCase					      =  imread("""../image_data/lena.jpg""")
    # turn image in gray scale value
    _UpperCamelCase					      =  cvtColor(img, COLOR_BGR2GRAY)

    # Apply multiple Kernel to detect edges
    _UpperCamelCase					      =  np.zeros(gray.shape[:2])
    for theta in [0, 30, 60, 90, 120, 150]:
        _UpperCamelCase					      =  gabor_filter_kernel(10, 8, theta, 10, 0, 0)
        out += filteraD(gray, CV_8UC3, kernel_aa)
    _UpperCamelCase					      =  out / out.max() * 255
    _UpperCamelCase					      =  out.astype(np.uinta)

    imshow("""Original""", gray)
    imshow("""Gabor filter with 20x20 mask and 6 directions""", out)

    waitKey(0)











"""simple docstring"""







from __future__ import annotations

import json

import requests
from bsa import BeautifulSoup
from fake_useragent import UserAgent

_UpperCamelCase					      =  {"""UserAgent""": UserAgent().random}

def _a			(		_snake_case							):







      """simple docstring"""






      UpperCAmelCase          =	script.contents[0]
      UpperCAmelCase          =	json.loads(data[data.find("""{\"config\""""							) : -1]							)
      return info["entry_data"]["ProfilePage"][0]["graphql"]["user"]







class  lowerCamelCase__ :






    def __init__(			self     ,A ):
          UpperCAmelCase          =	F'''https://www.instagram.com/{username}/'''
          UpperCAmelCase          =	self.get_json()






    def     _UpperCamelCase							(			self ):
          UpperCAmelCase          =	requests.get(self.url     ,headers=A ).text
          UpperCAmelCase          =	BeautifulSoup(A     ,"""html.parser""" ).find_all("""script""" )
          try:
                return extract_user_profile(scripts[4] )
          except (json.decoder.JSONDecodeError, KeyError):
                return extract_user_profile(scripts[3] )






    def __repr__(			self ):
          return F'''{self.__class__.__name__}(\'{self.username}\')'''






    def __str__(			self ):
          return F'''{self.fullname} ({self.username}) is {self.biography}'''






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["username"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["full_name"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["biography"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["business_email"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["external_url"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["edge_followed_by"]["count"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["edge_follow"]["count"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["edge_owner_to_timeline_media"]["count"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["profile_pic_url_hd"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["is_verified"]






    @property
    def     _UpperCamelCase							(			self ):
          return self.user_data["is_private"]







def _a			(		_snake_case = "github"							):







      """simple docstring"""






      import os

      if os.environ.get("""CI"""							):
            return  # test failing on GitHub Actions
      UpperCAmelCase          =	InstagramUser(_snake_case							)
      assert instagram_user.user_data
      assert isinstance(instagram_user.user_data				,	_snake_case							)
      assert instagram_user.username == username
      if username != "github":
            return
      assert instagram_user.fullname == "GitHub"
      assert instagram_user.biography == "Built for developers."
      assert instagram_user.number_of_posts > 150
      assert instagram_user.number_of_followers > 12_0000
      assert instagram_user.number_of_followings > 15
      assert instagram_user.email == "support@github.com"
      assert instagram_user.website == "https://github.com/readme"
      assert instagram_user.profile_picture_url.startswith("""https://instagram."""							)
      assert instagram_user.is_verified is True
      assert instagram_user.is_private is False


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  _UpperCamelCase					      =  InstagramUser("""github""")
  print(instagram_user)
  print(F"""{instagram_user.number_of_posts = }""")
  print(F"""{instagram_user.number_of_followers = }""")
  print(F"""{instagram_user.number_of_followings = }""")
  print(F"""{instagram_user.email = }""")
  print(F"""{instagram_user.website = }""")
  print(F"""{instagram_user.profile_picture_url = }""")
  print(F"""{instagram_user.is_verified = }""")
  print(F"""{instagram_user.is_private = }""")



