class_docstr: !
  @brief Class represents clustering algorithm DBSCAN.
  @details This DBSCAN algorithm is KD-tree optimized.
           
           By default C/C++ pyclustering library is used for processing that significantly increases performance.
  
  Clustering example where DBSCAN algorithm is used to process `Chainlink` data from `FCPS` collection:
  @code
      from pyclustering.cluster.dbscan import dbscan
      from pyclustering.cluster import cluster_visualizer
      from pyclustering.utils import read_sample
      from pyclustering.samples.definitions import FCPS_SAMPLES
  
      # Sample for cluster analysis.
      sample = read_sample(FCPS_SAMPLES.SAMPLE_CHAINLINK)
  
      # Create DBSCAN algorithm.
      dbscan_instance = dbscan(sample, 0.7, 3)
  
      # Start processing by DBSCAN.
      dbscan_instance.process()
  
      # Obtain results of clustering.
      clusters = dbscan_instance.get_clusters()
      noise = dbscan_instance.get_noise()
  
      # Visualize clustering results
      visualizer = cluster_visualizer()
      visualizer.append_clusters(clusters, sample)
      visualizer.append_cluster(noise, sample, marker='x')
      visualizer.show()
  @endcode
class_docstr_tok: ["!","@","brief","Class","represents","clustering","algorithm","DBSCAN",".","@","details","This","DBSCAN","algorithm","is","KD-tree","optimized",".","By","default","C\/C++","pyclustering","library","is","used","for","processing","that","significantly","increases","performance",".","Clustering","example","where","DBSCAN","algorithm","is","used","to","process","`","Chainlink","`","data","from","`","FCPS","`","collection",":","@","code","from","pyclustering.cluster.dbscan","import","dbscan","from","pyclustering.cluster","import","cluster_visualizer","from","pyclustering.utils","import","read_sample","from","pyclustering.samples.definitions","import","FCPS_SAMPLES","#","Sample","for","cluster","analysis",".","sample","=","read_sample","(","FCPS_SAMPLES.SAMPLE_CHAINLINK",")","#","Create","DBSCAN","algorithm",".","dbscan_instance","=","dbscan","(","sample",",","0.7",",","3",")","#","Start","processing","by","DBSCAN",".","dbscan_instance.process","(",")","#","Obtain","results","of","clustering",".","clusters","=","dbscan_instance.get_clusters","(",")","noise","=","dbscan_instance.get_noise","(",")","#","Visualize","clustering","results","visualizer","=","cluster_visualizer","(",")","visualizer.append_clusters","(","clusters",",","sample",")","visualizer.append_cluster","(","noise",",","sample",",","marker=","'","x","'",")","visualizer.show","(",")","@","endcode"]
docstr: !
  @brief Returns allocated noise.
  
  @remark Allocated noise can be returned only after data processing (use method process() before). Otherwise empty list is returned.
  
  @return (list) List of indexes that are marked as a noise.
  
  @see process()
  @see get_clusters()
docstr_tok: ["!","@","brief","Returns","allocated","noise",".","@","remark","Allocated","noise","can","be","returned","only","after","data","processing","(","use","method","process","(",")","before",")",".","Otherwise","empty","list","is","returned",".","@","return","(","list",")","List","of","indexes","that","are","marked","as","a","noise",".","@","see","process","(",")","@","see","get_clusters","(",")"]
code: def get_noise(self):
      """!
      @brief Returns allocated noise.
  
      @remark Allocated noise can be returned only after data processing (use method process() before). Otherwise empty list is returned.
  
      @return (list) List of indexes that are marked as a noise.
  
      @see process()
      @see get_clusters()
  
      """
  
      return self.__noise
  
file_path: pyclustering/pyclustering/cluster/dbscan.py
imports: from pyclustering.container.kdtree import kdtree_balanced
  from pyclustering.cluster.encoder import type_encoding
  from pyclustering.core.wrapper import ccore_library
  import pyclustering.core.dbscan_wrapper
label_desc: Use image node_id 6 for calling the dbscan obj's underlying member method code with example usage: obj.get_noise() and returns: self