class_docstr: Find duplicates using hashing algorithms and/or generate hashes given a single image or a directory of images.
  
  The module can be used for 2 purposes: Encoding generation and duplicate detection.
  - Encoding generation:
  To generate hashes using specific hashing method. The generated hashes can be used at a later time for
  deduplication. Using the method 'encode_image' from the specific hashing method object, the hash for a
  single image can be obtained while the 'encode_images' method can be used to get hashes for all images in a
  directory.
  
  - Duplicate detection:
  Find duplicates either using the encoding mapping generated previously using 'encode_images' or using a Path to the
  directory that contains the images that need to be deduplicated. 'find_duplicates' and 'find_duplicates_to_remove'
  methods are provided to accomplish these tasks.
docstr: Check if provided threshold is valid. Raises TypeError if wrong threshold variable type is passed or a
  ValueError if an out of range value is supplied.
  
  Args:
      thresh: Threshold value (must be int between 0 and 64)
  
  Raises:
      TypeError: If wrong variable type is provided.
      ValueError: If invalid value is provided.
docstr_tok: ["Check","if","provided","threshold","is","valid",".","Raises","TypeError","if","wrong","threshold","variable","type","is","passed","or","a","ValueError","if","an","out","of","range","value","is","supplied",".","Args",":","thresh",":","Threshold","value","(","must","be","int","between","0","and","64",")","Raises",":","TypeError",":","If","wrong","variable","type","is","provided",".","ValueError",":","If","invalid","value","is","provided","."]
code: def _check_hamming_distance_bounds(thresh: int) -> None:
      """
      Check if provided threshold is valid. Raises TypeError if wrong threshold variable type is passed or a
      ValueError if an out of range value is supplied.
  
      Args:
          thresh: Threshold value (must be int between 0 and 64)
  
      Raises:
          TypeError: If wrong variable type is provided.
          ValueError: If invalid value is provided.
      """
      if not isinstance(thresh, int):
          raise TypeError("Threshold must be an int between 0 and 64")
      elif thresh < 0 or thresh > 64:
          raise ValueError("Threshold must be an int between 0 and 64")
      else:
          return None
  
imports: import os
  import sys
  import warnings
  from pathlib import PurePath, Path
  from typing import Dict, List, Optional
  from multiprocessing import cpu_count
  import numpy
  import pywt
  from scipy.fftpack import dct
  from imagededup.handlers.search.retrieval import HashEval
  from imagededup.utils.general_utils import get_files_to_remove, save_json, parallelise, generate_files, generate_relative_names
  from imagededup.utils.image_utils import load_image, preprocess_image, check_image_array_hash
  from imagededup.utils.logger import return_logger
label_desc: Use image node_id 8 for calling the Hashing obj's underlying member method code with example usage: obj._check_hamming_distance_bounds(thresh) and returns: None