class_docstr: By: Xing Shi (xingshi@usc.edu)
  
  This meta-hash performs hash permutations on binary bucket keys.
  You use this just like every other LSHash implementation and
  add the actual binary hashes you want to use via the add_child_hash
  method. Each child hash will be used separately.
  
  After all vectors have been indexed you have to call build_permuted_index
  to generate the permuted index.
  
  So to use this you have to do the following steps:
  
  1. Create HashPermutations instance and use it in the Engine constructor
  2. Add your binary hashes as child hashes by calling add_child_hash()
  3. Store your vectors using the Engine
  4. Build the permuted index by calling build_permuted_index()
  5. Now when you query the permuted index is used
  
  If you are adding more vectors afterwards you can update the permuted index
  by calling build_permuted_index() again and again.
class_docstr_tok: ["By",":","Xing","Shi","(","xingshi","@","usc.edu",")","This","meta-hash","performs","hash","permutations","on","binary","bucket","keys",".","You","use","this","just","like","every","other","LSHash","implementation","and","add","the","actual","binary","hashes","you","want","to","use","via","the","add_child_hash","method",".","Each","child","hash","will","be","used","separately",".","After","all","vectors","have","been","indexed","you","have","to","call","build_permuted_index","to","generate","the","permuted","index",".","So","to","use","this","you","have","to","do","the","following","steps",":","1",".","Create","HashPermutations","instance","and","use","it","in","the","Engine","constructor","2",".","Add","your","binary","hashes","as","child","hashes","by","calling","add_child_hash","(",")","3",".","Store","your","vectors","using","the","Engine","4",".","Build","the","permuted","index","by","calling","build_permuted_index","(",")","5",".","Now","when","you","query","the","permuted","index","is","used","If","you","are","adding","more","vectors","afterwards","you","can","update","the","permuted","index","by","calling","build_permuted_index","(",")","again","and","again","."]
docstr: Returns pickle-serializable configuration struct for storage.
docstr_tok: ["Returns","pickle-serializable","configuration","struct","for","storage","."]
code: def get_config(self):
      """
      Returns pickle-serializable configuration struct for storage.
      """
      return {"hash_name": self.hash_name, "dim": self.dim}
  
file_path: NearPy/nearpy/hashes/permutation/hashpermutations.py
imports: import numpy
  from nearpy.hashes import LSHash, RandomBinaryProjections, PCABinaryProjections, RandomBinaryProjectionTree
  from nearpy.hashes.permutation import Permutation
label_desc: Use image node_id 4 for calling the HashPermutations obj's underlying member method code with example usage: obj.get_config() and returns: dict