Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
59964c4
Adaptation des import pour l'export de CurlPool en dehors de Cache
VincentMiras Oct 3, 2025
df66999
Adaptation de l'export de ProjPool en dehors de Cache
VincentMiras Oct 3, 2025
ff2952d
Changement lié à l'export de StoragePool en dehors de la classe Cache…
VincentMiras Oct 6, 2025
c791c42
Ajout des imports suite à l'export de StoragePool hors de Cache
VincentMiras Oct 9, 2025
4d10345
Mise à jour Changelog
VincentMiras Oct 17, 2025
02367fa
Correction erreurs changelog
VincentMiras Oct 20, 2025
2c00426
Retrait des imports de Cache dépréciés
VincentMiras Oct 20, 2025
a0594d0
Passage du changelog au format keepachangelog
Dolite Nov 3, 2025
6ca056a
Passage du changelog au format keepachangelog
Dolite Nov 3, 2025
2e89871
Suppression des warnings liés aux types uint8 et uint32
Dolite Nov 4, 2025
4144995
Merge branch 'develop' into feature/split-cache-classes
Dolite Nov 4, 2025
c87076c
Merge pull request #15 from rok4/feature/split-cache-classes
Dolite Nov 4, 2025
732b279
Refonte de l'outil merge4tiff
Dolite Jan 13, 2026
0fdf722
Merge pull request #16 from rok4/feature/refactor-merge4tiff
Dolite Jan 13, 2026
18711d0
Amélioration de la documentation
Dolite Jan 13, 2026
f0f008c
Merge pull request #17 from rok4/feature/mermaid-diagrams
Dolite Jan 13, 2026
b5763c7
Ajout du style terrainrgb dans le traitement mergeNtiff et utilisatio…
VincentMiras Sep 30, 2025
a4e9680
Merge pull request #14 from rok4/feature/terrainrgb
Dolite Mar 12, 2026
971dc2d
Mise à jour du CHANGELOG pour la release 5.1.0
Dolite Mar 16, 2026
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
93 changes: 59 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,82 @@
## 5.0.0
# Changelog

### [Changed]
Tous les changements sont consignés dans ce fichier.

* Le format des canaux contient la taille en bits
* Passage en snake case
Le format est basé sur [Keep a Changelog](https://keepachangelog.com/) et ce projet respecte le [Semantic Versioning](https://semver.org/).

### [Fixed]
## [Unreleased]

* Correction de l'utilisation d'un style "identité"
## [5.1.0] - 2026-03-16

### [Removed]
### Added

* Suppression de l'option crop dans work2cache
- Possibilité de définir un timeout via la variable d'environnement `ROK4_NETWORK_TIMEOUT` (valeur à fournir en seconde) pour les intéraction avec le stockage Swift ou S3
- Ajout de diagrammes pour comprendre l'usage des classes Image dans les différents outils
- Amélioration de la documentation Doxygen
- `mergeNtiff` : Ajout du cas du style terrainrgb lors des applications des styles

## 4.2.0
### Changed

### [Added]
- Refonte du CHANGELOG au format [Keep a Changelog](https://keepachangelog.com/)
- Changement des imports de Cache aux imports spécifiques des classes suite à la séparation du fichier Cache dans core-cpp.
- Merge4tiff utilise désormais les classes Image, dont la nouvelle SubsampledImage, pour faire le calcul raster
- `mergeNtiff` :
- Vérification de l'existance d'une palette avant d'accéder aux éléments de palette.
- Changement de la manière de faire le traitement de style pour utiliser la classe StyledImage de la lib core-cpp.

* Stockage objet (S3, Swift et Ceph)
* Possibilité de définir un nombre de tentatives pour les lectures (1 par défaut) : variable d'environnement `ROK4_OBJECT_READ_ATTEMPTS`
* Possibilité de définir un nombre de tentatives pour les écritures (1 par défaut) : variable d'environnement `ROK4_OBJECT_WRITE_ATTEMPTS`
* Possibilité de définir un temps d'attente, en secondes, entre les tentatives (5 par défaut) : variable d'environnement `ROK4_OBJECT_ATTEMPTS_WAIT`

## 4.1.5

### [Fixed]
### Deprecated
### Removed
### Fixed
### Security

* Outil `mergeNtiff` : correction du cas mergeNtiff + image de fond + style. L'image de fond provient d'une pyramide, donc est déjà au format cible. Il ne faut pas lui appliquer de style.
## [5.0.0] - 2025-06-13
### Changed
- Le format des canaux contient la taille en bits
- Passage en snake case

## 4.1.4
### Removed
- Suppression de l'option crop dans work2cache

### [Fixed]
### Fixed
- Correction de l'utilisation d'un style "identité"

* Outil `manageNodata` : une erreur lors de la lecture initiale (et complète) de l'image de données en entrée fait sortir en erreur la commande
* Outil `mergeNtiff` : gestion correcte d'un style de pente pur (sans palette), dans le cas d'images en entrée phasée avec la sortie (pas de réechantillonnage ou reprojection)
* Include de la librairie d'annuaire (stockage, proj...)
## [4.2.0] - 2024-03-21
### Added
- Stockage objet (S3, Swift et Ceph)
* Possibilité de définir un nombre de tentatives pour les lectures (1 par défaut) : variable d'environnement `ROK4_OBJECT_READ_ATTEMPTS`
* Possibilité de définir un nombre de tentatives pour les écritures (1 par défaut) : variable d'environnement `ROK4_OBJECT_WRITE_ATTEMPTS`
* Possibilité de définir un temps d'attente, en secondes, entre les tentatives (5 par défaut) : variable d'environnement `ROK4_OBJECT_ATTEMPTS_WAIT`

### [Changed]
## [4.1.5] - 2023-08-30
### Fixed
- Outil `mergeNtiff` : correction du cas mergeNtiff + image de fond + style. L'image de fond provient d'une pyramide, donc est déjà au format cible. Il ne faut pas lui appliquer de style.

* Prise en compte du nouveau nommage dans l'utilisation de l'annuaire de contexte de stockage
* Compilation avec core-cpp en librairie dynamique
## [4.1.4] - 2023-03-14
### Changed
- Prise en compte du nouveau nommage dans l'utilisation de l'annuaire de contexte de stockage
- Compilation avec core-cpp en librairie dynamique

## 4.0.0
### Fixed
- Outil `manageNodata` : une erreur lors de la lecture initiale (et complète) de l'image de données en entrée fait sortir en erreur la commande
- Outil `mergeNtiff` : gestion correcte d'un style de pente pur (sans palette), dans le cas d'images en entrée phasée avec la sortie (pas de réechantillonnage ou reprojection)
- Include de la librairie d'annuaire (stockage, proj...)

## [4.0.0] - 2022-06-26
Le projet ROK4 a été totalement refondu, dans son organisation et sa mise à disposition. Les composants sont désormais disponibles dans des releases sur GitHub au format debian.

Cette release contient les outils de génération des pyramides de données, permettant les reprojections, le sous echantillonnage, ou encore la mise au format final des données.

### [Added]

* L'outil mergeNtiff peut prendre en compte un style à appliquer aux données, avant l'éventuelle reprojection
### Added
- L'outil mergeNtiff peut prendre en compte un style à appliquer aux données, avant l'éventuelle reprojection

### [Changed]
### Changed
- Les chemins des dalles finales sont fournis dans un format précisant le type de stockage : `(file|ceph|s3|swift)://<chemin vers le fichier ou l'objet>`. Dans le cas du stockage objet, le chemin est de la forme `<nom du contenant>/<nom de l'objet>`
- Passage de la librairie PROJ à la version 6

* Les chemins des dalles finales sont fournis dans un format précisant le type de stockage : `(file|ceph|s3|swift)://<chemin vers le fichier ou l'objet>`. Dans le cas du stockage objet, le chemin est de la forme `<nom du contenant>/<nom de l'objet>`
* Passage de la librairie PROJ à la version 6
[Unreleased]: https://github.com/rok4/generation/compare/v5.1.0...HEAD
[5.1.0]: https://github.com/rok4/generation/compare/v5.0.0...v5.1.0
[5.0.0]: https://github.com/rok4/generation/compare/v4.2.0...v5.0.0
[4.2.0]: https://github.com/rok4/generation/compare/v4.1.5...v4.2.0
[4.1.5]: https://github.com/rok4/generation/compare/v4.1.4...v4.1.5
[4.1.4]: https://github.com/rok4/generation/compare/v4.0.0...v4.1.4
[4.0.0]: https://github.com/rok4/generation/releases/tag/v4.0.0
7 changes: 5 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,18 @@ if(DOC_ENABLED)
set(DOXYGEN_OUTPUT_LANGUAGE french)
set(DOXYGEN_INPUT_ENCODING UTF-8)
set(DOXYGEN_IMAGE_PATH docs/images)
set(DOXYGEN_EXAMPLE_PATH docs/diagrams)
set(DOXYGEN_RECURSIVE YES)
set(DOXYGEN_PROJECT_NAME "Suite d'outils de génération ROK4")
set(DOXYGEN_GENERATE_HTML YES)
set(DOXYGEN_GENERATE_LATEX NO)
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE docs/main.doxygen.md)
set(DOXYGEN_ALIASES mermaid{1}=\"@htmlonly <div class=\\\"mermaid\\\"> ^^ @endhtmlonly @htmlinclude \\\"\\1.mmd\\\" @htmlonly ^^ </div> @endhtmlonly\")
set(DOXYGEN_GENERATE_TREEVIEW YES)
set(DOXYGEN_DISABLE_INDEX NO)
set(DOXYGEN_DISABLE_INDEX YES)
set(DOXYGEN_HAVE_DOT NO)
set(DOXYGEN_FULL_SIDEBAR NO)
set(DOXYGEN_HTML_HEADER docs/doxygen/header.html)
set(DOXYGEN_HTML_FOOTER docs/doxygen/footer.html)
set(DOXYGEN_HTML_EXTRA_STYLESHEET ${CMAKE_CURRENT_SOURCE_DIR}/docs/doxygen/doxygen-awesome.css)
set(DOXYGEN_HTML_COLORSTYLE LIGHT)

Expand Down
16 changes: 7 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,30 @@ Merci d'envisager de contribuer à ce projet !

## Pull request

Le titre de la PR est utilisé pour constituer automatiquement les notes de release. Vous pouvez préciser en commentaire de votre PR des détails qui seront ajoutés dans le fichier `CHANGELOG.md` par les mainteneurs du projet.

Le formalisme du changelog est le suivant, en markdown :
Complétez le fichier `CHANGELOG.md`, dans la partie `[Unreleased]`, en précisant les modifications fonctionnelles apportées. Celles ci seront utilisées pour rédiger le message de release sur GitHub. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/). Les sections sont les suivantes :

```md
### [Added]
### Added

Liste de nouvelles fonctionnalités.

### [Changed]
### Changed

Liste de fonctionnalités existantes modifiées.

### [Deprecated]
### Deprecated

Liste de fonctionnalités dépréciées.

### [Removed]
### Removed

Liste de foncitonnalités retirées.

### [Fixed]
### Fixed

Liste de corrections fonctionnelles.

### [Security]
### Security

Liste de corrections de sécurité.
```
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ Leur définition est contrôlée à l'usage.
- `ROK4_KEYSTONE_PROJECTID`
- `ROK4_SWIFT_TOKEN_FILE` afin de sauvegarder le token d'accès, et ne pas le demander si ce fichier en contient un
* Pour configurer l'usage de libcurl (intéraction SWIFT et S3)
- `ROK4_NETWORK_TIMEOUT` : temps en secondes d'inactivité d'une requête avant de la stopper. Aucun temps défini côté client si aucune valeur fournie
- `ROK4_SSL_NO_VERIFY`
- `HTTP_PROXY`
- `HTTPS_PROXY`
Expand Down
21 changes: 21 additions & 0 deletions docs/diagrams/cache2work.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB
img1@{ shape: proc, label: "Rok4Image"}
img1_notes@{ shape: braces, label: "image en entrée
en lecture"}
img1 -.- img1_notes

img2@{ shape: proc, label: "FileImage"}
img2_notes@{ shape: braces, label: "image en sortie
en écriture"}
img2 -.- img2_notes

img1 write@-- est lue ligne par ligne pour écrire --> img2
write@{ animate: true }

14 changes: 14 additions & 0 deletions docs/diagrams/checkWork.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB
img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "image en entrée
en lecture
si la création est en succès, la commande sort en succès"}
img1 -.- img1_notes

27 changes: 27 additions & 0 deletions docs/diagrams/composeNtiff.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB
img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "1 par image en entrée
en lecture"}
img1 -.- img1_notes

img2@{ shape: proc, label: "CompoundImage"}

img2 --> img1

img8@{ shape: proc, label: "FileImage"}
img8_notes@{ shape: braces, label: "image en sortie
en écriture"}
img8 -.- img8_notes

img2 write@-- est lue ligne par ligne pour écrire --> img8
write@{ animate: true }

classDef optionnal stroke-dasharray: 5 5;
class img5,img4 optionnal
39 changes: 39 additions & 0 deletions docs/diagrams/decimateNtiff.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB
img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "1 par image en entrée à décimer
en lecture
avec un éventuel convertisseur"}
img1 -.- img1_notes

img2@{ shape: proc, label: "FileImage"}
img2_notes@{ shape: braces, label: "1 pour l'image de fond
en lecture"}
img2 -.- img2_notes

img3@{ shape: proc, label: "ExtendedCompoundImage"}

img4@{ shape: proc, label: "DecimatedImage"}
img4 --> img3 --> img1

img5@{ shape: proc, label: "ExtendedCompoundImage"}

img5 --> img4
img5 -- si il y a un fond --> img2

img8@{ shape: proc, label: "FileImage"}
img8_notes@{ shape: braces, label: "image en sortie
en écriture"}
img8 -.- img8_notes

img5 write@-- est lue ligne par ligne pour écrire --> img8
write@{ animate: true }

classDef optionnal stroke-dasharray: 5 5;
class img2 optionnal
35 changes: 35 additions & 0 deletions docs/diagrams/manageNodata.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB

subgraph tnm["TiffNodataManager"]
direction TB

img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "1 seul image en entrée
en lecture"}
img1 -.- img1_notes

proc{{determine les pixels de nodata}}

img1 write1@-- est lue en entier --> proc
write1@{ animate: true }

img8@{ shape: proc, label: "FileImage"}
img8_notes@{ shape: braces, label: "image en sortie
en écriture"}
img8 -.- img8_notes

proc write2@-- donnée bufferisée écrite --> img8
write2@{ animate: true }

end


classDef optionnal stroke-dasharray: 5 5;
class img2 optionnal
45 changes: 45 additions & 0 deletions docs/diagrams/merge4tiff.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
config:
theme: neutral
flowchart:
htmlLabels: false
---

flowchart TB
img1@{ shape: proc, label: "FileImage"}
img1_notes@{ shape: braces, label: "1 par image de coin en entrée
jusqu'à 4
en lecture
avec un éventuel convertisseur"}
img1 -.- img1_notes

img2@{ shape: proc, label: "ExtendedCompoundImage"}
img3@{ shape: proc, label: "SubsampledImage"}

img3 --> img2 --> img1

img5@{ shape: proc, label: "MergeImage"}
img4@{ shape: proc, label: "FileImage"}
img4_notes@{ shape: braces, label: "1 seule pour l'image de fond
en lecture"}
img4 -.- img4_notes
img5 --> img4
img5 --> img3

input{Au choix}


img8@{ shape: proc, label: "FileImage"}
img8_notes@{ shape: braces, label: "image en sortie
en écriture"}
img8 -.- img8_notes

input write1@-- est lue ligne par ligne pour écrire --> img8
img3 write2@-- si pas de fond fourni --> input
img5 write3@-- si un fond est fourni --> input
write1@{ animate: true }
write2@{ animate: true }
write3@{ animate: true }

classDef optionnal stroke-dasharray: 5 5;
class img5,img4 optionnal
Loading
Loading