diff --git a/python_tools/void_python_tools/partUtil/partUtil.py b/python_tools/void_python_tools/partUtil/partUtil.py index a1def0e..055d0ca 100644 --- a/python_tools/void_python_tools/partUtil/partUtil.py +++ b/python_tools/void_python_tools/partUtil/partUtil.py @@ -26,6 +26,7 @@ import sys from void_python_tools.backend import * import void_python_tools.apTools as vp import pickle +from periodic_kdtree import PeriodicCKDTree NetCDFFile = Dataset ncFloat = 'f8' @@ -135,6 +136,27 @@ def loadPartVel(sampleDir): return partVel +# ----------------------------------------------------------------------------- +def getPartTree(sampleDir, partData, boxLen): + + with open(sampleDir+"/sample_info.dat", 'rb') as input: + sample = pickle.load(input) + + periodicLine = getPeriodic(sample) + + periodic = 1.*boxLen + + if not "x" in periodicLine: periodic[0] = -1 + if not "y" in periodicLine: periodic[1] = -1 + if not "z" in periodicLine: periodic[2] = -1 + + return PeriodicCKDTree(periodic, partData) + +# ----------------------------------------------------------------------------- +def getBall(partTree, center, radius): + + return partTree.query_ball_point(center, r=radius) + # ----------------------------------------------------------------------------- def shiftPart(inPart, center, periodicLine, ranges):