Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/issue-triage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
- uses: pierotofy/issuewhiz@v1
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}
openAI: ${{ secrets.OPENAI_TOKEN }}
model: gpt-4o-2024-08-06
gemini: ${{ secrets.GEMINI_TOKEN }}
model: gemini-2.5-flash
filter: |
- "#"
variables: |
Expand All @@ -24,10 +24,10 @@ jobs:
- E: "Contains a suggestion for an improvement or a feature request?"
- SC: "Describes an issue related to compiling or building source code?"
logic: |
- 'Q and (not B) and (not P) and (not E) and (not SC) and not (title_lowercase ~= ".*bug: .+")': [comment: "Could we move this conversation over to the forum at https://community.opendronemap.org? The forum is the right place to ask questions (we try to keep the GitHub issue tracker for feature requests and bugs only). Thank you!", close: true, stop: true]
- 'Q and (not B) and (not P) and (not E) and (not SC) and not (title_lowercase ~= ".*bug: .+")': [comment: "Could we move this conversation over to a community https://webodm.org/community ? The forum is the right place to ask questions (we try to keep the GitHub issue tracker for feature requests and bugs only). Thank you!", close: true, stop: true]
- "B and (not P) and (not E) and (not SC)": [label: "software fault", stop: true]
- "P and D": [label: "possible software fault", stop: true]
- "P and (not D) and (not SC) and (not E)": [comment: "Thanks for the report, but it looks like you didn't include a copy of your dataset for us to reproduce this issue? Please make sure to follow our [issue guidelines](https://github.com/OpenDroneMap/ODM/blob/master/docs/issue_template.md) :pray: ", close: true, stop: true]
- "P and (not D) and (not SC) and (not E)": [comment: "Thanks for the report, but it looks like you didn't include a copy of your dataset for us to reproduce this issue? Please make sure to follow our [issue guidelines](https://github.com/WebODM/ODM/blob/master/docs/issue_template.md) :pray: ", close: true, stop: true]
- "E": [label: enhancement, stop: true]
- "SC": [label: "possible software fault"]

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-docker-gpu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ jobs:
platforms: linux/amd64
push: true
no-cache: true
tags: opendronemap/odm:gpu
tags: webodm/odm:gpu
# Trigger NodeODM build
- name: Dispatch NodeODM Build Event
id: nodeodm_dispatch
run: |
curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/OpenDroneMap/NodeODM/actions/workflows/publish-docker-gpu.yaml/dispatches --data '{"ref": "master"}'
curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/WebODM/NodeODM/actions/workflows/publish-docker-gpu.yaml/dispatches --data '{"ref": "master"}'
6 changes: 3 additions & 3 deletions .github/workflows/publish-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: opendronemap/odm
images: webodm/odm
tag-semver: |
{{version}}
- name: Build and push Docker image
Expand All @@ -45,9 +45,9 @@ jobs:
no-cache: true
tags: |
${{ steps.docker_meta.outputs.tags }}
opendronemap/odm:latest
webodm/odm:latest
# Trigger NodeODM build
- name: Dispatch NodeODM Build Event
id: nodeodm_dispatch
run: |
curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/OpenDroneMap/NodeODM/actions/workflows/publish-docker.yaml/dispatches --data '{"ref": "master"}'
curl -X POST -u "${{secrets.PAT_USERNAME}}:${{secrets.PAT_TOKEN}}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/WebODM/NodeODM/actions/workflows/publish-docker.yaml/dispatches --data '{"ref": "master"}'
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
See https://github.com/OpenDroneMap/documents/blob/master/CONTRIBUTING.md
See https://github.com/WebODM/WebODM/blob/master/CONTRIBUTING.md
55 changes: 32 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,43 @@ An open source command line toolkit for processing aerial drone imagery. ODM tur

The application is available for Windows, Mac and Linux and it works from the command line, making it ideal for power users, scripts and for integration with other software.

If you would rather not type commands in a shell and are looking for a friendly user interface, check out [WebODM](https://github.com/OpenDroneMap/WebODM).
If you would rather not type commands in a shell and are looking for a friendly user interface, check out [WebODM](https://github.com/WebODM/WebODM).

## Quickstart

The easiest way to run ODM is via docker. To install docker, see [docs.docker.com](https://docs.docker.com). Once you have docker installed and [working](https://docs.docker.com/get-started/#test-docker-installation), you can get ODM by running from a Command Prompt / Terminal:

```bash
docker pull opendronemap/odm
docker pull webodm/odm
```

Run ODM by placing some images (JPEGs, TIFFs or DNGs) in a folder named “images” (for example `C:\Users\youruser\datasets\project\images` or `/home/youruser/datasets/project/images`) and simply run from a Command Prompt / Terminal:

```bash
# Windows
docker run -ti --rm -v c:/Users/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project
docker run -ti --rm -v c:/Users/youruser/datasets:/datasets webodm/odm --project-path /datasets project
```
```bash
# Mac/Linux
docker run -ti --rm -v /home/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project
docker run -ti --rm -v /home/youruser/datasets:/datasets webodm/odm --project-path /datasets project
```

You can pass [additional parameters](https://docs.opendronemap.org/arguments/) by appending them to the command:
You can pass additional parameters by appending them to the command:

```bash
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project [--additional --parameters --here]
docker run -ti --rm -v /datasets:/datasets webodm/odm --project-path /datasets project [--additional --parameters --here]
```

For example, to generate a DSM (`--dsm`) and increase the orthophoto resolution (`--orthophoto-resolution 2`) :

```bash
docker run -ti --rm -v /datasets:/datasets opendronemap/odm --project-path /datasets project --dsm --orthophoto-resolution 2
docker run -ti --rm -v /datasets:/datasets webodm/odm --project-path /datasets project --dsm --orthophoto-resolution 2
```

For all parameters:

```bash
docker run -ti --rm -v /datasets:/datasets webodm/odm --help
```

## Viewing Results
Expand Down Expand Up @@ -70,30 +76,30 @@ You can use the following free and open source software to open the files genera

## API

ODM can be made accessible from a network via [NodeODM](https://github.com/OpenDroneMap/NodeODM).
ODM can be made accessible from a network via [NodeODM](https://github.com/WebODM/NodeODM).

## Documentation

See http://docs.opendronemap.org for tutorials and more guides.
See http://docs.webodm.org for tutorials and more guides.

## Forum
## Community

We have a vibrant [community forum](https://community.opendronemap.org/). You can [search it](https://community.opendronemap.org/search?expanded=true) for issues you might be having with ODM and you can post questions there. We encourage users of ODM to participate in the forum and to engage with fellow drone mapping users.
See https://webodm.org/community to find a community near you.

## Windows Setup

ODM can be installed natively on Windows. Just download the latest setup from the [releases](https://github.com/OpenDroneMap/ODM/releases) page. After opening the ODM Console you can process datasets by typing:
ODM can be installed natively on Windows. Just download the latest setup from the [releases](https://github.com/WebODM/ODM/releases) page. After opening the ODM Console you can process datasets by typing:

```bash
run C:\Users\youruser\datasets\project [--additional --parameters --here]
```

## GPU Acceleration

ODM has support for doing SIFT feature extraction on a GPU, which is about 2x faster than the CPU on a typical consumer laptop. To use this feature, you need to use the `opendronemap/odm:gpu` docker image instead of `opendronemap/odm` and you need to pass the `--gpus all` flag:
ODM has support for doing SIFT feature extraction on a GPU, which is about 2x faster than the CPU on a typical consumer laptop. To use this feature, you need to use the `webodm/odm:gpu` docker image instead of `webodm/odm:gpu` and you need to pass the `--gpus all` flag:

```
docker run -ti --rm -v c:/Users/youruser/datasets:/datasets --gpus all opendronemap/odm:gpu --project-path /datasets project --feature-type sift
docker run -ti --rm -v c:/Users/youruser/datasets:/datasets --gpus all webodm/odm:gpu --project-path /datasets project --feature-type sift
```

When you run ODM, if the GPU is recognized, in the first few lines of output you should see:
Expand Down Expand Up @@ -133,7 +139,7 @@ See https://github.com/NVIDIA/nvidia-docker and https://docs.nvidia.com/datacent
You can run ODM natively on Ubuntu 24.04 (although we don't recommend it):

```bash
git clone https://github.com/OpenDroneMap/ODM
git clone https://github.com/WebODM/ODM
cd ODM
bash configure.sh install
```
Expand All @@ -154,14 +160,14 @@ First install:
Then Run:

```bash
git clone https://github.com/OpenDroneMap/ODM
git clone https://github.com/WebODM/ODM
cd ODM
bash configure_macos.sh install
```

You can then process datasets with `./run.sh /datasets/odm_data_aukerman`

This could be improved in the future. [Helps us create a Homebrew formula](https://github.com/OpenDroneMap/ODM/issues/1531).
This could be improved in the future. [Helps us create a Homebrew formula](https://github.com/WebODM/ODM/issues/1531).

### Updating a native installation

Expand Down Expand Up @@ -202,7 +208,7 @@ Starting from version 3.0.4, ODM can automatically extract images from video fil

## Developers

Help improve our software! We welcome contributions from everyone, whether to add new features, improve speed, fix existing bugs or add support for more cameras. Check our [code of conduct](https://github.com/OpenDroneMap/documents/blob/master/CONDUCT.md), the [contributing guidelines](https://github.com/OpenDroneMap/documents/blob/master/CONTRIBUTING.md) and [how decisions are made](https://github.com/OpenDroneMap/documents/blob/master/GOVERNANCE.md#how-decisions-are-made).
Help improve our software! We welcome contributions from everyone, whether to add new features, improve speed, fix existing bugs or add support for more cameras. Check [contributing guidelines](https://github.com/WebODM/WebODM/blob/master/CONTRIBUTING.md).


### Installation and first run
Expand All @@ -229,29 +235,32 @@ You can now make changes to the ODM source. When you are ready to test the chang
docker stop odmdev
```
### To come back to dev environement
change your_username to your username

(change `your_username` to your username)

```bash
docker start odmdev
docker exec -ti odmdev bash
su your_username
```


If you have questions, join the developer's chat at https://community.opendronemap.org/c/developers-chat/21
If you have questions, join the #devtalk's channel on discord: https://webodm.org/community

1. Try to keep commits clean and simple
2. Submit a pull request with detailed changes and test results
3. Have fun!

### Troubleshooting
The dev environment makes use of `opendronemap/nodeodm` by default. You may want to run
`docker pull opendronemap/nodeodm` before running `./start-dev-env.sh` to avoid using an old cached version.

The dev environment makes use of `webodm/nodeodm` by default. You may want to run
`docker pull webodm/nodeodm` before running `./start-dev-env.sh` to avoid using an old cached version.

In order to make a clean build, remove `~/.odm-dev-home` and `ODM/.setupdevenv`.

## Credits

ODM makes use of [several libraries](https://github.com/OpenDroneMap/ODM/blob/master/snap/snapcraft.yaml#L36) and other awesome open source projects to perform its tasks. Among them we'd like to highlight:
ODM makes use of other awesome open source projects to perform its tasks. Among them we'd like to highlight:

- [OpenSfM](https://github.com/mapillary/OpenSfM)
- [OpenMVS](https://github.com/cdcseacave/openMVS/)
Expand Down
2 changes: 1 addition & 1 deletion code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
See https://github.com/OpenDroneMap/documents/blob/master/CONDUCT.md
See https://github.com/WebODM/WebODM/blob/master/CONDUCT.md
4 changes: 2 additions & 2 deletions configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -208,15 +208,15 @@ usage() {
echo "bash configure.sh <install|update|uninstall|installreqs|installpython|help> [nproc]"
echo "Subcommands:"
echo " install"
echo " Installs all dependencies and modules for running OpenDroneMap"
echo " Installs all dependencies and modules for running ODM"
echo " installruntimedepsonly"
echo " Installs *only* the runtime libraries (used by docker builds). To build from source, use the 'install' command."
echo " installreqs"
echo " Only installs the system requirements and dependencies (does not build SuperBuild or install Python packages)"
echo " installpython"
echo " Installs Python requirements after SuperBuild is compiled"
echo " reinstall"
echo " Removes SuperBuild and build modules, then re-installs them. Note this does not update OpenDroneMap to the latest version. "
echo " Removes SuperBuild and build modules, then re-installs them. Note this does not update ODM to the latest version. "
echo " uninstall"
echo " Removes SuperBuild and build modules. Does not uninstall dependencies"
echo " clean"
Expand Down
2 changes: 1 addition & 1 deletion contrib/dem-blend/dem-blend.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import argparse
from opendm.dem import merge

parser = argparse.ArgumentParser(description='Merge and blend DEMs using OpenDroneMap\'s approach.')
parser = argparse.ArgumentParser(description='Merge and blend DEMs using ODM\'s approach.')
parser.add_argument('input_dems',
type=str,
help='Path to input dems (.tif)')
Expand Down
2 changes: 1 addition & 1 deletion contrib/mask-duplicator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ This snippet takes the file path of a single image mask and duplicates it for al

Before using this code snippet, open one of your 360 images in an image editor and mask out the helmet or tripod, etc at the bottom of your image. Save this image as a png and then use it as the mask image that will be duplicated for all images in the dataset.

See https://docs.opendronemap.org/masks/ for more details on mask creation.
See https://docs.webodm.org/tutorials/using-image-masks/ for more details on mask creation.
4 changes: 2 additions & 2 deletions contrib/orthorectify/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ This tool is capable of orthorectifying individual images (or all images) from a
After running a reconstruction using ODM:

```
docker run -ti --rm -v /home/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project
docker run -ti --rm -v /home/youruser/datasets:/datasets webodm/odm --project-path /datasets project
```

You can run the orthorectification module by running:

```
docker run -ti --rm -v /home/youruser/datasets:/datasets --entrypoint /code/contrib/orthorectify/run.sh opendronemap/odm /datasets/project
docker run -ti --rm -v /home/youruser/datasets:/datasets --entrypoint /code/contrib/orthorectify/run.sh webodm/odm /datasets/project
```

This will start the orthorectification process for all images in the dataset. See additional flags you can pass at the end of the command above:
Expand Down
2 changes: 1 addition & 1 deletion contrib/pc2dem/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This tool includes methods to perform efficient and scalable gapfill interpolati
## Usage

```
docker run -ti --rm -v /home/youruser/folder_with_point_cloud:/input --entrypoint /code/contrib/pc2dem/pc2dem.py opendronemap/odm /input/point_cloud.las [flags]
docker run -ti --rm -v /home/youruser/folder_with_point_cloud:/input --entrypoint /code/contrib/pc2dem/pc2dem.py webodm/odm /input/point_cloud.las [flags]
```

The result (`dsm.tif` or `dtm.tif`) will be stored in the same folder as the input point cloud. See additional `flags` you can pass at the end of the command above:
Expand Down
4 changes: 2 additions & 2 deletions contrib/time-sift/Timesift_odm.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def clean_reconstruction_dict(subdict, key, images):
### LAUNCH global alignment (Time-SIFT multitemporal block)
try:
subprocess.run(['docker', 'run', '-i', '--rm', '-v', datasets_DIR + ':/datasets',
'opendronemap/odm', '--project-path', '/datasets', timesift_DIR, '--end-with', 'opensfm'])
'webodm/odm', '--project-path', '/datasets', timesift_DIR, '--end-with', 'opensfm'])
except:
print(f'\033[91m[Time-SIFT] ERROR: {sys.exc_info()[0]}\033[0m')
exit()
Expand Down Expand Up @@ -135,7 +135,7 @@ def clean_reconstruction_dict(subdict, key, images):

#### Launches dense matching from the good previous step, with possible options (e.g. => to stop at the point clouds)
command_rerun = ['docker', 'run', '-i', '--rm', '-v', datasets_DIR + ':/datasets',
'opendronemap/odm',
'webodm/odm',
'--project-path', '/datasets', epoch,
'--rerun-from', 'openmvs']
if additional_options_to_rerun:
Expand Down
2 changes: 1 addition & 1 deletion docs/issue_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ PLEASE REMOVE THIS NOTE AFTER READING IT!

First of all, thank you for taking the time to report an issue.

Before you continue, make sure you are in the right place. Please open an issue only to report faults and bugs. For questions and discussion please open a topic on http://community.opendronemap.org/c/opendronemap.
Before you continue, make sure you are in the right place. Please open an issue only to report faults and bugs.

Please use the format below to report bugs and faults.
****************************************
Expand Down
4 changes: 2 additions & 2 deletions innosetup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#define MyAppVersion FileRead(VerFile)
#expr FileClose(VerFile)
#undef VerFile
#define MyAppPublisher "OpenDroneMap"
#define MyAppURL "https://opendronemap.org"
#define MyAppPublisher "WebODM"
#define MyAppURL "https://webodm.org"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
Expand Down
6 changes: 3 additions & 3 deletions licenses/license.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Licensing for portions of OpenDroneMap are as follows:
Licensing for portions of ODM are as follows:
* ImageMagick - Apache 2.0 - http://www.imagemagick.org/script/license.php
* Jhead - None - http://www.sentex.net/~mwandel/jhead/
* libjpeg - GPLv2 - http://sourceforge.net/projects/libjpeg/
Expand All @@ -19,6 +19,6 @@ Licensing for portions of OpenDroneMap are as follows:
* Flann - BSD2 - http://opensource.org/licenses/bsd-license.php
* Eigen - MPL2 - http://www.mozilla.org/MPL/2.0
* Qhull - http://www.qhull.org/COPYING.txt
* libext - https://github.com/OpenDroneMap/OpenDroneMap/blob/gh-pages/licenses/libext_copyright.txt
* libx11 - https://github.com/OpenDroneMap/OpenDroneMap/blob/gh-pages/licenses/libx11_copyright.txt
* libext - https://github.com/WebODM/ODM/blob/gh-pages/licenses/libext_copyright.txt
* libx11 - https://github.com/WebODM/ODM/blob/gh-pages/licenses/libx11_copyright.txt
* MVS Texturing - BSD - https://github.com/nmoehrle/mvs-texturing/blob/master/LICENSE.txt
Loading
Loading