Photogrammetric Observation and Segmentation for Estimation of Inundation Depth ON-demand
POSEIDON is a Python-based scientific tool for automated flood-level extraction from imagery.
It integrates image segmentation and georectification to detect water surfaces and estimate flood depths across real-world terrain.
git clone --recurse-submodules https://github.com/rtmccune/poseidon.gitTo create a conda environment for this workflow navigate to your local copy of the 'poseidon' repository and run the following command:
conda env create --file poseidon_deploy/environment.ymlTo create a conda environment on a linux-64 based system (such as an HPC system) for this workflow navigate to the 'poseidon' repository and run the following command:
conda env create --prefix /path/to/conda/env --file poseidon_deploy/poseidon-linux-64-lock.ymlThese executables rely on the opencv library for processing. First, ensure that you have opencv installed on your system.
To install opencv: On Ubuntu/Debian-based systems run:
sudo apt install libopencv-devOn Fedora/RHEL-based systems run:
sudo dnf install opencv-develOn macOS:
brew install opencvAfter the working 'poseidon' environment and OpenCV have been installed on your system, compile the executables using cmake:
- Activate poseidon conda environment.
conda activate poseidon- Create a build directory.
cd poseidon_utils/src
mkdir build
cd build- Configure the build for your system.
cmake ..- Build the exectuables.
makeThe compiled executables will now exist in the 'bin' directory for use. You can test that these compiled executables are working by running the test_compiled_funcs.sh script from the docs/tests directory. To run these tests from the 'bin' directory simply:
../../tests/test_compiled_funcs.shFrom the repository root directory run:
apptainer pull poseidon_deploy/segmentation/container/seg_gym.sif oras://ghcr.io/rtmccune/segmentation-gym-tf:latestTo test the posedion library, run the following command from the 'poseidon' directory.
python -m pytest -v tests/