#!/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