création d'un script de batch

This commit is contained in:
Tykayn 2024-02-07 22:30:01 +01:00 committed by tykayn
parent 47273beee5
commit cc5abf6215
5 changed files with 42 additions and 19 deletions

View File

@ -23,6 +23,7 @@ mkdir -p /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/PANORAMA
Une fois que vous avez vos dossiers de séquences, lancez le script pour trouver le min et le max des photos dans un dossier de séquence en particulier, ce script vous donnera les commandes à lancer pour assembler les photos.
Les scripts d'assemblage prennent garde à ne pas lancer hugin si le fichier d'assemblage existe déjà.
### Exemple
Exemple de commande pour assembler un dossier que l'on aurait nommé "123" dans `INBOX_a_assembler` après avoir cloné ce dépot dans un dossier `/var/www/html/scripts`
@ -33,7 +34,10 @@ bash /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_PTO_hu
bash /var/www/html/scripts/hugin-gopro-fusion/exif_batch.sh 16263 17261 INBOX_a_assembler/vovo_dec_2023/130
```
Cette commande vous donnera des fichiers dans le dossier
Cette commande vous donnera des fichiers assemblés dans le dossier `hugin_assemblages_script_output`
situé ici par défaut:
`/home/poule/encrypted/stockage-syncable/photos/imageries/gopro/hugin_assemblages_script_output`
## Descriptions
Le script `main.ts` ne lit pas les photos, il va juste créer un fichier **.pto** pour `hugin` pour assembler chaque paire de photos `GB***` et `GF***`, ainsi qu'un script bash afin de lancer l'assemblage en masse. La configuration de ce script pour Hugin est définie en dur dans le script. Vous pouvez faire des essais d'assemblages dans Hugin et sauvegarder un pto, puis copier sa configuration dans le script main.ts pour changer mes configurations.

View File

@ -13,6 +13,8 @@
#folder="rouen/rouen_oct23"
function batch_exif_photos {
echo "# assemblage des infos exif en batch"
local min=$1
local max=$2
local folder=$3
@ -34,6 +36,8 @@ function batch_exif_photos {
echo "batch_exif_photos: File $file does not exist."
fi
done
echo "# fin des assemblages exif"
}
batch_exif_photos $1 $2 $3

View File

@ -128,7 +128,7 @@ function getFileNames(): string[] {
/**
* déplacer des imageries assemblées en masse dans un dossier "à envoyer"
* déplacer des imageries assemblées en masse dans un dossier "à envoyer"
* @param startNumber
* @param endNumber
*/

View File

@ -65,20 +65,20 @@ let dossier_assemblages_output = `${gopro_folder}/hugin_assemblages_script_outpu
let minmax = findMinMaxNumberOfPhotos(folder)
console.log('minmax', minmax)
console.log('# minmax', minmax)
goproMin = minmax.min
goproMax = minmax.max
let countPhotos = ((goproMax)) - ((goproMin));
console.log('goproMax', goproMax)
console.log('goproMin', goproMin)
console.log('max - min', (goproMax) - (goproMin))
console.log('la séquence', countPhotos, 'captures', (countPhotos / 60).toFixed(0), 'minutes');
console.log('# goproMax', goproMax)
console.log('# goproMin', goproMin)
console.log('# max - min', (goproMax) - (goproMin))
console.log('# la séquence', countPhotos, 'captures', (countPhotos / 60).toFixed(0), 'minutes');
console.log('mini_arguments', mini_arguments)
console.log('# mini_arguments', mini_arguments)
/**
@ -87,7 +87,7 @@ console.log('mini_arguments', mini_arguments)
*/
function findMinMaxNumberOfPhotos(dirPath: string): { min: number, max: number } {
console.log('dirPath', dirPath)
console.log('# dirPath', dirPath)
let minNumber: number = 0;
let maxNumber: number = 0;
@ -123,13 +123,13 @@ function makeBashScriptHugin(minmax: any) {
let count_pto_made_files =0;
// in each increment of a pair of photos, build a pto referencing absolute paths
// write the pto in output
console.log('makeBashScriptHugin: parseInt(minmax.min)', parseInt(minmax.min))
console.log('# makeBashScriptHugin: parseInt(minmax.min)', parseInt(minmax.min))
console.log('makeBashScriptHugin: gopro_fusion_separated_photos_folder', gopro_fusion_separated_photos_folder)
console.log('# makeBashScriptHugin: gopro_fusion_separated_photos_folder', gopro_fusion_separated_photos_folder)
if (!disable_pto_write) {
console.log('makeBashScriptHugin: début de l\'écriture des fichiers PTO')
console.log('# makeBashScriptHugin: début de l\'écriture des fichiers PTO')
}
for (let ii: any = parseInt(minmax.min); ii <= parseInt(
@ -169,12 +169,12 @@ function makeBashScriptHugin(minmax: any) {
writeFile(ptoFileName, ptoContent)
count_pto_made_files++;
}else{
console.log('l écriture de fichiers PTO a été désactivée')
console.log('# l écriture de fichiers PTO a été désactivée')
}
}
if (!disable_pto_write) {
console.log('fin de l\'écriture des '+count_pto_made_files+' fichiers PTO')
console.log('# fin de l\'écriture des '+count_pto_made_files+' fichiers PTO')
}
let hugin_batch_command = 'bash /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/exif_batch.sh ' + goproMin + ' ' + goproMax
@ -186,13 +186,12 @@ function makeBashScriptHugin(minmax: any) {
'\n' + hugin_batch_command + '\n'
}
console.log('##############\n pour lancer le script : \n', 'bash /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_PTO_hugin/hugin_executor_from_' + goproMin + '_to_' + goproMax + '.sh',
console.log('# ##############\n# pour lancer le script : \n', 'bash /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_PTO_hugin/hugin_executor_from_' + goproMin + '_to_' + goproMax + '.sh',
'\n' +
' bash /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/exif_batch.sh ' + goproMin + ' ' + goproMax + ' ' + gopro_fusion_separated_photos_folder,
'\n' +
'\n##############\n'
)
console.log('hugin_batch_command: \n', hugin_batch_command)
writeFile('hugin_executor_from_' + goproMin + '_to_' + goproMax + '.sh', scriptsContent);
@ -210,8 +209,8 @@ function makePto(absolutePath: string, currentNumber: string):string {
let back_picture_name = absolutePath + '/GB' + currentNumber + '.' + extension_photo_source;
// console.log('front_picture_name', front_picture_name)
// console.log('back_picture_name', front_picture_name)
// console.log('# front_picture_name', front_picture_name)
// console.log('# back_picture_name', front_picture_name)
return `
# hugin project file
@ -301,7 +300,7 @@ k i1 t1 p"252 628 484 351 745 156 1008 41 1121 2 1992 4 2289 127 2571 317 2769 5
function writeFile(fileName: string, fileContent: any) {
// console.log('write file', dossier_pto_output , fileName)
// console.log('# write file', dossier_pto_output , fileName)
return fs.writeFile(
`${dossier_pto_output}/${fileName}`,

View File

@ -0,0 +1,16 @@
#!/bin/bash
echo "génération de fichier de batch"
echo "" > /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_a_assembler/assemble_plusieurs_dossiers.sh
dossier_start=$1
dossier_end=$2
for i in $(seq $dossier_start 1 $dossier_end)
do
echo "# dossier : $i"
ts-node /home/poule/encrypted/stockage-syncable/www/development/html/scripts/hugin-gopro-fusion/main.ts --goproSubFolder=INBOX_a_assembler/belgique/$i >> /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_a_assembler/assemble_plusieurs_dossiers.sh
done
cat /home/poule/encrypted/stockage-syncable/photos/imageries/gopro/INBOX_a_assembler/assemble_plusieurs_dossiers.sh
echo "ça c'est fait"