Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

OpenDroneMap (ODM)

OpenDroneMap (ODM) on avoimen lähdekoodin komentorivityökalu ilmakuvien käsittelyyn. Sitä käytetään esimerkiksi DEM:ien, DSM:ien, pistepilvien ja ortokuvien fotogrammetriseen tuottamiseen.

Saatavuus

OpenDroneMap on saatavilla seuraavina versioina:

  • 3.5.6 Roihussa
  • 3.5.4 Puhdissa
  • 3.0.4 Puhdissa
  • 2.8.8 Puhdissa

Käyttö

OpenDroneMap on saatavilla Singularity -konttina

OpenDroneMapin suorittaminen:

  1. Kopioi ilmakuvasi supertietokoneelle. OpenDroneMap edellyttää, että kansiopolut päättyvät muotoon code/images, esimerkiksi /scratch/project_2000XXX/odm/code/images.
  2. Kirjoita eräajotyöskripti (katso alla)
  3. Lähetä OpenDroneMap-eräajotyösi.

Huomaa:

  • Testiemme mukaan noin 300 kuvan projekti toimii optimaalisesti 8–12 CPU-ytimellä; säädä CPU:iden määrää rivillä --cpus-per-task. OpenDroneMap voi käyttää käsittelyssä vain yhtä laskentasolmua, mikä tarkoittaa, että yhdessä työssä enimmäismäärä on 40 ydintä Puhdissa ja 384 ydintä Roihussa.
  • --project-path - sijainti, johon kuvat on tallennettu, ilman code/images-osaa.
  • --max-concurrency - säikeiden määrä, jota käytetään useissa ODM-käsittelyn vaiheissa; tässä se on asetettu samaksi kuin varattujen ytimien määrä.
  • Komennon loppuun on mahdollista lisätä lisäargumentteja.
  • Jos kuvasi kattavat erittäin laajan alueen, katso ODM Splitting Large Datasets -dokumentaatio Alta löydät esimerkin eräajotyöskriptistä. Säädä --account, --cpus-per-task, --time ja --mem-per-cpu tarpeidesi mukaan.

Roihu-esimerkkiskripti

#!/bin/bash
#SBATCH --account=<YOUR-CSC-PROJECT>
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --mem-per-cpu=3G

apptainer run \
  --bind /scratch/project_200XXX/ \
  /appl/soft/manual/geo/x86_64/opendronemap/opendronemap.sif \
  --project-path /scratch/project_200XXX/odm \
  --max-concurrency $SLURM_CPUS_PER_TASK

Puhti-esimerkkiskripti

#!/bin/bash
#SBATCH --account=<YOUR-CSC-PROJECT>
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --mem-per-cpu=3G

module load opendronemap
apptainer_wrapper run --project-path /scratch/project_2000XXX/odm --max-concurrency $SLURM_CPUS_PER_TASK

3) Tulokset ovat saatavilla code-kansiossa, esimerkiksi /scratch/project_2000XXX/odm/code

OpenDroneMap laskentasolmun paikallisella NMVE-levyllä (vain Puhdissa)

OpenDroneMap lukee ja kirjoittaa paljon levylle, joten sen suorittaminen on hieman (~15 %) nopeampaa käytettäessä laskentasolmun paikallista NMVE-levyä. Alla on esimerkkitiedosto OpenDroneMapin käyttämisestä NMVE-levyn kanssa.

#!/bin/bash
#SBATCH --account=<YOUR-CSC-PROJECT>
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --mem-per-cpu=3G
#SBATCH --gres=nvme:30

#ODM project folder, that has code/images folder.
odm_dir=/scratch/project_2000599/odm/

echo "Copying input images from Puhti scratch to compute node local disk"
rsync -r $odm_dir/code $LOCAL_SCRATCH

module load opendronemap
apptainer_wrapper run --project-path $LOCAL_SCRATCH --max-concurrency $SLURM_CPUS_PER_TASK

echo "Copying outputs from Puhti scratch to compute node local disk"
rsync -r $LOCAL_SCRATCH/* $odm_dir

Lisenssi

OpenDroneMap jaetaan GNU General Public License (GPL) version 3 mukaisesti. OpenDroneMapin koko lisenssi

Viittaus

OpenDroneMap Authors, ODM - komentorivityökalupakki karttojen, pistepilvien, 3D-mallien ja DEM:ien tuottamiseen drooni-, ilmapallo- tai leijakuvista. OpenDroneMap/ODM GitHub Page 2026; https://github.com/OpenDroneMap/ODM

Kiitokset

Pyydämme mainitsemaan CSC:n ja Geoportin julkaisuissasi; tämä on tärkeää projektin jatkuvuuden ja rahoitusraportoinnin kannalta. Voit esimerkiksi kirjoittaa: "The authors wish to thank CSC - IT Center for Science, Finland (urn:nbn:fi:research-infras-2016072531) and the Open Geospatial Information Infrastructure for Research (Geoportti, urn:nbn:fi:research-infras-2016072513) for computational resources and support".

Asennus

OpenDroneMap asennettiin Puhtiin Apptrainerilla käyttäen OpenDroneMap Dockerhubissa olevaa Docker imagea, jonka tarjoaa OpenDroneMap-yhteisö. OpenDroneMap-komentoja ei ole kääritty Tykkyllä, koska kansioiden liittäminen tarvitaan aina ajoaikana.

apptainer build opendronemap_3.5.4.sif docker://opendronemap/odm:3.5.4

Viitteet

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta