mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 15:21:11 +00:00
112 lines
3.7 KiB
Python
112 lines
3.7 KiB
Python
#!/usr/bin/env python
|
|
#+
|
|
# VIDE -- Void IDentification and Examination -- ./python_tools/void_pipeline/datasets/example_observation.py
|
|
# Copyright (C) 2010-2014 Guilhem Lavaux
|
|
# Copyright (C) 2011-2014 P. M. Sutter
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#+
|
|
|
|
import os
|
|
import numpy as np
|
|
from backend.classes import *
|
|
|
|
# if True, will scan log files for last known completed state and run from there
|
|
continueRun = False
|
|
|
|
# stages:
|
|
# 1 : extract redshift slices from data
|
|
# 2 : void extraction using zobov
|
|
# 3 : removal of small voids and voids near the edge
|
|
startStage = 1
|
|
endStage = 3
|
|
|
|
basePath = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
# directory for input data files
|
|
inputDataDir = basePath
|
|
|
|
# void catalog output directory
|
|
workDir = basePath
|
|
|
|
# output directory for log files
|
|
logDir = os.path.join(workDir,"logs","example_observation")
|
|
|
|
# output directory for figures
|
|
# optimization: maximum number of parallel threads to use
|
|
numZobovThreads = 8
|
|
|
|
# optimization: number of subdivisions of the volume
|
|
numZobovDivisions = 2
|
|
|
|
# Maximum density for merging voids
|
|
# 0 (equivalent to infinitely large value) -> Merge everything (no threshold)
|
|
# 1e-9 (or smaller, but != 0) -> Do not merge anything
|
|
mergingThreshold = 1e-9
|
|
|
|
# when trimming away voids near the bounaries, what multiple of the radius to
|
|
# use for safety
|
|
boundaryTolerance = 1.0
|
|
|
|
# don't change this
|
|
dataSampleList = []
|
|
|
|
# define your data samples
|
|
newSample = Sample(
|
|
# path to galaxy file is inputDataDir+dataFile
|
|
dataFile = "example_observation.dat",
|
|
|
|
# full name for this sample
|
|
fullName = "example_observation",
|
|
|
|
# a convenient nickname
|
|
nickName = "exobs",
|
|
|
|
# don't change this or nothing will make sense
|
|
dataType = "observation",
|
|
|
|
# assume sample is volume-limited?
|
|
volumeLimited = True,
|
|
|
|
# HEALpix mask file - set to None to auto-compute
|
|
# NOTE: auto-computed masks are pretty terrible, so
|
|
# only do that if you have no other options
|
|
maskFile = inputDataDir+"/example_observation_mask.fits",
|
|
|
|
# resolution for HEALpix mapping of survey edge contours
|
|
# Set to -1 to use nside from given fits file
|
|
# MUST be set if auto-computing mask
|
|
nsideForContour = 128,
|
|
|
|
# radial selection function (if not volume limited)
|
|
selFunFile = None,
|
|
|
|
# max and min redshifts of galaxies in your sample
|
|
zBoundary = (0.0, 0.15),
|
|
|
|
# leave this at -1 for mean particle separation,
|
|
# or specify your own in Mpc/h
|
|
minVoidRadius = -1,
|
|
|
|
# if true, convert to comoving space using LCDM cosmology
|
|
useComoving = True,
|
|
|
|
# cosmology assuming flat universe
|
|
omegaM = 0.3,
|
|
|
|
)
|
|
dataSampleList.append(newSample)
|
|
|
|
# repeat the above block for any other samples
|