correct time-sift formatting

pull/238/head
Stephen Mather 2025-07-07 12:25:46 -04:00 zatwierdzone przez GitHub
rodzic 325aefe032
commit 792f031457
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
1 zmienionych plików z 13 dodań i 33 usunięć

Wyświetl plik

@ -270,10 +270,9 @@ When previously mapped sites need revisited, OpenDroneMap can align multiple ver
Animated gif comparing two separately processed, but aligned digital surface models. Animated gif comparing two separately processed, but aligned digital surface models.
Plugin Time-SIFT Plugin Time-SIFT
================ ----------------
This script does Time-SIFT processing with ODM. Time-SIFT is a method The script at contrib/time-sift in the ODM repository does Time-SIFT processing with ODM. Time-SIFT is a method for multi-temporal analysis without the need to co-registrate the data.
for multi-temporal analysis without the need to co-registrate the data.
D. Feurer, F. Vinatier, Joining multi-epoch archival aerial images in D. Feurer, F. Vinatier, Joining multi-epoch archival aerial images in
a single SfM block allows 3-D change detection with almost a single SfM block allows 3-D change detection with almost
@ -283,7 +282,7 @@ for multi-temporal analysis without the need to co-registrate the data.
(https://doi.org/10.1016/j.isprsjprs.2018.10.016) (https://doi.org/10.1016/j.isprsjprs.2018.10.016)
Requirements Requirements
------------ ============
- ODM ! :-) - ODM ! :-)
- subprocess - subprocess
@ -296,13 +295,12 @@ Requirements
- textwrap - textwrap
Usage Usage
----- =====
Provided example Provided example
~~~~~~~~~~~~~~~~ ================
Download or clone `this Download or clone `this repo <https://forge.inrae.fr/Denis.Feurer/timesift-odm-data-example.git>`__
repo <https://forge.inrae.fr/Denis.Feurer/timesift-odm-data-example.git>`__
to get example data. to get example data.
Then execute Then execute
@ -311,34 +309,19 @@ Then execute
python Timesift_odm.py datasets --end-with odm_filterpoints python Timesift_odm.py datasets --end-with odm_filterpoints
It should make the Time-SIFT processing on the downloaded example data, It should make the Time-SIFT processing on the downloaded example data, stopping after the filtered dense clouds step.
stopping after the filtered dense clouds step.
In the destination dir, you should obtain new directories, ``0_before`` In the destination dir, you should obtain new directories, ``0_before`` and ``1_after`` at the same level as the ``time-sift-block`` directory. These new directories contain all the results natively co-registered.
and ``1_after`` at the same level as the ``time-sift-block`` directory.
These new directories contain all the results natively co-registered.
You can then use `CloudCompare <https://cloudcompare.org/>`__ to compute You can then use `CloudCompare <https://cloudcompare.org/>`__ to compute distance between the ``datasets/0_before/odm_filterpoints/point_cloud.ply`` and the ``datasets/1_after/odm_filterpoints point_cloud.ply`` and obtain this image showing the difference between the two 3D surfaces. Here, two soil samples were excavated as can be seen on the image below. |image1|
distance between the
``datasets/0_before/odm_filterpoints/point_cloud.ply`` and the
``datasets/1_after/odm_filterpoints/point_cloud.ply`` and obtain this
image showing the difference between the two 3D surfaces. Here, two soil
samples were excavated as can be seen on the image below. |image1|
Your own data Your own data
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
In your dataset directory (usually ``datasets``, but you can have chosen In your dataset directory (usually ``datasets``, but you can have chosen another name) you have to prepare a Time-SIFT project directory (default name : ``time-sift-block``, *can be tuned via a parameter*) that contains : \* ``images/`` : a subdirectory with all images of all epochs. This directory name is fixed as it is the one expected by ODM \*
another name) you have to prepare a Time-SIFT project directory (default ``images_epochs.txt`` : a file that has the same format as the file used for the split and merge ODM function. This file name *can be tuned via a parameter*.
name : ``time-sift-block``, *can be tuned via a parameter*) that
contains : \* ``images/`` : a subdirectory with all images of all
epochs. This directory name is fixed as it is the one expected by ODM \*
``images_epochs.txt`` : a file that has the same format as the file used
for the split and merge ODM function. This file name *can be tuned via a
parameter*.
The ``images_epochs.txt`` file has two columns, the first column The ``images_epochs.txt`` file has two columns, the first column contains image names and the second contains the epoch name as follows
contains image names and the second contains the epoch name as follows
:: ::
@ -358,10 +341,7 @@ Your directory, before running the script, should look like this :
├── images/ ├── images/
└── images_epochs.txt └── images_epochs.txt
At the end of the script you obtain a directory by epoch (at the same At the end of the script you obtain a directory by epoch (at the same level as the Time-SIFT project directory). Each directory is processed with images of each epoch and all results are natively co-registered due to the initial sfm step done with all images.
level as the Time-SIFT project directory). Each directory is processed
with images of each epoch and all results are natively co-registered due
to the initial sfm step done with all images.
:: ::