NoiseFlow now supports Clang
and GCC
compiler in MacOS and Linux system separately, and all installation processes are under the conda
environment, and we recommend to use miniconda. Make sure to install the following pre-packages before installing noiseflow:
If you use Clang
in Mac, please install OpenMP
via brew
as following:
brew install openmp
And use pip
and conda
to install the following packages:
pip install joblib
conda install -c conda-forge numpy scipy matplotlib
conda install -c conda-forge obspy
conda install -c conda-forge fftw (动态库)
conda install -c conda-forge pybind11 (头文件)
conda install -c conda-forge xtensor xsimd xtl xtensor-blas xtensor-python (可能是静态库)
conda install -c conda-forge xtensor-fftw #(usually failed at most time)
The xtensor-fftw
and KFR
need to be installed from source, first download them:
git clone https://github.com/OUCyf/noiseflow.git
cd noiseflow
git submodule init
git submodule update
Note the xtensor-fftw
do not support M1 chip, and if it is failed to install via conda, you can install it from source into conda environment as $CONDA_PREFIX
cd ./external/xtensor-fftw
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
make install
The KFR
package is C++ DSP framework, should be installed in ./extern/kfr
from source
cd ./external/kfr
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
make install
Now you can install NoiseFlow
. If you use MacOS
, please make sure to use Clang as the complier
export CXX=clang++
# unset CXX
python setup.py install
If you use Linux
, please use GCC as the compiler
export CXX=g++-13
python setup.py install
If you use HPC
with module
tool, you can use both Clang and GCC, for example using NOTS in Rice University.
# use gcc
module load GCC/13.1.0
export CXX=g++
python setup.py install
INCLUDE_CMAKE_EXTENSION=1 pip install .
# use clang
module load GCCcore/11.2.0
module load Clang/13.0.1
export CXX=clang++
python setup.py install
conda install -c conda-forge stockwell
NOISEFLOW_USE_CPP=1 pip install --no-binary :all: noiseflow --no-cache-dir
git submodule add https://gitclone.com/github.com/kfrlib/kfr.git extern/kfr
w
Noiseflow is dual-licensed, available under both commercial and apache license.
If you want to use noiseflow in a commercial product or a closed-source project, you need to purchase a Commercial License.
stockwell
: 'numpy>=1.18', scipy, fftw, ['cp36-', 'cp37-', 'cp38-', 'cp39-', 'cp310-*']
- conda:
brew install fftw
conda install -c conda-forge fftw(没用)
conda install -c conda-forge pybind11 (头文件)
conda install -c conda-forge xtensor xsimd xtl xtensor-blas xtensor-python (可能是静态库)
cd ./external/xtensor-fftw
mkdir build && cd build
myenv = $(conda env list | grep ' \* ' | awk '{print $1}')
conda_prefix = $(conda info --base)
export CMAKE_PREFIX_PATH="${conda_prefix}/envs/${myenv}"
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_PREFIX_PATH=$CONDA_PREFIX
make install
cmake = '^3.18.0' fftw = '^3.3.10' pybind11 = '^2.10.4' xtensor = '^0.24.6' xsimd = '8.0.5' # when the version is larger than 8.0.5, it will got error in compiling stage. xtl = '^0.7.5' xtensor_blas = '^0.20.0' xtensor_python = '^0.26.1' xtensor_fftw = '^0.2.6' # not show in conda env kfr = '^5.0.2' # not show in conda env
libomp = '^16.0.6' # via brew