No description
Find a file
2025-05-22 18:36:01 -04:00
c_source made adjustments to support potential new boundary handling scheme; not sure if I'll go through with it so I may roll these changes back 2025-05-22 18:36:01 -04:00
container Merged in python3 (pull request #5) 2020-12-29 08:56:33 +00:00
dummy_extension Add missing file 2021-04-15 16:45:47 +02:00
examples size of subdivison buffer now a parameter 2025-05-22 09:13:19 -04:00
external central density calculation now uses correct normalization from survey volume 2025-04-23 15:22:07 -04:00
python_source made adjustments to support potential new boundary handling scheme; not sure if I'll go through with it so I may roll these changes back 2025-05-22 18:36:01 -04:00
.gitignore renamed src to source 2024-05-22 16:15:14 -04:00
CMakeLists.txt fixed some dependency calls with new layout 2024-06-04 08:57:09 +02:00
README.md Implemented (yet another) new boundary handling scheme, whereby we scan radially along survey edge while flagging nearest galaxies. The prepObservation routine was significantly cleaned up to accommodate this, but it was ultimately implemented in python (surveyTools.py) for ease of prototyping, with the intent to move it back into C later. 2025-01-07 20:04:29 +08:00
setup.py fixed some dependency calls with new layout 2024-06-04 08:57:09 +02:00

\        /   /   |-\    -----
 \      /    |   |  \   |
  \    /    /    |   |  |--
   \  /     |    |  /   |
    \/      /    |-/    -----

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

This is VIDE, the Void IDentification and Examination toolkit.

For more information, see http://www.cosmicvoids.net

Please cite arXiv:1406.1191 and arXiv:0712.0349 if you use this software, using the following suggested sentence:

"This work uses voids identified with VIDE\footnote{\url{http:www.cosmicvoids.net}} (Sutter et al. 2014), which implements an enhanced version of ZOBOV (Neyrinck 2008) to construct voids with a watershed algorithm."

Copyright (C) 2010-2020 Guilhem Lavaux, 2011-2014 P.M. Sutter. This software is put under the GNU Public License. Please see LICENSE for further information.

Mainline VIDE contributions from Ben Wandelt, Nico Hamaus, Alice Pisani, Paul Zivick, and Qingqing Mao. This toolkit includes ZOBOV, originally developed by Mark Neyrinck. See zobov/zobov_readme.txt for copyright/license information. SDF library provided by Michael S. Warren and John Salmon. HOD fitting code provided by Francisco Navarro. HOD halo population code provided by Jeremy Tinker. RAMSES module provided by Benjamin B. Thompson.

Requirements

The package swig needs to be installed and available in the PATH (http://www.swig.org/). It is required by scipy and we have not decided to bundle it with VIDE at the moment.

Quick Start Guide

It is generally advised to create a python3 virtual environment. This can be achieved as follows

python3 -m venv --system-site-packages $PLACE_OF_VENV
source $PLACE_OF_VENV/bin/activate

where $PLACE_OF_VENV is where you decide to put your environment on your harddrive (e.g. $HOME/my_venv).

Note: on OSX there are some difficulties to use the native clang compiler. Please use a brew installed compiler like GCC.

brew install gcc
export CC=/usr/local/bin/gcc-10
export CXX=/usr/local/bin/g++-10

The gcc-10 is of course dependent on the version that was installed by brew.

After this step you may start the build process

python3 setup.py build

It will take a lot of time. It may also download python packages that you miss on your system. On BigSur some of them fail to compile by default.

After installing the package with

To test that the package is indeed installed you can execute

python3 -m vide_pipeline

which will state

Usage: python3 -m vide_pipeline parameter_file.py

The VIDE tools are all packaged in the vide package.

Running with observation

An example parameter file and dataset is given in the examples/example_observation directory. The parameter file contains all the information VIDE needs to run: where to find inputs and place outputs, tolerances for managing boundary handling, and information about your particular datasets, like redshift boundaries. To see how this works, here is an example:

cd examples/example_observation python3 -m vide_pipeline example_observation.py

Running with simulation

Working with simulations requires a preliminary step, consisting in using the script "vide_prepare_simulation" which is installed automatically. This script performs necessary processing on your simulation file, such as extracting slices, performing subsampling, placing particles on a lightcone, and so on. For a demonstration, see the "example_simulation.py" parameter file in the examples/example_simulation/ directory. Running this script creates a series of auxillary parameter files that can then be run individually for void finding. Here is an example of this procedure:

cd examples/example_simulation vide_prepare_simulation --all --parm example_simulation.py python3 -m vide_pipeline example_simulation/sim_ss1.0.py



Notes for CONDA
---------------


If you use a conda installation, you have to be sure to use all the building tools that 
are consistent. On linux that means for example installing the conda packages `gcc_linux-64`
 and `gxx_linux-64`. In addition to that it is recommended to define the environment variable 
`LIBRARY_PATH=the_path_of_your_conda_environment_with_/lib`. For example if your environment
is in '/home/user/conda' you should define

export LIBRARY_PATH=/home/user/conda/lib


You can then initiate the construction with

python3 setup.py build


Version Summary
-----------------

v1.0 - Initial Release
v2.0 - Ported to python3, revisited build system