From ccc469aa6e925cab074e1a12388d4c389263e5cf Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Thu, 25 Feb 2021 14:14:33 +0200 Subject: [PATCH] Add an option to change the merging threshold --- python_tools/vide/backend/launchers.py | 12 ++++++------ python_tools/void_pipeline/__main__.py | 4 ++-- .../void_pipeline/datasets/example_observation.py | 5 +++++ .../void_pipeline/datasets/example_simulation.py | 5 +++++ 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/python_tools/vide/backend/launchers.py b/python_tools/vide/backend/launchers.py index 84b0681..1d0502c 100644 --- a/python_tools/vide/backend/launchers.py +++ b/python_tools/vide/backend/launchers.py @@ -323,7 +323,7 @@ def launchGenerate(sample, binPath, workDir=None, inputDataDir=None, # ----------------------------------------------------------------------------- def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None, - numZobovDivisions=None, numZobovThreads=None): + numZobovDivisions=None, numZobovThreads=None, mergingThreshold=0.2): sampleName = sample.fullName @@ -339,10 +339,10 @@ def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None, if sample.dataType == "observation": maskIndex = open(zobovDir+"/mask_index.txt", "r").read() totalPart = open(zobovDir+"/total_particles.txt", "r").read() - maxDen = 0.2*float(maskIndex)/float(totalPart) + maxDen = mergingThreshold*float(maskIndex)/float(totalPart) else: maskIndex = -1 - maxDen = 0.2 + maxDen = mergingThreshold if numZobovDivisions == 1: print(" WARNING! You are using a single ZOBOV division with a simulation. Periodic boundaries will not be respected!") @@ -466,7 +466,7 @@ def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None, # ----------------------------------------------------------------------------- def launchPrune(sample, binPath, summaryFile=None, logFile=None, zobovDir=None, - continueRun=None, useComoving=False): + continueRun=None, useComoving=False, mergingThreshold=0.2): sampleName = sample.fullName @@ -477,12 +477,12 @@ def launchPrune(sample, binPath, if sample.dataType == "observation": mockIndex = open(zobovDir+"/mask_index.txt", "r").read() totalPart = open(zobovDir+"/total_particles.txt", "r").read() - maxDen = 0.2*float(mockIndex)/float(totalPart) + maxDen = mergingThreshold*float(mockIndex)/float(totalPart) observationLine = " --isObservation" #periodicLine = " --periodic=''" else: mockIndex = -1 - maxDen = 0.2 + maxDen = mergingThreshold observationLine = "" periodicLine = " --periodic='" + getPeriodic(sample) + "'" diff --git a/python_tools/void_pipeline/__main__.py b/python_tools/void_pipeline/__main__.py index af3797c..304a5db 100644 --- a/python_tools/void_pipeline/__main__.py +++ b/python_tools/void_pipeline/__main__.py @@ -105,7 +105,7 @@ for sample in dataSampleList: launchZobov(sample, ZOBOV_PATH, zobovDir=zobovDir, logDir=logDir, continueRun=continueRun, numZobovDivisions=numZobovDivisions, - numZobovThreads=numZobovThreads) + numZobovThreads=numZobovThreads, mergingThreshold=mergingThreshold) # ------------------------------------------------------------------------- if (startCatalogStage <= 3) and (endCatalogStage >= 3) and not sample.isCombo: @@ -119,7 +119,7 @@ for sample in dataSampleList: launchPrune(sample, PRUNE_PATH, logFile=logFile, zobovDir=zobovDir, - useComoving=sample.useComoving, continueRun=continueRun) + useComoving=sample.useComoving, continueRun=continueRun, mergingThreshold=mergingThreshold) # ------------------------------------------------------------------------- if (startCatalogStage <= 4) and (endCatalogStage >= 4): diff --git a/python_tools/void_pipeline/datasets/example_observation.py b/python_tools/void_pipeline/datasets/example_observation.py index 81f2ca3..b6dec36 100644 --- a/python_tools/void_pipeline/datasets/example_observation.py +++ b/python_tools/void_pipeline/datasets/example_observation.py @@ -54,6 +54,11 @@ numZobovThreads = 2 # optimization: number of subdivisions of the box numZobovDivisions = 2 +# Maximum density for merging voids +# 0 (equivalent to infinitely large value) -> Merge everything (no threshold) +# 1e-9 (or smaller != 0) -> Do not merge anything +mergingThreshold = 1e-9 + # don't change this dataSampleList = [] diff --git a/python_tools/void_pipeline/datasets/example_simulation.py b/python_tools/void_pipeline/datasets/example_simulation.py index 27ddfda..0efcf23 100644 --- a/python_tools/void_pipeline/datasets/example_simulation.py +++ b/python_tools/void_pipeline/datasets/example_simulation.py @@ -71,6 +71,11 @@ numZobovThreads = 2 # optimization: number of subdivisions of the box numZobovDivisions = 2 +# maximum density for merging voids +# 0 (equivalent to infinitely large value) -> Merge everything (no threshold) +# 1e-9 (or smaller != 0) -> Do not merge anything +mergingThreshold = 1e-9 + # prefix to give all outputs prefix = "sim_"