2
# -*- coding: utf-8 -*-
3
## ##########################################################################################################
5
## This file is released under GNU Public License v3
6
## See LICENSE File at the top the pycvf tree.
8
## Author : Bertrand NOUVEL / CNRS (2009)
12
## Revision FILE: $Id$
14
## ###########################################################################################################
15
## copyright $Copyright$
16
## @version $Revision$
17
## @lastrevision $Date$
18
## @modifiedby $LastChangedBy$
19
## @lastmodified $LastChangedDate$
20
#############################################################################################################
23
# -*- coding: utf-8 -*-
24
class BinBasedIndex():
25
def __init__(self,shape,dp1,idxfact):
27
self.idx=numpy.zeros(dtype="object")
28
for p in numpy.ndindex():
29
self.idx[p]=idxfact(p)
30
def add(self,key,value):
31
self.idx[self.dp1[key]].add(key,value )
32
def add_many(self,keys,values):
33
for k in range(len(keys)):
34
self.add(keyx[k],values[k])
35
def __getitem__(self,key):
36
return self.idx[self.dp1[key]][key]
37
def getitem(self,key,*args,**xargs):
38
return self.idx[self.dp1[key]].getitem(key)
39
def __getball__(self,key,radius):
40
""" We can do better here !!! """
41
return self.idx[self.dp1[key]].__getball__(key,radius)
42
def getball(self,key,*args,**xargs):
43
""" We can do better here !!! """
44
return self.idx[self.dp1[key]].getball(key,radius)