docstr: Initialize a HashEval object which offers an interface to control hashing and search methods for desired
  dataset. Compute a map of duplicate images in the document space given certain input control parameters.
docstr_tok: ["Initialize","a","HashEval","object","which","offers","an","interface","to","control","hashing","and","search","methods","for","desired","dataset",".","Compute","a","map","of","duplicate","images","in","the","document","space","given","certain","input","control","parameters","."]
code: def __init__(
      self,
      test: Dict,
      queries: Dict,
      distance_function: Callable,
      verbose: bool = True,
      threshold: int = 5,
      search_method: str = "brute_force_cython"
      if not sys.platform == "win32"
      else "bktree",
      num_dist_workers: int = cpu_count(),
  ) -> None:
      """
      Initialize a HashEval object which offers an interface to control hashing and search methods for desired
      dataset. Compute a map of duplicate images in the document space given certain input control parameters.
      """
      self.test = test  # database
      self.queries = queries
      self.distance_invoker = distance_function
      self.verbose = verbose
      self.threshold = threshold
      self.query_results_map = None
      self.num_dist_workers = num_dist_workers
  
      if search_method == "bktree":
          self._fetch_nearest_neighbors_bktree()
      elif search_method == "brute_force":
          self._fetch_nearest_neighbors_brute_force()
      else:
          self._fetch_nearest_neighbors_brute_force_cython()
  
imports: from multiprocessing import cpu_count
  import sys
  from typing import Callable, Dict, Union, Tuple
  import numpy
  from sklearn.metrics.pairwise import cosine_similarity
  from tqdm import tqdm
  from imagededup.handlers.search.bktree import BKTree
  from imagededup.handlers.search.brute_force import BruteForce
  from imagededup.handlers.search.brute_force_cython import BruteForceCython
  from imagededup.utils.general_utils import parallelise
  from imagededup.utils.logger import return_logger
label_desc: Use image node_id 1 to create a new HashEval object  with example: obj = HashEval(test, queries, distance_function, verbose, threshold, search_method, num_dist_workers)