


"""simple docstring"""







from pathlib import Path

import cva
import numpy as np
from matplotlib import pyplot as plt
def 					a__			(				SCREAMING_SNAKE_CASE    :    np.ndarray				,      SCREAMING_SNAKE_CASE    :    np.ndarray				,      SCREAMING_SNAKE_CASE    :    np.ndarray				,      SCREAMING_SNAKE_CASE    :    int				,      SCREAMING_SNAKE_CASE    :    int				):


  '''simple docstring'''







  lowerCAmelCase     :     List[str]								=							cva.getAffineTransform(SCREAMING_SNAKE_CASE				,      SCREAMING_SNAKE_CASE				)
  return cva.warpAffine(SCREAMING_SNAKE_CASE				,      SCREAMING_SNAKE_CASE				,      (rows, cols)				)


if __name__ == "__main__":
     # read original image
     lowerCAmelCase__      				=   cva.imread(
         str(Path(__file__).resolve().parent.parent / '''image_data''' / '''lena.jpg''')
     )
     # turn image in gray scale value
     lowerCAmelCase__      				=   cva.cvtColor(image, cva.COLOR_BGR2GRAY)
     # get image shape
     lowerCAmelCase__				,lowerCAmelCase__      				=   gray_img.shape

     # set different points to rotate image
     lowerCAmelCase__      				=   np.array([[50, 50], [200, 50], [50, 200]], np.floataa)
     lowerCAmelCase__      				=   np.array([[10, 100], [200, 50], [100, 250]], np.floataa)
     lowerCAmelCase__      				=   np.array([[50, 50], [150, 50], [120, 200]], np.floataa)
     lowerCAmelCase__      				=   np.array([[10, 100], [80, 50], [180, 250]], np.floataa)

     # add all rotated images in a list
     lowerCAmelCase__      				=   [
         gray_img,
         get_rotation(gray_img, ptsa, ptsa, img_rows, img_cols),
         get_rotation(gray_img, ptsa, ptsa, img_rows, img_cols),
         get_rotation(gray_img, ptsa, ptsa, img_rows, img_cols),
     ]

     # plot different image rotations
     lowerCAmelCase__      				=   plt.figure(1)
     lowerCAmelCase__      				=   ['''Original''', '''Rotation 1''', '''Rotation 2''', '''Rotation 3''']
     for i, image in enumerate(images):
          plt.subplot(2, 2, i + 1), plt.imshow(image, '''gray''')
          plt.title(titles[i])
          plt.axis('''off''')
          plt.subplots_adjust(left=0.0, bottom=0.05, right=1.0, top=0.95)
     plt.show()









"""simple docstring"""







import unittest

import torch
from torch import nn

from diffusers.models.activations import get_activation


class       SCREAMING_SNAKE_CASE__				(		unittest.TestCase				):
       """simple docstring"""


       def        lowercase__							(						self						):






         """simple docstring"""





         lowerCAmelCase     :     int								=							get_activation("swish"						)

         self.assertIsInstance(snake_case__		,     nn.SiLU						)

         self.assertEqual(act(torch.tensor(-100		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertNotEqual(act(torch.tensor(-1		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(0		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(20		,     dtype=torch.floataa						)						).item()		,     20						)

       def        lowercase__							(						self						):






         """simple docstring"""





         lowerCAmelCase     :     Union[str, Any]								=							get_activation("silu"						)

         self.assertIsInstance(snake_case__		,     nn.SiLU						)

         self.assertEqual(act(torch.tensor(-100		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertNotEqual(act(torch.tensor(-1		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(0		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(20		,     dtype=torch.floataa						)						).item()		,     20						)

       def        lowercase__							(						self						):






         """simple docstring"""





         lowerCAmelCase     :     Dict								=							get_activation("mish"						)

         self.assertIsInstance(snake_case__		,     nn.Mish						)

         self.assertEqual(act(torch.tensor(-200		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertNotEqual(act(torch.tensor(-1		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(0		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(20		,     dtype=torch.floataa						)						).item()		,     20						)







       def        lowercase__							(						self						):






         """simple docstring"""





         lowerCAmelCase     :     Union[str, Any]								=							get_activation("gelu"						)

         self.assertIsInstance(snake_case__		,     nn.GELU						)

         self.assertEqual(act(torch.tensor(-100		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertNotEqual(act(torch.tensor(-1		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(0		,     dtype=torch.floataa						)						).item()		,     0						)
         self.assertEqual(act(torch.tensor(20		,     dtype=torch.floataa						)						).item()		,     20						)





