diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_preprocessing_Cosmetic.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_preprocessing_Cosmetic.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_preprocessing_Cosmetic.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_preprocessing_Cosmetic.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,8 +1,8 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# January 2019 # (C) Cyril Richard -# DSLR_preprocessing+CC v1.0 +# DSLR_preprocessing+CC v1.5 ########### PREPROCESSING SCRIPT ########### # Script for DSLR color camera preprocessing # needs 4 sets of RAW images in the working @@ -43,19 +43,13 @@ seqfind_cosme_cfa pp_light_ 3 3 #debayer images -preprocess cc_pp_light_ -debayer +preprocess cc_pp_light_ -debayer -stretch #align lights register pp_cc_pp_light_ #stack calibrated lights -stack r_pp_cc_pp_light_ rej 3 3 -norm=addscale +stack r_pp_cc_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_cc_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_preprocessing_Drizzle_Cosmetic.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_preprocessing_Drizzle_Cosmetic.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_preprocessing_Drizzle_Cosmetic.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_preprocessing_Drizzle_Cosmetic.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing+CC v1.0 +# DSLR_preprocessing+CC v1.5 ########### PREPROCESSING SCRIPT ########### # Script for DSLR color camera preprocessing # needs 4 sets of RAW images in the working @@ -45,19 +45,13 @@ seqfind_cosme_cfa pp_light_ 3 3 #debayer images -preprocess cc_pp_light_ -debayer +preprocess cc_pp_light_ -debayer -stretch #align lights register pp_cc_pp_light_ -drizzle #stack calibrated lights -stack r_pp_cc_pp_light_ rej 3 3 -norm=addscale +stack r_pp_cc_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_cc_pp_light_stacked -#and save it at root -cd .. -save result -close +cd .. +close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_Drizzle.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_Drizzle.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_Drizzle.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_Drizzle.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing v1.2 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # With Drizzle 2x # @@ -38,19 +38,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer +preprocess light_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer -stretch #align lights register pp_light_ -drizzle #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoDark.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoDark.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoDark.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoDark.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing v1.2 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # No Darks # @@ -32,19 +32,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -bias=../biases/bias_stacked -flat=../flats/pp_flat_stacked -equalize_cfa -debayer +preprocess light_ -bias=../biases/bias_stacked -flat=../flats/pp_flat_stacked -equalize_cfa -debayer -stretch #align lights register pp_light_ #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark_NoBias.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark_NoBias.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark_NoBias.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark_NoBias.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing v1.2 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # No Darks # @@ -17,19 +17,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -debayer +preprocess light_ -debayer -stretch #align lights register pp_light_ #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memoryload r_pp_light_stacked.fit - -#and save it at root -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing v1.2 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # No Flat No Dark # @@ -23,19 +23,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -bias=../biases/bias_stacked -debayer +preprocess light_ -bias=../biases/bias_stacked -debayer -stretch #align lights register pp_light_ #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat.ssf siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat.ssf --- siril-0.9.10/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/en/DSLR_Preprocessing_NoFlat.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard # Modified by Colmic -# DSLR_preprocessing v1.2 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # No Flats # @@ -23,19 +23,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -dark=../darks/dark_stacked -cfa -debayer +preprocess light_ -dark=../darks/dark_stacked -cfa -debayer -stretch #align lights register pp_light_ #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecCorrectionCosmetique.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecCorrectionCosmetique.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecCorrectionCosmetique.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecCorrectionCosmetique.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN en taille originale # et correction cosmétique automatique @@ -24,7 +24,7 @@ cd flats #Pré-traitement des flats convertraw flat_ -preprocess flat_ -bias=../offsets/offset_stacked.fit +preprocess flat_ -bias=../offsets/offset_stacked #Création du master-flat stack pp_flat_ rej 3 3 -norm=mul @@ -39,24 +39,19 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -dark=../darks/dark_stacked.fit -flat=../flats/pp_flat_stacked.fit -cfa -equalize_cfa +preprocess brute_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa #Correction cosmétique automatique seqfind_cosme_cfa pp_brute_ 3 3 #debayerisation des brutes -preprocess cc_pp_brute_ -debayer +preprocess cc_pp_brute_ -debayer -stretch #Alignement des brutes register pp_cc_pp_brute_ #Empilement des brutes calibrées -stack r_pp_cc_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_cc_pp_brute_stacked.fit +stack r_pp_cc_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle_AvecCorrectionCosmetique.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle_AvecCorrectionCosmetique.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle_AvecCorrectionCosmetique.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle_AvecCorrectionCosmetique.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN avec option Drizzle 2x # et correction cosmétique automatique @@ -24,7 +24,7 @@ cd flats #Pré-traitement des flats convertraw flat_ -preprocess flat_ -bias=../offsets/offset_stacked.fit +preprocess flat_ -bias=../offsets/offset_stacked #Création du master-flat stack pp_flat_ rej 3 3 -norm=mul @@ -39,24 +39,19 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -dark=../darks/dark_stacked.fit -flat=../flats/pp_flat_stacked.fit -cfa -equalize_cfa +preprocess brute_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa #Correction cosmétique automatique seqfind_cosme_cfa pp_brute_ 3 3 #debayerisation des brutes -preprocess cc_pp_brute_ -debayer +preprocess cc_pp_brute_ -debayer -stretch #Alignement des brutes avec option Drizzle 2x register pp_cc_pp_brute_ -drizzle #Empilement des brutes calibrées -stack r_pp_cc_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_cc_pp_brute_stacked.fit +stack r_pp_cc_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_AvecDrizzle.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN avec option Drizzle 2x # @@ -23,7 +23,7 @@ cd flats #Pré-traitement des flats convertraw flat_ -preprocess flat_ -bias=../offsets/offset_stacked.fit +preprocess flat_ -bias=../offsets/offset_stacked #Création du master-flat stack pp_flat_ rej 3 3 -norm=mul @@ -38,18 +38,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -dark=../darks/dark_stacked.fit -flat=../flats/pp_flat_stacked.fit -cfa -equalize_cfa -debayer +preprocess brute_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer -stretch #Alignement des brutes avec option drizzle 2x register pp_brute_ -drizzle #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit -close +cd .. +close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansDark.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansDark.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansDark.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansDark.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement APN # Sans les darks @@ -23,7 +23,7 @@ cd flats #Pré-traitement des flats convertraw flat_ -preprocess flat_ -bias=../offsets/offset_stacked.fit +preprocess flat_ -bias=../offsets/offset_stacked #Création du master-flat stack pp_flat_ rej 3 3 -norm=mul @@ -32,18 +32,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -bias=../offsets/offset_stacked.fit -flat=../flats/pp_flat_stacked.fit -equalize_cfa -debayer +preprocess brute_ -bias=../offsets/offset_stacked -flat=../flats/pp_flat_stacked -equalize_cfa -debayer -stretch #Alignement des brutes register pp_brute_ #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark_NiOffset.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark_NiOffset.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark_NiOffset.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark_NiOffset.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN # Sans Flat ni Dark ni Offset @@ -18,18 +18,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -debayer +preprocess brute_ -debayer -stretch #Alignement des brutes register pp_brute_ #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat_NiDark.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN # Sans darks ni flats @@ -23,18 +23,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -bias=../offsets/offset_stacked.fit -debayer +preprocess brute_ -bias=../offsets/offset_stacked -debayer -stretch #Alignement des brutes register pp_brute_ #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN_SansFlat.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN # Sans Flat @@ -24,18 +24,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -dark=../darks/dark_stacked.fit -cfa -debayer +preprocess brute_ -dark=../darks/dark_stacked -cfa -debayer -stretch #Alignement des brutes register pp_brute_ #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN.ssf siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN.ssf --- siril-0.9.10/3rdparty/scripts/fr/Pre-traitement_APN.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/3rdparty/scripts/fr/Pre-traitement_APN.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,9 +1,9 @@ ############################################ -# Script pour Siril 0.9.9 -# Juin 2018 +# Script pour Siril 0.9 +# Mars 2019 # (C) Cyril Richard # Adapté, modifié et traduit par Colmic -# +# Pre-traitement_APN v1.5 # # Pré-traitement pour APN en taille originale # @@ -23,7 +23,7 @@ cd flats #Pré-traitement des flats convertraw flat_ -preprocess flat_ -bias=../offsets/offset_stacked.fit +preprocess flat_ -bias=../offsets/offset_stacked #Création du master-flat stack pp_flat_ rej 3 3 -norm=mul @@ -38,18 +38,13 @@ #pré-traitement des brutes cd brutes convertraw brute_ -preprocess brute_ -dark=../darks/dark_stacked.fit -flat=../flats/pp_flat_stacked.fit -cfa -equalize_cfa -debayer +preprocess brute_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer -stretch #Alignement des brutes register pp_brute_ #Empilement des brutes calibrées -stack r_pp_brute_ rej 3 3 -norm=addscale - -#Chargement de l'image résultante en mémoire -load r_pp_brute_stacked.fit +stack r_pp_brute_ rej 3 3 -norm=addscale -out=../resultat -#Sauvegarde de l'image à la racine du dossier de travail -cd .. -save resultat.fit -close +cd .. +close \ No newline at end of file diff -Nru siril-0.9.10/AUTHORS siril-0.9.11/AUTHORS --- siril-0.9.10/AUTHORS 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/AUTHORS 2019-05-27 09:16:07.000000000 +0000 @@ -12,6 +12,8 @@ - Damien Forthomme (dirguis at gmail dot com) Intensity fit of stars on astronomical pictures, Background subtraction methods +- Emmanuel Brandt (wizebt at gmail dot com) + Performance improvements: median, net sorting - Frederic Rodrigues (flex.fr at gmail dot com) A great mention to Chris Garry, author of PIPP and SER Player, @@ -19,5 +21,5 @@ Main logo drawn by: -- Coralie Monnier +- Maxime Oudoux diff -Nru siril-0.9.10/ChangeLog siril-0.9.11/ChangeLog --- siril-0.9.10/ChangeLog 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/ChangeLog 2019-05-27 09:16:07.000000000 +0000 @@ -1,5 +1,38 @@ +siril 0.9.11 +05/27/19 + +* New icon set +* New photometric color calibration tool +* New background extraction tool working with 64-bit precision and dither +* Improved processing speed by optimizing sorting algorithms to each use +* Parallelizing preprocessing +* New image filtering for sequence processing: possible from the command line and with multiple filters +* Improved free disk space feedback and checks before running preprocess, global registration and up-scaling at stacking +* New GTK+ theme settings: it can now be set from siril to dark or light, or kept to automatic detection +* New normalization to 16 bits for RAW images with less dynamic range (in general 12 or 14) +* Improved mouse selection by making it more dynamic +* Added drag and drop capability in the conversion treeview +* Added output file name argument to stacking commands +* New command setmem to limit used memory from scripts +* New clear and save buttons for the log in GUI +* Taking into account the Bayer matrix offset keywords from FITS headers +* Displaying script line when error occurs +* Allow registration on CFA SER sequences +* Processing monochrome images requires less memory, or can be more paralellized if memory was the limiting factor +* Fixed dark optimization +* Fixed crash in global registration on a sequence that contained a dark image +* Fixed management of the statistics of images on which they fail to be computed +* Fixed free disk space detection and usual processing commands on 32-bit systems +* Fixed free memory detection for stacking in case of up-scaling ('drizzle') and memory distribution to threads +* Fixed bug in FFT module +* Fixed bug in the drawn circle of photometry +* Fixed build fail with OpenCV 4.0.1 +* Fixed SER sequence cropping +* Fixed regression in global registration for images having different size +* Added German translation + siril 0.9.10 -16/01/19 +01/16/19 * New astrometry tool that solves acquisition parameters from stars in the image (requires Web access and libcurl) * New comet registration method @@ -61,7 +94,7 @@ * Fixed SaveBMP that added tif extension * Fixed Registration on all images that was done on selected images instead * Fixed Target directory that was ignored when saving as image -* Fixed crash with Wrong SER timestamp +* Fixed crash with Wrong SER timestamp siril 0.9.8 01/31/18 @@ -129,37 +162,37 @@ siril 0.9.4 08/17/16 - * Fixed issues with SER in generic processing function - * Fixed inability to open FITS when filename had parenthesis - * Fixed selecting new images did not update the number of selected images - * Fixed histogram sliders lag on OS-X - * Fixed message "Error in highest quality accepted for sequence processing....." during stack of %, even if quality data are computed - * Fixed sequence export to SER with unselected images - * Fixed global star alignment with angle close to 180deg - * Fixed undo cosmetic correction - * Fixed crash in peaker function - * Fixed aborting global star registration summary - * Fixed sequence list which was unreadable with dark GTK theme - * Fixed the update of the list of images - * Added support of internationalization: French, Dutch, Chinese, Italian, Arabic - * Option for logarithm scale in histogram transformation - * Add siril.desktop in archlinux - * Added support for exporting sequence in avi format - * Option to make a selection for global star registration in a smaller region - * Read commands from a file - * Option to follow star in registration - * Added support for resizing exported sequence - * Added support for reading and writing SER timestamps - * Added support for RGB alignment - * Added functionality to fix broken (0 framecount) SER files. +* Fixed issues with SER in generic processing function +* Fixed inability to open FITS when filename had parenthesis +* Fixed selecting new images did not update the number of selected images +* Fixed histogram sliders lag on OS-X +* Fixed message "Error in highest quality accepted for sequence processing....." during stack of %, even if quality data are computed +* Fixed sequence export to SER with unselected images +* Fixed global star alignment with angle close to 180deg +* Fixed undo cosmetic correction +* Fixed crash in peaker function +* Fixed aborting global star registration summary +* Fixed sequence list which was unreadable with dark GTK theme +* Fixed the update of the list of images +* Added support of internationalization: French, Dutch, Chinese, Italian, Arabic +* Option for logarithm scale in histogram transformation +* Add siril.desktop in archlinux +* Added support for exporting sequence in avi format +* Option to make a selection for global star registration in a smaller region +* Read commands from a file +* Option to follow star in registration +* Added support for resizing exported sequence +* Added support for reading and writing SER timestamps +* Added support for RGB alignment +* Added functionality to fix broken (0 framecount) SER files. siril 0.9.3 04/16/16 - * Fixed bug in preprocessing - * Fixed compilation error in some conditions - * Fixed uninitialized values - * Fixed typos +* Fixed bug in preprocessing +* Fixed compilation error in some conditions +* Fixed uninitialized values +* Fixed typos siril 0.9.2 04/04/16 diff -Nru siril-0.9.10/config.guess siril-0.9.11/config.guess --- siril-0.9.10/config.guess 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/config.guess 1970-01-01 00:00:00.000000000 +0000 @@ -1,1480 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-02-24' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > "$dummy.c" ; - for c in cc gcc c89 c99 ; do - if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "$UNAME_SYSTEM" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval "$set_cc_for_build" - cat <<-EOF > "$dummy.c" - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" - - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ - echo unknown)` - case "$UNAME_MACHINE_ARCH" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown - ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval "$set_cc_for_build" - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in - Debian*) - release='-gnu' - ;; - *) - release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; - *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; - *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; - *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; - *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; - *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; - mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval "$set_cc_for_build" - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" - ;; - sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && - dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`"$dummy" "$dummyarg"` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] - then - if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ - [ "$TARGET_BINARY_INTERFACE"x = x ] - then - echo m88k-dg-dgux"$UNAME_RELEASE" - else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" - fi - else - echo i586-dg-dgux"$UNAME_RELEASE" - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" - fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - case "$UNAME_MACHINE" in - 9000/31?) HP_ARCH=m68000 ;; - 9000/[34]??) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "$sc_cpu_version" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "$HP_ARCH" = "" ]; then - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ "$HP_ARCH" = hppa2.0w ] - then - eval "$set_cc_for_build" - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; - 3050*:HI-UX:*:*) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo "$UNAME_MACHINE"-unknown-osf1mk - else - echo "$UNAME_MACHINE"-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; - *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; - *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; - *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; - i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; - *:Interix*:*) - case "$UNAME_MACHINE" in - x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; - IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; - esac ;; - i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" - exit ;; - *:GNU:*:*) - # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" - exit ;; - i*86:Minix:*:*) - echo "$UNAME_MACHINE"-pc-minix - exit ;; - aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arm*:Linux:*:*) - eval "$set_cc_for_build" - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi - else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; - e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; - ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval "$set_cc_for_build" - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } - ;; - mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; - sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; - x86_64:Linux:*:*) - if objdump -f /bin/sh | grep -q elf32-x86-64; then - echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 - else - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - fi - exit ;; - xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; - i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; - i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" - else - echo "$UNAME_MACHINE"-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv"$UNAME_RELEASE" - else - echo mips-unknown-sysv"$UNAME_RELEASE" - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval "$set_cc_for_build" - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; - NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; - *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; - i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -echo "$0: unable to guess system type" >&2 - -case "$UNAME_MACHINE:$UNAME_SYSTEM" in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = "$UNAME_MACHINE" -UNAME_RELEASE = "$UNAME_RELEASE" -UNAME_SYSTEM = "$UNAME_SYSTEM" -UNAME_VERSION = "$UNAME_VERSION" -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-functions 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru siril-0.9.10/config.sub siril-0.9.11/config.sub --- siril-0.9.10/config.sub 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/config.sub 1970-01-01 00:00:00.000000000 +0000 @@ -1,1801 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. - -timestamp='2018-02-22' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2018 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo "$1" - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo "$1" | sed 's/-[^-]*$//'` - if [ "$basic_machine" != "$1" ] - then os=`echo "$1" | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | wasm32 \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | wasm32-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-pc - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2*) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - nsv-tandem) - basic_machine=nsv-tandem - ;; - nsx-tandem) - basic_machine=nsx-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - x64) - basic_machine=x86_64-pc - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases that might get confused - # with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # es1800 is here to avoid being matched by es* (a different OS) - -es1800*) - os=-ose - ;; - # Now accept the basic system types. - # The portable systems comes first. - # Each alternative MUST end in a * to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ - | -midnightbsd*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -xray | -os68k* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo "$os" | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4*) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $basic_machine in - arm*) - os=-eabi - ;; - *) - os=-elf - ;; - esac - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - pru-*) - os=-elf - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` - ;; -esac - -echo "$basic_machine$os" -exit - -# Local variables: -# eval: (add-hook 'write-file-functions 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff -Nru siril-0.9.10/configure.ac siril-0.9.11/configure.ac --- siril-0.9.10/configure.ac 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/configure.ac 2019-05-27 09:16:07.000000000 +0000 @@ -1,8 +1,8 @@ dnl Process this file with autoconf to produce a configure script. m4_define([siril_major_version], [0]) m4_define([siril_minor_version], [9]) -m4_define([siril_micro_version], [10]) -m4_define([siril_prerelease_version], [rc3]) +m4_define([siril_micro_version], [11]) +m4_define([siril_prerelease_version], [rc2]) m4_define([siril_version], [siril_major_version.siril_minor_version.siril_micro_version]) m4_define([siril_version_full], @@ -13,8 +13,8 @@ AC_INIT([siril], [siril_version], [https://gitlab.com/free-astro/siril/issues], [siril], - [https://www.siril.org]) - + [https://www.siril.org]) + AM_INIT_AUTOMAKE([subdir-objects]) AC_CONFIG_HEADERS(config.h) AC_CONFIG_SRCDIR([src/main.c]) @@ -63,7 +63,7 @@ dnl Set PACKAGE_DOC_DIR in config.h. dnl AC_DEFINE_UNQUOTED(PACKAGE_DOC_DIR, "${ac_default_prefix}/share/doc/${PACKAGE}", "package doc dir") -dnl ================ MANDATORY DEPENDECIES ================ +dnl ================ MANDATORY DEPENDECIES ================ dnl check math lib AC_CHECK_LIB(m, log, LIBS="$LIBS -lm") @@ -87,18 +87,18 @@ dnl check libconfig PKG_CHECK_MODULES([LIBCONFIG], [libconfig >= 1.4],, AC_MSG_ERROR([libconfig 1.4 or newer not found.])) - + dnl check opencv AC_PROG_CXX if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP - + dnl check for C++11 support m4_include([m4/ax_cxx_compile_stdcxx.m4]) AX_CXX_COMPILE_STDCXX(11, noext, mandatory) - + dnl AC_MSG_WARN(CXX is "$CXX") dnl http://nerdland.net/2009/07/detecting-c-libraries-with-autotools/ solution 2 dnl we handle 2 opencv versions because of a debian bug with opencv2 and GTK3 @@ -113,11 +113,11 @@ ) else AC_MSG_ERROR([no C++ compiler found]) -fi +fi -dnl ================ OPTIONAL DEPENDECIES ================ +dnl ================ OPTIONAL DEPENDECIES ================ dnl check raw lib -PKG_CHECK_MODULES(LIBRAW, [libraw], +PKG_CHECK_MODULES(LIBRAW, [libraw >= 0.17], [AC_DEFINE([HAVE_LIBRAW], [1], [Using RAW images])], AC_MSG_WARN([libraw not found. Not using RAW importer.])) @@ -153,7 +153,7 @@ PKG_CHECK_MODULES(CURL, [libcurl], [AC_DEFINE([HAVE_LIBCURL], [1], [Using Libcurl ])], AC_MSG_WARN([libcurl not found. Not using web interaction.])) - + dnl ================================================================ dnl Collect some arguments. dnl ================================================================ @@ -172,6 +172,21 @@ dnl Compute the canonical host-system type variable (need config.guess and config.sub) AC_CANONICAL_HOST +####################### +# Check for UNIX flavor +####################### +AC_MSG_CHECKING([if compiling for Linux]) +case "$host_os" in + linux-*) + os_linux=yes + ;; + *) + os_linux=no + ;; +esac +AC_MSG_RESULT([$os_linux]) +AM_CONDITIONAL([PLATFORM_LINUX], [test "$os_linux" = "yes"]) + ################# # Check for Win32 ################# @@ -278,11 +293,11 @@ if test `uname` != "Darwin"; then if (test "$platform_win32" = "yes" || test "os_win32" = "yes" ) ; then - AC_SUBST(EXTRA_LIBS,'-lpsapi') + AC_SUBST(EXTRA_LIBS,'-lpsapi') fi fi AC_SUBST([AM_LDFLAGS]) -AC_CONFIG_FILES([Makefile src/Makefile po/Makefile.in]) +AC_CONFIG_FILES([Makefile src/Makefile pixmaps/Makefile pixmaps/icons/Makefile platform-specific/Makefile platform-specific/linux/Makefile po/Makefile.in]) AC_OUTPUT diff -Nru siril-0.9.10/debian/changelog siril-0.9.11/debian/changelog --- siril-0.9.10/debian/changelog 2019-01-18 10:42:39.000000000 +0000 +++ siril-0.9.11/debian/changelog 2019-05-27 11:35:16.000000000 +0000 @@ -1,3 +1,9 @@ +siril (0.9.11-1) unstable; urgency=medium + + * New upstream version + + -- Cyril Richard Mon, 27 May 2019 13:35:16 +0200 + siril (0.9.10-2) unstable; urgency=medium * Fixed debian/watch file diff -Nru siril-0.9.10/debian/control siril-0.9.11/debian/control --- siril-0.9.10/debian/control 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/control 2019-05-27 11:35:16.000000000 +0000 @@ -3,7 +3,7 @@ Uploaders: Vincent Hourdin , Cyril Richard Section: science Priority: optional -Standards-Version: 4.3.0 +Standards-Version: 4.3.0.3 Vcs-Git: https://salsa.debian.org/debian-astro-team/siril.git Vcs-Browser: https://salsa.debian.org/debian-astro-team/siril Homepage: https://www.siril.org diff -Nru siril-0.9.10/debian/copyright siril-0.9.11/debian/copyright --- siril-0.9.10/debian/copyright 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/copyright 2019-05-27 11:35:16.000000000 +0000 @@ -74,3 +74,13 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Files: platform-specific/linux/org.free-astro.siril.appdata.xml +Copyright: 2012 - 2019 Vincent Hourdin and the team of free-astro +License: CC0-1.0 + The person who associated a work with this deed has dedicated the work to the + public domain by waiving all of his or her rights to the work worldwide under + copyright law, including all related and neighboring rights, to the extent allowed + by law. You can copy, modify, distribute and perform the work, even for commercial + purposes, all without asking permission. See Other Information below. + + diff -Nru siril-0.9.10/debian/patches/change_copyright_appdata siril-0.9.11/debian/patches/change_copyright_appdata --- siril-0.9.10/debian/patches/change_copyright_appdata 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/debian/patches/change_copyright_appdata 2019-05-27 11:35:16.000000000 +0000 @@ -0,0 +1,16 @@ +Update appdata to match validate +--- a/platform-specific/linux/org.free-astro.siril.appdata.xml ++++ b/platform-specific/linux/org.free-astro.siril.appdata.xml +@@ -81,8 +81,9 @@ + + siril + +- http://free-astro.org/index.php/Siril +- http://free-astro.org/bugs/view_all_bug_page.php +- http://free-astro.org/index.php/Siril:Manual ++ https://www.siril.org ++ https://gitlab.com/free-astro/siril/issues ++ https://free-astro.org/siril_doc-en/ + cyril_at_free-astro.org + ++ diff -Nru siril-0.9.10/debian/patches/LICENSE_remover siril-0.9.11/debian/patches/LICENSE_remover --- siril-0.9.10/debian/patches/LICENSE_remover 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/patches/LICENSE_remover 2019-05-27 11:35:16.000000000 +0000 @@ -1,12 +1,13 @@ Remove the LICENSE file install from upstream as debian already installs it. --- a/Makefile.am +++ b/Makefile.am -@@ -21,7 +21,7 @@ - $(INSTALL_DATA) src/gui/gtk_old.css $(DESTDIR)$(pkgdatadir) - $(INSTALL_DATA) src/gui/gtk.css $(DESTDIR)$(pkgdatadir) - $(mkinstalldirs) $(DESTDIR)$(docdir) -- $(INSTALL_DATA) AUTHORS LICENSE.md $(DESTDIR)$(docdir) -+ $(INSTALL_DATA) AUTHORS $(DESTDIR)$(docdir) - $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 - $(INSTALL_DATA) siril.1.gz $(DESTDIR)$(mandir)/man1 - $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/scripts/ +@@ -21,8 +21,7 @@ + 3rdparty/scripts/en/DSLR_Preprocessing_NoFlat_NoDark.ssf \ + 3rdparty/scripts/en/DSLR_Preprocessing_NoFlat.ssf + +-doc_DATA = AUTHORS \ +- LICENSE.md ++doc_DATA = AUTHORS + + man_MANS = siril.1.gz + diff -Nru siril-0.9.10/debian/patches/remove_man_install siril-0.9.11/debian/patches/remove_man_install --- siril-0.9.10/debian/patches/remove_man_install 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/debian/patches/remove_man_install 2019-05-27 11:35:16.000000000 +0000 @@ -0,0 +1,12 @@ +Removing man installation as it is installed by hand (because of a bug of Makefile.am) +--- a/Makefile.am ++++ b/Makefile.am +@@ -23,8 +23,6 @@ + + doc_DATA = AUTHORS + +-man_MANS = siril.1.gz +- + ACLOCAL_AMFLAGS = -I m4 + EXTRA_DIST = config.rpath + AUTOMAKE_OPTIONS = foreign diff -Nru siril-0.9.10/debian/patches/series siril-0.9.11/debian/patches/series --- siril-0.9.10/debian/patches/series 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/patches/series 2019-05-27 11:35:16.000000000 +0000 @@ -1 +1,3 @@ LICENSE_remover +remove_man_install +change_copyright_appdata diff -Nru siril-0.9.10/debian/share/applications/org.free-astro.siril.desktop siril-0.9.11/debian/share/applications/org.free-astro.siril.desktop --- siril-0.9.10/debian/share/applications/org.free-astro.siril.desktop 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/share/applications/org.free-astro.siril.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Siril -Name[ar_DZ]=Siril -Name[de_DE]=Siril -Name[en_CA]=Siril -Name[en_GB]=Siril -Name[es_ES]=Siril -Name[fr_FR]=Siril -Name[el_GR]=Siril -Name[it_IT]=Siril -Name[nl_BE]=Siril -Name[pt_PT]=Siril -Name[tl_PT]=Siril -Name[zh_CN]=Siril -Comment=Astronomical image (pre-)processing program -Comment[ar_DZ]=برنامج معالجة الصور الفلكية -Comment[de_DE]=Astronomisches Bild(vor-)verarbeitungsprogramm -Comment[en_CA]=Astronomical image (pre-)processing program -Comment[en_GB]=Astronomical image (pre-)processing program -Comment[es_ES]=Programa de (pre-)proceso de imágenes astronómicas -Comment[fr_FR]=Programme de (pré-)traitement des images astronomiques -Comment[el_GR]=Πρόγραμμα (προ-)επεξεργασίας αστρονομικών εικόνων -Comment[it_IT]=Programma di (pre-)elaborazione dell'immagine astronomica -Comment[nl_BE]=Programma voor (voor)behandeling van astronomische beelden -Comment[pt_PT]=Programa de tratamento de imagens astronomicas -Comment[tl_PH]=Programa sa pag(pre-)proseso ng larawang astronomikal -Comment[zh_CN]=天文图像(预)处理软件 -Keywords=astronomy;stacking;registration; -Keywords[ar_DZ]=فلك;تراص;إنحياز; -Keywords[de_DE]=astronomie;stacken;registrierung; -Keywords[en_CA]=astronomy;stacking;registration; -Keywords[en_GB]=astronomy;stacking;registration; -Keywords[es_ES]=astronomía;apilado;registro; -Keywords[fr_FR]=astronomie;empilement;alignement; -Keywords[el_GR]=αστρονομία;σώρευση;ευθυγράμμιση; -Keywords[it_IT]=astronomia;stacking;registrazione; -Keywords[nl_BE]=astronomie;stacking;afstemming; -Keywords[pt_PT]=astronomia;empilhamento;alinhamento; -Keywords[tl_PH]=astronomiya;stacking;rehistrasyon; -Keywords[zh_CN]=天文;叠加;对齐; -Exec=siril %F -Icon=siril -Terminal=false -Type=Application -StartupNotify=true -Categories=Science;Astronomy;ImageProcessing; -MimeType=image/fits;image/bmp;image/pic;image/jpeg;image/png;image/tiff;image/x-portable-pixmap;video/ser; Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/16x16/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/16x16/apps/siril.png differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/24x24/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/24x24/apps/siril.png differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/256x256/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/256x256/apps/siril.png differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/32x32/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/32x32/apps/siril.png differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/48x48/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/48x48/apps/siril.png differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/debian/share/icons/hicolor/512x512/apps/siril.png and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/debian/share/icons/hicolor/512x512/apps/siril.png differ diff -Nru siril-0.9.10/debian/share/man/man1/siril.1 siril-0.9.11/debian/share/man/man1/siril.1 --- siril-0.9.10/debian/share/man/man1/siril.1 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/debian/share/man/man1/siril.1 2019-05-27 11:35:16.000000000 +0000 @@ -0,0 +1,40 @@ +.\" Manpage for Siril 0.9 +.TH SIRIL "1" "September 2017" "siril 0.9" "User Commands" +.SH NAME +siril \- image processing tool for astronomy and others +.SH SYNOPSIS +.B siril [-i conf_file] [-f] [-v] [-h] [-p] [-d working_directory] [-s script_file] [image_file_to_open] +.SH DESCRIPTION +Siril is an image processing tool specially tailored for noise reduction and improving the signal/noise ratio of an image from multiple captures, as required in astronomy. Siril can align, stack and enhance pictures from various file formats, even image sequences (movies and SER files). +.SH OPTIONS +.IP -i +Starts Siril with configuration file which path is given in conf_file +.IP -f +(or \fB\-\-format\fR) Prints all supported image input formats, depending on the libraries detected at compile-time +.IP -v +(or \fB\-\-version\fR) Prints program name and version and exits +.IP -h +(or \fB\-\-help\fR) Short usage help +.IP -p +Start siril without the graphical user interface and use the named pipes to accept commands and print logs and status information. On POSIX systems, the named pipes are created in /tmp/siril_commands.in and /tmp/siril_commands.out +.IP -d +(or \fB\-\-directory\fR) Setting argument in cwd +.IP -s +Start siril without the graphical user interface and run a script instead. Scripts are text files that contain a list of commands to be executed sequentially. In these files, lines starting with a # are considered as comments. +.IP image_file_to_open +Open an image or sequence file right after start-up +.SH FILES +.I ~/.siril/siril.cfg +.RS +User preferences. Overridden by the +.B -i +option. +.RE +.I ~/.siril/gtk.css +.RS +The stylesheet used to change colours of the graphical user interface. This is useful for personalisation or if a GTK theme is incompatible with some coloured elements of Siril. +.SH BUGS +A list of bugs is maintained in a mantisbt bug tracker, available at https://free-astro.org/bugs/ +.SH AUTHOR +Vincent Hourdin +Cyril Richard diff -Nru siril-0.9.10/debian/share/metainfo/org.free-astro.siril.appdata.xml siril-0.9.11/debian/share/metainfo/org.free-astro.siril.appdata.xml --- siril-0.9.10/debian/share/metainfo/org.free-astro.siril.appdata.xml 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/share/metainfo/org.free-astro.siril.appdata.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ - - - - org.free-astro.siril.desktop - CC0-1.0 - GPL-3.0+ - Siril - Siril - Astronomical image (pre-)processing program - Programme de traitement d'images astronomiques - siril - -

Siril is an image processing tool specially tailored for noise reduction and improving the signal/noise ratio of an image from multiple captures, as required in astronomy.

-

Siril هو برنامج معالجة الصور المصممة خصيصا للحد من الضوضاء وتحسين نسبة الإشارة / الضوضاء صورة من يلتقط متعددة، كما هو مطلوب في علم الفلك

-

Siril ist ein Bildbearbeitungsprogramm, das speziell auf die Geräuschreduzierung und Verbesserung des Signal-Rausch-Verhältnisses eines Bildes aus mehreren Aufnahmen abgestimmt ist, wie in der Astronomie erforderlich.

-

Το Siril είναι ένα εργαλείο επεξεργασίας εικόνων ειδικά κατασκευασμένο για τη μείωση θορύβου και τη βελτίωση του λόγου σήματος/θορύβου μιας εικόνας από πολλαπλές λήψεις, όπως απαιτείται στην αστρονομία.

-

Siril es una herramienta de procesado de imágenes especialmente diseñada para la reducción de ruido y la mejora del ratio señal/ruido de una imagen de múltiples capturas, como las requeridas en astronomía.

-

Siril est un outil de traitement d'image spécialement adapté pour la réduction du bruit et l'amélioration du rapport signal/bruit des images astronomiques.

-

Siril è uno strumento per l'elaborazione delle immagini adatto soprattutto per la riduzione del rumore e per migliorare il rapporto segnale/rumore di un'immagine a partire da acquisizioni multiple, come richiesto in astronomia.

-

Siril is een programme voor beeldbewerking, speciaal gericht op ruisvermindering en verhoging van het SNR van een afbeelding afkomstig van meerdere opnames, zoals vereist in astronomie.

-

Siril jest narzędziem do obróbki obrazu, specjalnie dostosowanym do zmniejszania szumów i poprawy stosunku sygnału do szumu w obrazie pochodzącym z wielu klatek - technika stosowana w astronomii.

-

O Siril é uma ferramenta de processamento de imagem desenvolvido para a redução de ruído e para melhorar a relação sinal/ruído de uma imagem de múltiplas exposições, como requerido em astronomia.

-

Siril это инструмент обработки, специально разработанный для подавления шумов и улучшения отношения сигнал/шум с помощью сложения множества изображений.

-

Siril - це програма для обробки зображень, спеціально розроблена для зменшення шуму та покращення співвідношення сигнал/шум зображень із декількох знімків, як того вимагає астрономія.

-

Siril是一款特殊的图像处理软件,专为天文摄影所需求的噪声消除和提高信噪比(多帧叠加)而定制。

-

Siril can align automatically or manually, stack and enhance pictures from various file formats, even images sequences (movies and SER files).

-

Siril يمكن محاذاة ,تلقائيا أو يدويا ، وتعزيز الصور من صيغ الملفات المختلفة ، وحتى الصور متواليات ( الأفلام وملفات SER ) .

-

Siril kann Bilder mit verschiedenen Dateiformaten und sogar Bildsequenzen (Filme und SER-Dateien) automatisch oder manuell ausrichten, stapeln und verbessern.

-

Το Siril μπορεί αυτόματα ή χειροκίνητα, να σωρεύσει και να ενισχύσει εικόνες από διάφορους τύπους αρχείων, ακόμα και από αλληλουχίες εικόνων (ταινίες και αρχεία SER).

-

Siril puede alinearl automática o manualmente, apilar y mejorar imágenes de varios formatos de fichero, incluso secuencias (películas y ficheros SER).

-

Siril peut aligner automatiquement ou manuellement, empiler et améliorer des images de différents formats aussi bien que des séquences d'images (films et fichiers SER).

-

Siril può allineare automaticamente o manualmente, sommare e migliorare immagini a partire da vari formati di file, anche sequenze di immagini (filmati e file SER).

-

Siril kan automatisch of manueel beelden in talrijke formaten (zelfs video’s en SER bestanden) uitlijnen, stacken en verbeteren.

-

Siril potrafi automatycznie lub ręcznie wyrównać, połączyć oraz edytować obrazy z różnych formatów plików, również z sekwencji obrazów (filmów oraz plików SER).

-

O Siril permite alinhamento automático ou manual, empilhar e realçar imagens de vários formatos de ficheiro, inclusivamente sequências de imagens (filmes e ficheiros SER).

-

Siril умеет выравнивать автоматически и вручную, складывать и улучшать изображения различных форматов и последовательности (видеоролики и SER файлы).

-

Siril може вирівнювати автоматично або вручну, складати та змінювати зображення різних форматів файлів і навіть послідовності зображень (фільми та файли *.SER).

-

Siril能够自动对齐和手动对齐,叠加和强化多种格式的图片,甚至是图片序列(视频和SER文件)。

-
- - - https://screenshots.debian.net/screenshots/000/014/985/large.png - Siril processing a deep-sky image - Το Siril επεξεργάζεται εικόνα βαθύ ουρανού - Siril procesado de una imagen del cielo profundo - Siril traitant une image de ciel profond - Siril che elabora un'immagine del cielo profondo - Siril, en deep-sky beeld aan het bewerken - Siril przetwarzający obraz głębokiego nieba - O Siril processando uma imagem de céu profundo - Siril обробляє зображення об'єктів далекого космосу - Siril深空图像处理 - - - https://screenshots.debian.net/screenshots/000/014/987/large.png - An easy way to analyze your astronomy pictures - Ένας εύκολος τρόπος για να αναλύσετε τις αστρονομικές σας εικόνες - Forma fácil de analizar tus imágenes astronómicas - Moyen simple d'analyser vos images astronomiques - Un modo facile per analizzare le tue immagini astronomiche - Een gemakkelijke wijze om astronomische beelden te analyseren - Prosty sposób do analizy zdjęć astronomicznych - Uma forma fácil para analisar as suas imagens de astronomia - це простий спосіб проаналізувати власні астрономічні фотографії - 天文图片分析的神器 - - - https://screenshots.debian.net/screenshots/000/014/986/large.png - Siril processing planetary video - Το Siril επεξεργάζεται το πλανητικό βίντεο - Siril procesando un vídeo planetario - Siril traitant une vidéo planétaire - Siril che elabora un video planetario - Siril, een planetaire video aan het bewerken - Siril przetwarzający wideo planetarne - O Siril processando video planetário - Siril обробляє відео відзнятих планет - Siril行星视频处理 - - - - siril - - https://www.siril.org - https://gitlab.com/free-astro/siril/issues - https://free-astro.org/siril_doc-en/ - cyril_at_free-astro.org -
diff -Nru siril-0.9.10/debian/share/mime/packages/siril.xml siril-0.9.11/debian/share/mime/packages/siril.xml --- siril-0.9.10/debian/share/mime/packages/siril.xml 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/share/mime/packages/siril.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - - - - - - - - - diff -Nru siril-0.9.10/debian/source/include-binaries siril-0.9.11/debian/source/include-binaries --- siril-0.9.10/debian/source/include-binaries 2019-01-16 14:48:01.000000000 +0000 +++ siril-0.9.11/debian/source/include-binaries 2019-05-27 11:35:16.000000000 +0000 @@ -1,8 +1,3 @@ -debian/share/icons/hicolor/16x16/apps/siril.png -debian/share/icons/hicolor/24x24/apps/siril.png -debian/share/icons/hicolor/32x32/apps/siril.png -debian/share/icons/hicolor/48x48/apps/siril.png -debian/share/icons/hicolor/256x256/apps/siril.png -debian/share/icons/hicolor/512x512/apps/siril.png debian/share/icons/hicolor/scalable/apps/siril.png debian/share/icons/hicolor/symbolic/apps/siril-symbolic.png +debian/share/man/man1/siril.1 diff -Nru siril-0.9.10/.git/COMMIT_EDITMSG siril-0.9.11/.git/COMMIT_EDITMSG --- siril-0.9.10/.git/COMMIT_EDITMSG 2019-01-15 10:40:19.000000000 +0000 +++ siril-0.9.11/.git/COMMIT_EDITMSG 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Add symbolic icon diff -Nru siril-0.9.10/.git/config siril-0.9.11/.git/config --- siril-0.9.10/.git/config 2018-01-31 14:28:58.000000000 +0000 +++ siril-0.9.11/.git/config 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true -[remote "origin"] - url = git@salsa.debian.org:debian-astro-team/siril.git - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "debian"] - remote = origin - merge = refs/heads/debian -[branch "upstream"] - remote = origin - merge = refs/heads/upstream -[branch "pristine-tar"] - remote = origin - merge = refs/heads/pristine-tar -[user] - name = Cyril Richard -[branch "master"] - remote = origin - merge = refs/heads/master diff -Nru siril-0.9.10/.git/description siril-0.9.11/.git/description --- siril-0.9.10/.git/description 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/description 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff -Nru siril-0.9.10/.git/FETCH_HEAD siril-0.9.11/.git/FETCH_HEAD --- siril-0.9.10/.git/FETCH_HEAD 2019-01-07 13:34:45.000000000 +0000 +++ siril-0.9.11/.git/FETCH_HEAD 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -cd5d2fe2d52da9f0678c29dba35cade6f3cf8b10 branch 'debian' of salsa.debian.org:debian-astro-team/siril -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b not-for-merge branch 'master' of salsa.debian.org:debian-astro-team/siril -24718f14fd476623b63ca1411497463889467eae not-for-merge branch 'pristine-tar' of salsa.debian.org:debian-astro-team/siril -e948d8a3dc599c61f3219841e3245c011eeb7d46 not-for-merge branch 'upstream' of salsa.debian.org:debian-astro-team/siril diff -Nru siril-0.9.10/.git/HEAD siril-0.9.11/.git/HEAD --- siril-0.9.10/.git/HEAD 2019-01-15 10:40:42.000000000 +0000 +++ siril-0.9.11/.git/HEAD 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -ref: refs/heads/upstream diff -Nru siril-0.9.10/.git/hooks/applypatch-msg.sample siril-0.9.11/.git/hooks/applypatch-msg.sample --- siril-0.9.10/.git/hooks/applypatch-msg.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/applypatch-msg.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, rename this file to "applypatch-msg". - -. git-sh-setup -commitmsg="$(git rev-parse --git-path hooks/commit-msg)" -test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} -: diff -Nru siril-0.9.10/.git/hooks/commit-msg.sample siril-0.9.11/.git/hooks/commit-msg.sample --- siril-0.9.10/.git/hooks/commit-msg.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/commit-msg.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by "git commit" with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, rename this file to "commit-msg". - -# Uncomment the below to add a Signed-off-by line to the message. -# Doing this in a hook is a bad idea in general, but the prepare-commit-msg -# hook is more suited to it. -# -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff -Nru siril-0.9.10/.git/hooks/post-update.sample siril-0.9.11/.git/hooks/post-update.sample --- siril-0.9.10/.git/hooks/post-update.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/post-update.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, rename this file to "post-update". - -exec git update-server-info diff -Nru siril-0.9.10/.git/hooks/pre-applypatch.sample siril-0.9.11/.git/hooks/pre-applypatch.sample --- siril-0.9.10/.git/hooks/pre-applypatch.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/pre-applypatch.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-applypatch". - -. git-sh-setup -precommit="$(git rev-parse --git-path hooks/pre-commit)" -test -x "$precommit" && exec "$precommit" ${1+"$@"} -: diff -Nru siril-0.9.10/.git/hooks/pre-commit.sample siril-0.9.11/.git/hooks/pre-commit.sample --- siril-0.9.10/.git/hooks/pre-commit.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/pre-commit.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git commit" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-commit". - -if git rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 -fi - -# If you want to allow non-ASCII filenames set this variable to true. -allownonascii=$(git config --bool hooks.allownonascii) - -# Redirect output to stderr. -exec 1>&2 - -# Cross platform projects tend to avoid non-ASCII filenames; prevent -# them from being added to the repository. We exploit the fact that the -# printable range starts at the space character and ends with tilde. -if [ "$allownonascii" != "true" ] && - # Note that the use of brackets around a tr range is ok here, (it's - # even required, for portability to Solaris 10's /usr/bin/tr), since - # the square bracket bytes happen to fall in the designated range. - test $(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 -then - cat <<\EOF -Error: Attempt to add a non-ASCII file name. - -This can cause problems if you want to work with people on other platforms. - -To be portable it is advisable to rename the file. - -If you know what you are doing you can disable this check using: - - git config hooks.allownonascii true -EOF - exit 1 -fi - -# If there are whitespace errors, print the offending file names and fail. -exec git diff-index --check --cached $against -- diff -Nru siril-0.9.10/.git/hooks/prepare-commit-msg.sample siril-0.9.11/.git/hooks/prepare-commit-msg.sample --- siril-0.9.10/.git/hooks/prepare-commit-msg.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/prepare-commit-msg.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare the commit log message. -# Called by "git commit" with the name of the file that has the -# commit message, followed by the description of the commit -# message's source. The hook's purpose is to edit the commit -# message file. If the hook fails with a non-zero status, -# the commit is aborted. -# -# To enable this hook, rename this file to "prepare-commit-msg". - -# This hook includes three examples. The first comments out the -# "Conflicts:" part of a merge commit. -# -# The second includes the output of "git diff --name-status -r" -# into the message, just before the "git status" output. It is -# commented because it doesn't cope with --amend or with squashed -# commits. -# -# The third example adds a Signed-off-by line to the message, that can -# still be edited. This is rarely a good idea. - -case "$2,$3" in - merge,) - /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; - -# ,|template,) -# /usr/bin/perl -i.bak -pe ' -# print "\n" . `git diff --cached --name-status -r` -# if /^#/ && $first++ == 0' "$1" ;; - - *) ;; -esac - -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff -Nru siril-0.9.10/.git/hooks/pre-push.sample siril-0.9.11/.git/hooks/pre-push.sample --- siril-0.9.10/.git/hooks/pre-push.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/pre-push.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -#!/bin/sh - -# An example hook script to verify what is about to be pushed. Called by "git -# push" after it has checked the remote status, but before anything has been -# pushed. If this script exits with a non-zero status nothing will be pushed. -# -# This hook is called with the following parameters: -# -# $1 -- Name of the remote to which the push is being done -# $2 -- URL to which the push is being done -# -# If pushing without using a named remote those arguments will be equal. -# -# Information about the commits which are being pushed is supplied as lines to -# the standard input in the form: -# -# -# -# This sample shows how to prevent push of commits where the log message starts -# with "WIP" (work in progress). - -remote="$1" -url="$2" - -z40=0000000000000000000000000000000000000000 - -while read local_ref local_sha remote_ref remote_sha -do - if [ "$local_sha" = $z40 ] - then - # Handle delete - : - else - if [ "$remote_sha" = $z40 ] - then - # New branch, examine all commits - range="$local_sha" - else - # Update to existing branch, examine new commits - range="$remote_sha..$local_sha" - fi - - # Check for WIP commit - commit=`git rev-list -n 1 --grep '^WIP' "$range"` - if [ -n "$commit" ] - then - echo >&2 "Found WIP commit in $local_ref, not pushing" - exit 1 - fi - fi -done - -exit 0 diff -Nru siril-0.9.10/.git/hooks/pre-rebase.sample siril-0.9.11/.git/hooks/pre-rebase.sample --- siril-0.9.10/.git/hooks/pre-rebase.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/pre-rebase.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006, 2008 Junio C Hamano -# -# The "pre-rebase" hook is run just before "git rebase" starts doing -# its job, and can prevent the command from running by exiting with -# non-zero status. -# -# The hook is called with the following parameters: -# -# $1 -- the upstream the series was forked from. -# $2 -- the branch being rebased (or empty when rebasing the current branch). -# -# This sample shows how to prevent topic branches that are already -# merged to 'next' branch from getting rebased, because allowing it -# would result in rebasing already published history. - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` || - exit 0 ;# we do not interrupt rebasing detached HEAD -fi - -case "$topic" in -refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Does the topic really exist? -git show-ref -q "$topic" || { - echo >&2 "No such branch $topic" - exit 1 -} - -# Is topic fully merged to master? -not_in_master=`git rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up-to-date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` - /usr/bin/perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -<<\DOC_END - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git rev-list ^master ^topic next - git rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git rev-list master..topic - - if this is empty, it is fully merged to "master". - -DOC_END diff -Nru siril-0.9.10/.git/hooks/update.sample siril-0.9.11/.git/hooks/update.sample --- siril-0.9.10/.git/hooks/update.sample 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/hooks/update.sample 1970-01-01 00:00:00.000000000 +0000 @@ -1,128 +0,0 @@ -#!/bin/sh -# -# An example hook script to block unannotated tags from entering. -# Called by "git receive-pack" with arguments: refname sha1-old sha1-new -# -# To enable this hook, rename this file to "update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# hooks.allowdeletetag -# This boolean sets whether deleting tags will be allowed in the -# repository. By default they won't be. -# hooks.allowmodifytag -# This boolean sets whether a tag may be modified after creation. By default -# it won't be. -# hooks.allowdeletebranch -# This boolean sets whether deleting branches will be allowed in the -# repository. By default they won't be. -# hooks.denycreatebranch -# This boolean sets whether remotely creating branches will be denied -# in the repository. By default this is allowed. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git config --bool hooks.allowunannotated) -allowdeletebranch=$(git config --bool hooks.allowdeletebranch) -denycreatebranch=$(git config --bool hooks.denycreatebranch) -allowdeletetag=$(git config --bool hooks.allowdeletetag) -allowmodifytag=$(git config --bool hooks.allowmodifytag) - -# check for no description -projectdesc=$(sed -e '1q' "$GIT_DIR/description") -case "$projectdesc" in -"Unnamed repository"* | "") - echo "*** Project description file hasn't been set" >&2 - exit 1 - ;; -esac - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a ref. -zero="0000000000000000000000000000000000000000" -if [ "$newrev" = "$zero" ]; then - newrev_type=delete -else - newrev_type=$(git cat-file -t $newrev) -fi - -case "$refname","$newrev_type" in - refs/tags/*,commit) - # un-annotated tag - short_refname=${refname##refs/tags/} - if [ "$allowunannotated" != "true" ]; then - echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,delete) - # delete tag - if [ "$allowdeletetag" != "true" ]; then - echo "*** Deleting a tag is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 - then - echo "*** Tag '$refname' already exists." >&2 - echo "*** Modifying a tag is not allowed in this repository." >&2 - exit 1 - fi - ;; - refs/heads/*,commit) - # branch - if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then - echo "*** Creating a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/heads/*,delete) - # delete branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/remotes/*,commit) - # tracking branch - ;; - refs/remotes/*,delete) - # delete tracking branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a tracking branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/index and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/index differ diff -Nru siril-0.9.10/.git/info/exclude siril-0.9.11/.git/info/exclude --- siril-0.9.10/.git/info/exclude 2016-04-06 10:16:22.000000000 +0000 +++ siril-0.9.11/.git/info/exclude 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff -Nru siril-0.9.10/.git/logs/HEAD siril-0.9.11/.git/logs/HEAD --- siril-0.9.10/.git/logs/HEAD 2019-01-15 10:40:42.000000000 +0000 +++ siril-0.9.11/.git/logs/HEAD 1970-01-01 00:00:00.000000000 +0000 @@ -1,141 +0,0 @@ -0000000000000000000000000000000000000000 bb73549cfe13399e2d1db0abac1d4ad449bd0e17 cyril 1459937783 +0200 clone: from git+ssh://lock-guest@git.debian.org/git/debian-astro/packages/siril.git -bb73549cfe13399e2d1db0abac1d4ad449bd0e17 16aa46e9212fe9876145f78c4e61257316175bb1 cyril 1459937841 +0200 checkout: moving from debian to upstream -16aa46e9212fe9876145f78c4e61257316175bb1 c814028a51af63791442cdcbb2d6306471397168 cyril 1459937908 +0200 commit: new upstream 0.9.2 version with important bugs fixed -c814028a51af63791442cdcbb2d6306471397168 bb73549cfe13399e2d1db0abac1d4ad449bd0e17 cyril 1459937938 +0200 checkout: moving from upstream to debian -bb73549cfe13399e2d1db0abac1d4ad449bd0e17 17d83d1c350d2769907782b2161da4cd0e773e31 cyril 1459937944 +0200 merge upstream: Merge made by the 'recursive' strategy. -17d83d1c350d2769907782b2161da4cd0e773e31 c814028a51af63791442cdcbb2d6306471397168 cyril 1460360716 +0200 checkout: moving from debian to upstream -c814028a51af63791442cdcbb2d6306471397168 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460361030 +0200 commit: new upstream 0.9.3 version -7f27132183cf3374ece7f5094283a9bfc9eb3a74 17d83d1c350d2769907782b2161da4cd0e773e31 Cyril Richard 1460361206 +0200 checkout: moving from upstream to debian -17d83d1c350d2769907782b2161da4cd0e773e31 66a46089ebc4712bc750b0a35388b1c36c3c7cad Cyril Richard 1460361213 +0200 merge upstream: Merge made by the 'recursive' strategy. -66a46089ebc4712bc750b0a35388b1c36c3c7cad 6f7265b64debee7c63509856b04fac731cc50d5a Cyril Richard 1460361493 +0200 commit: updating debian files to the new upstream release -6f7265b64debee7c63509856b04fac731cc50d5a 3e90424291e91d22b18eb0b0b746ba7cb658a24c Cyril Richard 1460361657 +0200 pull --all: Merge made by the 'recursive' strategy. -3e90424291e91d22b18eb0b0b746ba7cb658a24c 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460465750 +0200 checkout: moving from debian to upstream -7f27132183cf3374ece7f5094283a9bfc9eb3a74 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460466357 +0200 checkout: moving from upstream to upstream -7f27132183cf3374ece7f5094283a9bfc9eb3a74 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460466868 +0200 checkout: moving from upstream to upstream -7f27132183cf3374ece7f5094283a9bfc9eb3a74 e9e0d9d97c19f49ac9cfabf6632e708591994a33 Cyril Richard 1460467004 +0200 commit: last update for new upstream 0.9.3 version -e9e0d9d97c19f49ac9cfabf6632e708591994a33 3e90424291e91d22b18eb0b0b746ba7cb658a24c Cyril Richard 1460467028 +0200 checkout: moving from upstream to debian -3e90424291e91d22b18eb0b0b746ba7cb658a24c 3cc9d26e19d4bab50fdeb723061988a38381abd4 Cyril Richard 1460467035 +0200 merge upstream: Merge made by the 'recursive' strategy. -3cc9d26e19d4bab50fdeb723061988a38381abd4 54fa549bde88f904bfe9644c3043333847e719e8 Cyril Richard 1460468411 +0200 commit: updating changelog to the new upstream version -54fa549bde88f904bfe9644c3043333847e719e8 e9e0d9d97c19f49ac9cfabf6632e708591994a33 Cyril Richard 1460468525 +0200 checkout: moving from debian to upstream -e9e0d9d97c19f49ac9cfabf6632e708591994a33 54fa549bde88f904bfe9644c3043333847e719e8 Cyril Richard 1460468581 +0200 checkout: moving from upstream to debian -54fa549bde88f904bfe9644c3043333847e719e8 7afdbae7205cb592b7bc16b4ac6324b0f47ade9e Cyril Richard 1460530888 +0200 pull --all: Fast-forward -7afdbae7205cb592b7bc16b4ac6324b0f47ade9e c6c6e9084e466640a6b68ca097131fe333cdf6f6 Cyril Richard 1472286853 +0200 pull --all: Fast-forward -c6c6e9084e466640a6b68ca097131fe333cdf6f6 c6c6e9084e466640a6b68ca097131fe333cdf6f6 Cyril Richard 1472286888 +0200 checkout: moving from debian to debian -c6c6e9084e466640a6b68ca097131fe333cdf6f6 c6c6e9084e466640a6b68ca097131fe333cdf6f6 Cyril Richard 1472462238 +0200 checkout: moving from debian to debian -c6c6e9084e466640a6b68ca097131fe333cdf6f6 74205fea1e2ef909fb858dd5df2f5bd62f26a152 Cyril Richard 1472490388 +0200 commit: Added appdata.xml support -74205fea1e2ef909fb858dd5df2f5bd62f26a152 5d9dd79fe562829526964af1eff7100b2b172463 Cyril Richard 1472537430 +0200 pull: Fast-forward -5d9dd79fe562829526964af1eff7100b2b172463 e9e133a8fe41304480e9df96b51af7a874eafbac Cyril Richard 1472541410 +0200 commit: Moving appdata.xml from legacy path to metainfo and adding debian/watch file. -e9e133a8fe41304480e9df96b51af7a874eafbac 0cddc6d54aeb430b428fb7395bb483b083aa9362 Cyril Richard 1472547595 +0200 commit: Moving scalable icon to right path. Resizing icon to square size -0cddc6d54aeb430b428fb7395bb483b083aa9362 b70c98283a671415de2db975ad1b113f79c86159 Cyril Richard 1472549261 +0200 commit: Forget to resize icon -b70c98283a671415de2db975ad1b113f79c86159 cef3e5fe2f830f12993f8148757ca13f9faf4239 Cyril Richard 1472557910 +0200 pull: Fast-forward -cef3e5fe2f830f12993f8148757ca13f9faf4239 0422809299ced1165f988b993ad1c5fb7d51c060 Cyril Richard 1472635123 +0200 commit: Conforming to latest version of the specifications for desktop and metainfo files. -0422809299ced1165f988b993ad1c5fb7d51c060 c56a09d63be98e57d5d29b170d5577824452de86 Cyril Richard 1472641371 +0200 commit: line too long in debian/changelog -c56a09d63be98e57d5d29b170d5577824452de86 9d1f345311b2a7211d17ef83cf32a2da448a684b Cyril Richard 1473150257 +0200 commit: Updating appdata file -9d1f345311b2a7211d17ef83cf32a2da448a684b 852068415cfc4152c9e57dd37330fad974504f2a Cyril Richard 1473191132 +0200 commit: updating debian/watch file -852068415cfc4152c9e57dd37330fad974504f2a 852068415cfc4152c9e57dd37330fad974504f2a Cyril Richard 1480432158 +0100 reset: moving to HEAD -852068415cfc4152c9e57dd37330fad974504f2a 1318ef4e41e133f55b55290b71cd9def9b613d56 Cyril Richard 1480432161 +0100 pull --all: Fast-forward -1318ef4e41e133f55b55290b71cd9def9b613d56 1318ef4e41e133f55b55290b71cd9def9b613d56 Cyril Richard 1480432172 +0100 checkout: moving from debian to debian -1318ef4e41e133f55b55290b71cd9def9b613d56 de2346398e67f5c46f6376c93db7b22131305ab5 Cyril Richard 1481727770 +0100 pull --all: Fast-forward -de2346398e67f5c46f6376c93db7b22131305ab5 de2346398e67f5c46f6376c93db7b22131305ab5 Cyril Richard 1481728473 +0100 reset: moving to HEAD -de2346398e67f5c46f6376c93db7b22131305ab5 e335991915c5c70c470cd5c7c35e546d82f7bc4b Cyril Richard 1481728839 +0100 commit: fixing KFreeBSD compilation -e335991915c5c70c470cd5c7c35e546d82f7bc4b f58cab26021a95758dcf85f5792ad3e635670d8e Cyril Richard 1489658529 +0100 pull: Fast-forward -f58cab26021a95758dcf85f5792ad3e635670d8e 5021aa4125b78ea6b27aa4577c95fa819f09d0b8 Cyril Richard 1497961052 +0200 commit: updating debian files to the new upstream release -5021aa4125b78ea6b27aa4577c95fa819f09d0b8 ee727189a352ef042c8781f6bd11f703cf60d4bf Cyril Richard 1497961088 +0200 commit: updating changelog to the new upstream release -ee727189a352ef042c8781f6bd11f703cf60d4bf e9e0d9d97c19f49ac9cfabf6632e708591994a33 Cyril Richard 1497961092 +0200 checkout: moving from debian to upstream -e9e0d9d97c19f49ac9cfabf6632e708591994a33 68a4ae8b5da12babbc5782e4e59877efb5acc0b0 Cyril Richard 1497961104 +0200 pull: Fast-forward -68a4ae8b5da12babbc5782e4e59877efb5acc0b0 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1497962219 +0200 commit: new upstream 0.9.6 version -d791e9f1263ad8f44e1368ad88c21db011914149 ee727189a352ef042c8781f6bd11f703cf60d4bf Cyril Richard 1497962245 +0200 checkout: moving from upstream to debian -ee727189a352ef042c8781f6bd11f703cf60d4bf d16a2ee80b8a7d4354d741438237457cb7f3ff73 Cyril Richard 1497962252 +0200 merge upstream: Merge made by the 'recursive' strategy. -d16a2ee80b8a7d4354d741438237457cb7f3ff73 d3985813510b31eb0cfa1fa67e5f1168fcddf857 Cyril Richard 1497962944 +0200 checkout: moving from debian to pristine-tar -d3985813510b31eb0cfa1fa67e5f1168fcddf857 59b9feba37365015a1b3848383db405a0c2ad4f3 Cyril Richard 1497962949 +0200 pull: Merge made by the 'recursive' strategy. -59b9feba37365015a1b3848383db405a0c2ad4f3 d16a2ee80b8a7d4354d741438237457cb7f3ff73 Cyril Richard 1497963284 +0200 checkout: moving from pristine-tar to debian -d16a2ee80b8a7d4354d741438237457cb7f3ff73 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1497963321 +0200 checkout: moving from debian to upstream -d791e9f1263ad8f44e1368ad88c21db011914149 d16a2ee80b8a7d4354d741438237457cb7f3ff73 Cyril Richard 1497963795 +0200 checkout: moving from upstream to debian -d16a2ee80b8a7d4354d741438237457cb7f3ff73 b31a0633e80d6206a7ec063ef4ac75af3817c5dd Cyril Richard 1498255970 +0200 pull: Fast-forward -b31a0633e80d6206a7ec063ef4ac75af3817c5dd afb8fe07c7bf6e3ffebde1345459a467c98d351b Cyril Richard 1498476404 +0200 commit: Updating Standards-Version to 4.0.0 -afb8fe07c7bf6e3ffebde1345459a467c98d351b 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1498679657 +0200 checkout: moving from debian to master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b afb8fe07c7bf6e3ffebde1345459a467c98d351b Cyril Richard 1498679693 +0200 checkout: moving from master to debian -afb8fe07c7bf6e3ffebde1345459a467c98d351b 777e091fc616da5f0ebfd98f80b7cd28c749831b Cyril Richard 1498919530 +0200 commit: Forgot to upgrade the version -777e091fc616da5f0ebfd98f80b7cd28c749831b 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1498919667 +0200 commit: Update changelog -848d710866da34a08c052552fe0efc4a8c487670 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1505744537 +0200 checkout: moving from debian to upstream -d791e9f1263ad8f44e1368ad88c21db011914149 d59446fd2a88a37d61a34789507e993a6b0f737a Cyril Richard 1505744931 +0200 commit: new upstream 0.9.7 version -d59446fd2a88a37d61a34789507e993a6b0f737a 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1505744967 +0200 checkout: moving from upstream to debian -848d710866da34a08c052552fe0efc4a8c487670 0e336217a03007406e39bcd511c89aabfedcd9fa Cyril Richard 1505744971 +0200 merge upstream: Merge made by the 'recursive' strategy. -0e336217a03007406e39bcd511c89aabfedcd9fa 5c5e981450464de128f932d0b9e2a237f2287e43 Cyril Richard 1505745284 +0200 commit: updating debian files to the new upstream release -5c5e981450464de128f932d0b9e2a237f2287e43 5c5e981450464de128f932d0b9e2a237f2287e43 Cyril Richard 1505764372 +0200 reset: moving to HEAD -5c5e981450464de128f932d0b9e2a237f2287e43 5c5e981450464de128f932d0b9e2a237f2287e43 Cyril Richard 1505764482 +0200 checkout: moving from debian to debian -5c5e981450464de128f932d0b9e2a237f2287e43 5c5e981450464de128f932d0b9e2a237f2287e43 Cyril Richard 1505764498 +0200 reset: moving to HEAD -5c5e981450464de128f932d0b9e2a237f2287e43 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1505764614 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1505764632 +0200 pull: Fast-forward -848d710866da34a08c052552fe0efc4a8c487670 d59446fd2a88a37d61a34789507e993a6b0f737a Cyril Richard 1505764685 +0200 checkout: moving from debian to upstream -d59446fd2a88a37d61a34789507e993a6b0f737a d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1505764718 +0200 reset: moving to origin/upstream -d791e9f1263ad8f44e1368ad88c21db011914149 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1505768549 +0200 checkout: moving from upstream to upstream -d791e9f1263ad8f44e1368ad88c21db011914149 30f291385e1d69e1540a05fdadf14b6430fb91e3 Cyril Richard 1505768618 +0200 commit: new upstream 0.9.7 version -30f291385e1d69e1540a05fdadf14b6430fb91e3 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1505768633 +0200 checkout: moving from upstream to debian -848d710866da34a08c052552fe0efc4a8c487670 28c98f80816039ebe9e646053c1dd4b1892be053 Cyril Richard 1505768637 +0200 merge upstream: Merge made by the 'recursive' strategy. -28c98f80816039ebe9e646053c1dd4b1892be053 ed2cd80b64eedf27ad4219853ed19483c3334b47 Cyril Richard 1505769080 +0200 commit: updating debian files to the new upstream release -ed2cd80b64eedf27ad4219853ed19483c3334b47 ed2cd80b64eedf27ad4219853ed19483c3334b47 Cyril Richard 1505892439 +0200 checkout: moving from debian to debian -ed2cd80b64eedf27ad4219853ed19483c3334b47 30f291385e1d69e1540a05fdadf14b6430fb91e3 Cyril Richard 1505894681 +0200 checkout: moving from debian to upstream -30f291385e1d69e1540a05fdadf14b6430fb91e3 ed2cd80b64eedf27ad4219853ed19483c3334b47 Cyril Richard 1505896478 +0200 checkout: moving from upstream to debian -ed2cd80b64eedf27ad4219853ed19483c3334b47 17204f51342b905d2a225f56f523205005d8ab3e Cyril Richard 1506149899 +0200 commit: Updating compatibility version -17204f51342b905d2a225f56f523205005d8ab3e 6bfcc3b28e7c60d44d996477a88c666db2116e83 Cyril Richard 1509108196 +0200 commit: Add caption in appstream metainfo data and update d/control -6bfcc3b28e7c60d44d996477a88c666db2116e83 84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 Cyril Richard 1509281561 +0100 commit: Remove useless dependencies since compat level 10 -84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 Cyril Richard 1516788647 +0100 commit: Preparing debian files for next release -bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 3d31acd22932563bd47672ec392bdb26df0c8031 Cyril Richard 1517238586 +0100 commit: Adding tranlation sentenses to appstream data -3d31acd22932563bd47672ec392bdb26df0c8031 30f291385e1d69e1540a05fdadf14b6430fb91e3 Cyril Richard 1517386998 +0100 checkout: moving from debian to upstream -30f291385e1d69e1540a05fdadf14b6430fb91e3 6891450d3eb13c0835dd6351a6fa54097dd73fea Cyril Richard 1517387266 +0100 commit: new upstream 0.9.8 version -6891450d3eb13c0835dd6351a6fa54097dd73fea 3d31acd22932563bd47672ec392bdb26df0c8031 Cyril Richard 1517387305 +0100 checkout: moving from upstream to debian -3d31acd22932563bd47672ec392bdb26df0c8031 88a634d68d280ff17ce1a32792d56d25cf8913de Cyril Richard 1517387312 +0100 merge upstream: Merge made by the 'recursive' strategy. -88a634d68d280ff17ce1a32792d56d25cf8913de a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 Cyril Richard 1517388573 +0100 commit: Update deb/changelog with new upstream version number -a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 Cyril Richard 1517388623 +0100 checkout: moving from debian to debian -a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 6891450d3eb13c0835dd6351a6fa54097dd73fea Cyril Richard 1517388639 +0100 checkout: moving from debian to upstream -6891450d3eb13c0835dd6351a6fa54097dd73fea a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 Cyril Richard 1517577695 +0100 checkout: moving from upstream to debian -a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 6cf9490f8bf7dfb1353c05b90f462c7a53489b9d Cyril Richard 1517580165 +0100 commit: Fixes appdata.xml file -6cf9490f8bf7dfb1353c05b90f462c7a53489b9d 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1518095046 +0100 commit: Update Vcs url and fix copyritht date in appdata -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 6891450d3eb13c0835dd6351a6fa54097dd73fea Cyril Richard 1519051067 +0100 checkout: moving from debian to upstream -6891450d3eb13c0835dd6351a6fa54097dd73fea 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1519051314 +0100 commit: new upstream 0.9.8.3 version -6f88b16aba5904d05324b48a299a2e028364f771 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1519051354 +0100 checkout: moving from upstream to debian -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 Cyril Richard 1519051360 +0100 merge upstream: Merge made by the 'recursive' strategy. -842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1519133439 +0100 commit: Update debian files -09e5ff4626ffdcd353462581d7e81396efec66bc 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1519133476 +0100 checkout: moving from debian to debian -09e5ff4626ffdcd353462581d7e81396efec66bc 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1519133499 +0100 checkout: moving from debian to upstream -6f88b16aba5904d05324b48a299a2e028364f771 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1519134471 +0100 checkout: moving from upstream to debian -09e5ff4626ffdcd353462581d7e81396efec66bc 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528351166 +0200 checkout: moving from debian to upstream -6f88b16aba5904d05324b48a299a2e028364f771 e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528354106 +0200 commit: new upstream 0.9.9 version -e2978ca546f4890ae88bba069600ae47b57d0973 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528354142 +0200 checkout: moving from upstream to debian -09e5ff4626ffdcd353462581d7e81396efec66bc 73bc3f516fab97dee806420b9be405a52f533b55 Cyril Richard 1528354149 +0200 merge upstream: Merge made by the 'recursive' strategy. -73bc3f516fab97dee806420b9be405a52f533b55 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528355062 +0200 reset: moving to HEAD~1 -09e5ff4626ffdcd353462581d7e81396efec66bc 842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 Cyril Richard 1528355110 +0200 reset: moving to HEAD~1 -842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528355146 +0200 checkout: moving from debian to upstream -e2978ca546f4890ae88bba069600ae47b57d0973 842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 Cyril Richard 1528355156 +0200 checkout: moving from upstream to debian -842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1528355162 +0200 reset: moving to HEAD~1 -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1528355221 +0200 reset: moving to HEAD -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528355237 +0200 pull: Fast-forward -09e5ff4626ffdcd353462581d7e81396efec66bc e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528355247 +0200 checkout: moving from debian to upstream -e2978ca546f4890ae88bba069600ae47b57d0973 e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528355251 +0200 reset: moving to HEAD -e2978ca546f4890ae88bba069600ae47b57d0973 e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528355282 +0200 reset: moving to HEAD -e2978ca546f4890ae88bba069600ae47b57d0973 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528355374 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528355385 +0200 pull: Fast-forward -6f88b16aba5904d05324b48a299a2e028364f771 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528355478 +0200 checkout: moving from upstream to upstream -6f88b16aba5904d05324b48a299a2e028364f771 a21cd74b54248af23beadf7599e9c9472c08561d Cyril Richard 1528355618 +0200 commit: new upstream 0.9.9 version -a21cd74b54248af23beadf7599e9c9472c08561d 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528355632 +0200 checkout: moving from upstream to debian -09e5ff4626ffdcd353462581d7e81396efec66bc 179422ff9f77af13b209a6b17c7cc0da3050ad8f Cyril Richard 1528355636 +0200 merge upstream: Merge made by the 'recursive' strategy. -179422ff9f77af13b209a6b17c7cc0da3050ad8f 7f11c26ccef5a45493e6278df26350548fa9e3a8 Cyril Richard 1528355701 +0200 commit: updating debian files to the new upstream release -7f11c26ccef5a45493e6278df26350548fa9e3a8 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528356950 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528356962 +0200 pull: Fast-forward -09e5ff4626ffdcd353462581d7e81396efec66bc a21cd74b54248af23beadf7599e9c9472c08561d Cyril Richard 1528356975 +0200 checkout: moving from debian to upstream -a21cd74b54248af23beadf7599e9c9472c08561d 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528356981 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528356992 +0200 pull: Fast-forward -6f88b16aba5904d05324b48a299a2e028364f771 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528357021 +0200 checkout: moving from upstream to upstream -6f88b16aba5904d05324b48a299a2e028364f771 e948d8a3dc599c61f3219841e3245c011eeb7d46 Cyril Richard 1528357078 +0200 commit: new upstream 0.9.9 version -e948d8a3dc599c61f3219841e3245c011eeb7d46 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528357087 +0200 checkout: moving from upstream to debian -09e5ff4626ffdcd353462581d7e81396efec66bc 5d54282c733107c0c7ea0302acc9cb8eb24000c2 Cyril Richard 1528357092 +0200 merge upstream: Merge made by the 'recursive' strategy. -5d54282c733107c0c7ea0302acc9cb8eb24000c2 454172df629966dd2ac07f06f46be8d5d4e28639 Cyril Richard 1528357743 +0200 commit: updating debian files to the new upstream release -454172df629966dd2ac07f06f46be8d5d4e28639 454172df629966dd2ac07f06f46be8d5d4e28639 Cyril Richard 1528357763 +0200 checkout: moving from debian to debian -454172df629966dd2ac07f06f46be8d5d4e28639 e948d8a3dc599c61f3219841e3245c011eeb7d46 Cyril Richard 1528357763 +0200 checkout: moving from debian to upstream -e948d8a3dc599c61f3219841e3245c011eeb7d46 454172df629966dd2ac07f06f46be8d5d4e28639 Cyril Richard 1533582299 +0200 checkout: moving from upstream to debian -454172df629966dd2ac07f06f46be8d5d4e28639 b668768535d8adbee9c47ddbcc7d1dc08f517170 Cyril Richard 1546868055 +0100 commit: preparing nex release -b668768535d8adbee9c47ddbcc7d1dc08f517170 cf7cb3f126289d6a0e303e7323c3514d9f9377fb Cyril Richard 1546868085 +0100 pull: Merge made by the 'recursive' strategy. -cf7cb3f126289d6a0e303e7323c3514d9f9377fb 1a438422219928d39358620fe91d29620602e8d6 Cyril Richard 1547548779 +0100 commit: Update icons -1a438422219928d39358620fe91d29620602e8d6 a68e66bced48a70585238ed7206c0169cfb0ce79 Cyril Richard 1547548819 +0100 commit: Add symbolic icon -a68e66bced48a70585238ed7206c0169cfb0ce79 e948d8a3dc599c61f3219841e3245c011eeb7d46 Cyril Richard 1547548842 +0100 checkout: moving from debian to upstream diff -Nru siril-0.9.10/.git/logs/refs/heads/debian siril-0.9.11/.git/logs/refs/heads/debian --- siril-0.9.10/.git/logs/refs/heads/debian 2019-01-15 10:40:19.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/heads/debian 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -0000000000000000000000000000000000000000 bb73549cfe13399e2d1db0abac1d4ad449bd0e17 cyril 1459937783 +0200 clone: from git+ssh://lock-guest@git.debian.org/git/debian-astro/packages/siril.git -bb73549cfe13399e2d1db0abac1d4ad449bd0e17 17d83d1c350d2769907782b2161da4cd0e773e31 cyril 1459937944 +0200 merge upstream: Merge made by the 'recursive' strategy. -17d83d1c350d2769907782b2161da4cd0e773e31 66a46089ebc4712bc750b0a35388b1c36c3c7cad Cyril Richard 1460361213 +0200 merge upstream: Merge made by the 'recursive' strategy. -66a46089ebc4712bc750b0a35388b1c36c3c7cad 6f7265b64debee7c63509856b04fac731cc50d5a Cyril Richard 1460361493 +0200 commit: updating debian files to the new upstream release -6f7265b64debee7c63509856b04fac731cc50d5a 3e90424291e91d22b18eb0b0b746ba7cb658a24c Cyril Richard 1460361657 +0200 pull --all: Merge made by the 'recursive' strategy. -3e90424291e91d22b18eb0b0b746ba7cb658a24c 3cc9d26e19d4bab50fdeb723061988a38381abd4 Cyril Richard 1460467035 +0200 merge upstream: Merge made by the 'recursive' strategy. -3cc9d26e19d4bab50fdeb723061988a38381abd4 54fa549bde88f904bfe9644c3043333847e719e8 Cyril Richard 1460468411 +0200 commit: updating changelog to the new upstream version -54fa549bde88f904bfe9644c3043333847e719e8 7afdbae7205cb592b7bc16b4ac6324b0f47ade9e Cyril Richard 1460530888 +0200 pull --all: Fast-forward -7afdbae7205cb592b7bc16b4ac6324b0f47ade9e c6c6e9084e466640a6b68ca097131fe333cdf6f6 Cyril Richard 1472286853 +0200 pull --all: Fast-forward -c6c6e9084e466640a6b68ca097131fe333cdf6f6 74205fea1e2ef909fb858dd5df2f5bd62f26a152 Cyril Richard 1472490388 +0200 commit: Added appdata.xml support -74205fea1e2ef909fb858dd5df2f5bd62f26a152 5d9dd79fe562829526964af1eff7100b2b172463 Cyril Richard 1472537430 +0200 pull: Fast-forward -5d9dd79fe562829526964af1eff7100b2b172463 e9e133a8fe41304480e9df96b51af7a874eafbac Cyril Richard 1472541410 +0200 commit: Moving appdata.xml from legacy path to metainfo and adding debian/watch file. -e9e133a8fe41304480e9df96b51af7a874eafbac 0cddc6d54aeb430b428fb7395bb483b083aa9362 Cyril Richard 1472547595 +0200 commit: Moving scalable icon to right path. Resizing icon to square size -0cddc6d54aeb430b428fb7395bb483b083aa9362 b70c98283a671415de2db975ad1b113f79c86159 Cyril Richard 1472549261 +0200 commit: Forget to resize icon -b70c98283a671415de2db975ad1b113f79c86159 cef3e5fe2f830f12993f8148757ca13f9faf4239 Cyril Richard 1472557910 +0200 pull: Fast-forward -cef3e5fe2f830f12993f8148757ca13f9faf4239 0422809299ced1165f988b993ad1c5fb7d51c060 Cyril Richard 1472635123 +0200 commit: Conforming to latest version of the specifications for desktop and metainfo files. -0422809299ced1165f988b993ad1c5fb7d51c060 c56a09d63be98e57d5d29b170d5577824452de86 Cyril Richard 1472641371 +0200 commit: line too long in debian/changelog -c56a09d63be98e57d5d29b170d5577824452de86 9d1f345311b2a7211d17ef83cf32a2da448a684b Cyril Richard 1473150257 +0200 commit: Updating appdata file -9d1f345311b2a7211d17ef83cf32a2da448a684b 852068415cfc4152c9e57dd37330fad974504f2a Cyril Richard 1473191132 +0200 commit: updating debian/watch file -852068415cfc4152c9e57dd37330fad974504f2a 1318ef4e41e133f55b55290b71cd9def9b613d56 Cyril Richard 1480432161 +0100 pull --all: Fast-forward -1318ef4e41e133f55b55290b71cd9def9b613d56 de2346398e67f5c46f6376c93db7b22131305ab5 Cyril Richard 1481727770 +0100 pull --all: Fast-forward -de2346398e67f5c46f6376c93db7b22131305ab5 e335991915c5c70c470cd5c7c35e546d82f7bc4b Cyril Richard 1481728839 +0100 commit: fixing KFreeBSD compilation -e335991915c5c70c470cd5c7c35e546d82f7bc4b f58cab26021a95758dcf85f5792ad3e635670d8e Cyril Richard 1489658529 +0100 pull: Fast-forward -f58cab26021a95758dcf85f5792ad3e635670d8e 5021aa4125b78ea6b27aa4577c95fa819f09d0b8 Cyril Richard 1497961052 +0200 commit: updating debian files to the new upstream release -5021aa4125b78ea6b27aa4577c95fa819f09d0b8 ee727189a352ef042c8781f6bd11f703cf60d4bf Cyril Richard 1497961088 +0200 commit: updating changelog to the new upstream release -ee727189a352ef042c8781f6bd11f703cf60d4bf d16a2ee80b8a7d4354d741438237457cb7f3ff73 Cyril Richard 1497962252 +0200 merge upstream: Merge made by the 'recursive' strategy. -d16a2ee80b8a7d4354d741438237457cb7f3ff73 b31a0633e80d6206a7ec063ef4ac75af3817c5dd Cyril Richard 1498255970 +0200 pull: Fast-forward -b31a0633e80d6206a7ec063ef4ac75af3817c5dd afb8fe07c7bf6e3ffebde1345459a467c98d351b Cyril Richard 1498476404 +0200 commit: Updating Standards-Version to 4.0.0 -afb8fe07c7bf6e3ffebde1345459a467c98d351b 777e091fc616da5f0ebfd98f80b7cd28c749831b Cyril Richard 1498919530 +0200 commit: Forgot to upgrade the version -777e091fc616da5f0ebfd98f80b7cd28c749831b 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1498919667 +0200 commit: Update changelog -848d710866da34a08c052552fe0efc4a8c487670 0e336217a03007406e39bcd511c89aabfedcd9fa Cyril Richard 1505744971 +0200 merge upstream: Merge made by the 'recursive' strategy. -0e336217a03007406e39bcd511c89aabfedcd9fa 5c5e981450464de128f932d0b9e2a237f2287e43 Cyril Richard 1505745284 +0200 commit: updating debian files to the new upstream release -5c5e981450464de128f932d0b9e2a237f2287e43 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1505764614 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1505764632 +0200 pull: Fast-forward -848d710866da34a08c052552fe0efc4a8c487670 28c98f80816039ebe9e646053c1dd4b1892be053 Cyril Richard 1505768637 +0200 merge upstream: Merge made by the 'recursive' strategy. -28c98f80816039ebe9e646053c1dd4b1892be053 ed2cd80b64eedf27ad4219853ed19483c3334b47 Cyril Richard 1505769080 +0200 commit: updating debian files to the new upstream release -ed2cd80b64eedf27ad4219853ed19483c3334b47 17204f51342b905d2a225f56f523205005d8ab3e Cyril Richard 1506149899 +0200 commit: Updating compatibility version -17204f51342b905d2a225f56f523205005d8ab3e 6bfcc3b28e7c60d44d996477a88c666db2116e83 Cyril Richard 1509108196 +0200 commit: Add caption in appstream metainfo data and update d/control -6bfcc3b28e7c60d44d996477a88c666db2116e83 84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 Cyril Richard 1509281561 +0100 commit: Remove useless dependencies since compat level 10 -84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 Cyril Richard 1516788647 +0100 commit: Preparing debian files for next release -bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 3d31acd22932563bd47672ec392bdb26df0c8031 Cyril Richard 1517238586 +0100 commit: Adding tranlation sentenses to appstream data -3d31acd22932563bd47672ec392bdb26df0c8031 88a634d68d280ff17ce1a32792d56d25cf8913de Cyril Richard 1517387312 +0100 merge upstream: Merge made by the 'recursive' strategy. -88a634d68d280ff17ce1a32792d56d25cf8913de a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 Cyril Richard 1517388573 +0100 commit: Update deb/changelog with new upstream version number -a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 6cf9490f8bf7dfb1353c05b90f462c7a53489b9d Cyril Richard 1517580165 +0100 commit: Fixes appdata.xml file -6cf9490f8bf7dfb1353c05b90f462c7a53489b9d 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1518095046 +0100 commit: Update Vcs url and fix copyritht date in appdata -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 Cyril Richard 1519051360 +0100 merge upstream: Merge made by the 'recursive' strategy. -842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1519133439 +0100 commit: Update debian files -09e5ff4626ffdcd353462581d7e81396efec66bc 73bc3f516fab97dee806420b9be405a52f533b55 Cyril Richard 1528354149 +0200 merge upstream: Merge made by the 'recursive' strategy. -73bc3f516fab97dee806420b9be405a52f533b55 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528355062 +0200 reset: moving to HEAD~1 -09e5ff4626ffdcd353462581d7e81396efec66bc 842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 Cyril Richard 1528355110 +0200 reset: moving to HEAD~1 -842bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1528355162 +0200 reset: moving to HEAD~1 -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528355237 +0200 pull: Fast-forward -09e5ff4626ffdcd353462581d7e81396efec66bc 179422ff9f77af13b209a6b17c7cc0da3050ad8f Cyril Richard 1528355636 +0200 merge upstream: Merge made by the 'recursive' strategy. -179422ff9f77af13b209a6b17c7cc0da3050ad8f 7f11c26ccef5a45493e6278df26350548fa9e3a8 Cyril Richard 1528355701 +0200 commit: updating debian files to the new upstream release -7f11c26ccef5a45493e6278df26350548fa9e3a8 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528356950 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1528356962 +0200 pull: Fast-forward -09e5ff4626ffdcd353462581d7e81396efec66bc 5d54282c733107c0c7ea0302acc9cb8eb24000c2 Cyril Richard 1528357092 +0200 merge upstream: Merge made by the 'recursive' strategy. -5d54282c733107c0c7ea0302acc9cb8eb24000c2 454172df629966dd2ac07f06f46be8d5d4e28639 Cyril Richard 1528357743 +0200 commit: updating debian files to the new upstream release -454172df629966dd2ac07f06f46be8d5d4e28639 b668768535d8adbee9c47ddbcc7d1dc08f517170 Cyril Richard 1546868055 +0100 commit: preparing nex release -b668768535d8adbee9c47ddbcc7d1dc08f517170 cf7cb3f126289d6a0e303e7323c3514d9f9377fb Cyril Richard 1546868085 +0100 pull: Merge made by the 'recursive' strategy. -cf7cb3f126289d6a0e303e7323c3514d9f9377fb 1a438422219928d39358620fe91d29620602e8d6 Cyril Richard 1547548779 +0100 commit: Update icons -1a438422219928d39358620fe91d29620602e8d6 a68e66bced48a70585238ed7206c0169cfb0ce79 Cyril Richard 1547548819 +0100 commit: Add symbolic icon diff -Nru siril-0.9.10/.git/logs/refs/heads/master siril-0.9.11/.git/logs/refs/heads/master --- siril-0.9.10/.git/logs/refs/heads/master 2017-06-28 19:54:17.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/heads/master 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1498679657 +0200 branch: Created from refs/remotes/origin/master diff -Nru siril-0.9.10/.git/logs/refs/heads/pristine-tar siril-0.9.11/.git/logs/refs/heads/pristine-tar --- siril-0.9.10/.git/logs/refs/heads/pristine-tar 2018-06-07 07:38:03.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/heads/pristine-tar 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -0000000000000000000000000000000000000000 44e849f8aa5bf9fa560a91e968499e9d0c3aa8fa cyril 1459937926 +0200 branch: Created from refs/remotes/origin/pristine-tar -44e849f8aa5bf9fa560a91e968499e9d0c3aa8fa d6c6deddec3665f519a15d8bee1ea6b6d860817f cyril 1459937926 +0200 -d6c6deddec3665f519a15d8bee1ea6b6d860817f b2204b7f5a309eb26d14fc2839a61f225a1dcaa2 Cyril Richard 1460361078 +0200 -b2204b7f5a309eb26d14fc2839a61f225a1dcaa2 d3f5764819e42376a5865dcdd161775420e4fdc6 Cyril Richard 1460467020 +0200 -d3f5764819e42376a5865dcdd161775420e4fdc6 d3985813510b31eb0cfa1fa67e5f1168fcddf857 Cyril Richard 1497962235 +0200 -d3985813510b31eb0cfa1fa67e5f1168fcddf857 59b9feba37365015a1b3848383db405a0c2ad4f3 Cyril Richard 1497962949 +0200 pull: Merge made by the 'recursive' strategy. -59b9feba37365015a1b3848383db405a0c2ad4f3 69d398bbd7eb054655ef58742b97aa027e5b1dd7 Cyril Richard 1505744940 +0200 -69d398bbd7eb054655ef58742b97aa027e5b1dd7 909de42b15161ba8c40a625adc6a037051b6ebd7 Cyril Richard 1505768625 +0200 -909de42b15161ba8c40a625adc6a037051b6ebd7 3c0d3fa427ba74e02221d89fa249b79c756f84ca Cyril Richard 1517387278 +0100 -3c0d3fa427ba74e02221d89fa249b79c756f84ca 0bd598e05b2e1a26f04e6e0afee4c8e9c1d256d6 Cyril Richard 1519051349 +0100 -0bd598e05b2e1a26f04e6e0afee4c8e9c1d256d6 6cd627fa84ae2fd5e72cefe68cea07525fe97261 Cyril Richard 1528354133 +0200 -6cd627fa84ae2fd5e72cefe68cea07525fe97261 fb9e7ceb965df1d420f9d8972c05b49b702d1011 Cyril Richard 1528355623 +0200 -fb9e7ceb965df1d420f9d8972c05b49b702d1011 24718f14fd476623b63ca1411497463889467eae Cyril Richard 1528357083 +0200 diff -Nru siril-0.9.10/.git/logs/refs/heads/upstream siril-0.9.11/.git/logs/refs/heads/upstream --- siril-0.9.10/.git/logs/refs/heads/upstream 2018-06-07 07:37:58.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/heads/upstream 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -0000000000000000000000000000000000000000 16aa46e9212fe9876145f78c4e61257316175bb1 cyril 1459937841 +0200 branch: Created from refs/remotes/origin/upstream -16aa46e9212fe9876145f78c4e61257316175bb1 c814028a51af63791442cdcbb2d6306471397168 cyril 1459937908 +0200 commit: new upstream 0.9.2 version with important bugs fixed -c814028a51af63791442cdcbb2d6306471397168 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460361030 +0200 commit: new upstream 0.9.3 version -7f27132183cf3374ece7f5094283a9bfc9eb3a74 e9e0d9d97c19f49ac9cfabf6632e708591994a33 Cyril Richard 1460467004 +0200 commit: last update for new upstream 0.9.3 version -e9e0d9d97c19f49ac9cfabf6632e708591994a33 68a4ae8b5da12babbc5782e4e59877efb5acc0b0 Cyril Richard 1497961104 +0200 pull: Fast-forward -68a4ae8b5da12babbc5782e4e59877efb5acc0b0 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1497962219 +0200 commit: new upstream 0.9.6 version -d791e9f1263ad8f44e1368ad88c21db011914149 d59446fd2a88a37d61a34789507e993a6b0f737a Cyril Richard 1505744931 +0200 commit: new upstream 0.9.7 version -d59446fd2a88a37d61a34789507e993a6b0f737a d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1505764718 +0200 reset: moving to origin/upstream -d791e9f1263ad8f44e1368ad88c21db011914149 30f291385e1d69e1540a05fdadf14b6430fb91e3 Cyril Richard 1505768618 +0200 commit: new upstream 0.9.7 version -30f291385e1d69e1540a05fdadf14b6430fb91e3 6891450d3eb13c0835dd6351a6fa54097dd73fea Cyril Richard 1517387266 +0100 commit: new upstream 0.9.8 version -6891450d3eb13c0835dd6351a6fa54097dd73fea 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1519051314 +0100 commit: new upstream 0.9.8.3 version -6f88b16aba5904d05324b48a299a2e028364f771 e2978ca546f4890ae88bba069600ae47b57d0973 Cyril Richard 1528354106 +0200 commit: new upstream 0.9.9 version -e2978ca546f4890ae88bba069600ae47b57d0973 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528355374 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528355385 +0200 pull: Fast-forward -6f88b16aba5904d05324b48a299a2e028364f771 a21cd74b54248af23beadf7599e9c9472c08561d Cyril Richard 1528355618 +0200 commit: new upstream 0.9.9 version -a21cd74b54248af23beadf7599e9c9472c08561d 9882b4f935a0a7b223331a7fc26c0a2fa8262f7b Cyril Richard 1528356981 +0200 reset: moving to origin/master -9882b4f935a0a7b223331a7fc26c0a2fa8262f7b 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1528356992 +0200 pull: Fast-forward -6f88b16aba5904d05324b48a299a2e028364f771 e948d8a3dc599c61f3219841e3245c011eeb7d46 Cyril Richard 1528357078 +0200 commit: new upstream 0.9.9 version diff -Nru siril-0.9.10/.git/logs/refs/remotes/origin/debian siril-0.9.11/.git/logs/refs/remotes/origin/debian --- siril-0.9.10/.git/logs/refs/remotes/origin/debian 2019-01-07 13:39:12.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/remotes/origin/debian 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -bb73549cfe13399e2d1db0abac1d4ad449bd0e17 17d83d1c350d2769907782b2161da4cd0e773e31 cyril 1459938032 +0200 update by push -17d83d1c350d2769907782b2161da4cd0e773e31 bd7e0f6b1f7e1f615463609bb7c40ab397830490 Cyril Richard 1460361657 +0200 pull --all: fast-forward -bd7e0f6b1f7e1f615463609bb7c40ab397830490 3e90424291e91d22b18eb0b0b746ba7cb658a24c Cyril Richard 1460361722 +0200 update by push -3e90424291e91d22b18eb0b0b746ba7cb658a24c 54fa549bde88f904bfe9644c3043333847e719e8 Cyril Richard 1460468481 +0200 update by push -54fa549bde88f904bfe9644c3043333847e719e8 7afdbae7205cb592b7bc16b4ac6324b0f47ade9e Cyril Richard 1460530888 +0200 pull --all: fast-forward -7afdbae7205cb592b7bc16b4ac6324b0f47ade9e c6c6e9084e466640a6b68ca097131fe333cdf6f6 Cyril Richard 1472286839 +0200 pull --all: fast-forward -c6c6e9084e466640a6b68ca097131fe333cdf6f6 74205fea1e2ef909fb858dd5df2f5bd62f26a152 Cyril Richard 1472490497 +0200 update by push -74205fea1e2ef909fb858dd5df2f5bd62f26a152 5d9dd79fe562829526964af1eff7100b2b172463 Cyril Richard 1472537430 +0200 pull: fast-forward -5d9dd79fe562829526964af1eff7100b2b172463 e9e133a8fe41304480e9df96b51af7a874eafbac Cyril Richard 1472541417 +0200 update by push -e9e133a8fe41304480e9df96b51af7a874eafbac 0cddc6d54aeb430b428fb7395bb483b083aa9362 Cyril Richard 1472547603 +0200 update by push -0cddc6d54aeb430b428fb7395bb483b083aa9362 b70c98283a671415de2db975ad1b113f79c86159 Cyril Richard 1472549265 +0200 update by push -b70c98283a671415de2db975ad1b113f79c86159 cef3e5fe2f830f12993f8148757ca13f9faf4239 Cyril Richard 1472557910 +0200 pull: fast-forward -cef3e5fe2f830f12993f8148757ca13f9faf4239 0422809299ced1165f988b993ad1c5fb7d51c060 Cyril Richard 1472635144 +0200 update by push -0422809299ced1165f988b993ad1c5fb7d51c060 c56a09d63be98e57d5d29b170d5577824452de86 Cyril Richard 1472641421 +0200 update by push -c56a09d63be98e57d5d29b170d5577824452de86 9d1f345311b2a7211d17ef83cf32a2da448a684b Cyril Richard 1473150268 +0200 update by push -9d1f345311b2a7211d17ef83cf32a2da448a684b 852068415cfc4152c9e57dd37330fad974504f2a Cyril Richard 1473191142 +0200 update by push -852068415cfc4152c9e57dd37330fad974504f2a 1318ef4e41e133f55b55290b71cd9def9b613d56 Cyril Richard 1480432133 +0100 pull --all: fast-forward -1318ef4e41e133f55b55290b71cd9def9b613d56 de2346398e67f5c46f6376c93db7b22131305ab5 Cyril Richard 1481727770 +0100 pull --all: fast-forward -de2346398e67f5c46f6376c93db7b22131305ab5 e335991915c5c70c470cd5c7c35e546d82f7bc4b Cyril Richard 1481728860 +0100 update by push -e335991915c5c70c470cd5c7c35e546d82f7bc4b f58cab26021a95758dcf85f5792ad3e635670d8e Cyril Richard 1489658529 +0100 pull: fast-forward -f58cab26021a95758dcf85f5792ad3e635670d8e d16a2ee80b8a7d4354d741438237457cb7f3ff73 Cyril Richard 1497962338 +0200 update by push -d16a2ee80b8a7d4354d741438237457cb7f3ff73 b31a0633e80d6206a7ec063ef4ac75af3817c5dd Cyril Richard 1498255970 +0200 pull: fast-forward -b31a0633e80d6206a7ec063ef4ac75af3817c5dd afb8fe07c7bf6e3ffebde1345459a467c98d351b Cyril Richard 1498476457 +0200 update by push -afb8fe07c7bf6e3ffebde1345459a467c98d351b 777e091fc616da5f0ebfd98f80b7cd28c749831b Cyril Richard 1498919539 +0200 update by push -777e091fc616da5f0ebfd98f80b7cd28c749831b 848d710866da34a08c052552fe0efc4a8c487670 Cyril Richard 1498919671 +0200 update by push -848d710866da34a08c052552fe0efc4a8c487670 ed2cd80b64eedf27ad4219853ed19483c3334b47 Cyril Richard 1505892348 +0200 update by push -ed2cd80b64eedf27ad4219853ed19483c3334b47 17204f51342b905d2a225f56f523205005d8ab3e Cyril Richard 1506149918 +0200 update by push -17204f51342b905d2a225f56f523205005d8ab3e 6bfcc3b28e7c60d44d996477a88c666db2116e83 Cyril Richard 1509108222 +0200 update by push -6bfcc3b28e7c60d44d996477a88c666db2116e83 84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 Cyril Richard 1509281587 +0100 update by push -84f9c1db82962adcf915edf4be9f25e1b5d6b5e3 bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 Cyril Richard 1516788696 +0100 update by push -bfe1ea5578691eae8c4c2ec503b934e21fd8cce5 3d31acd22932563bd47672ec392bdb26df0c8031 Cyril Richard 1517238615 +0100 update by push -3d31acd22932563bd47672ec392bdb26df0c8031 a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 Cyril Richard 1517388620 +0100 update by push -a4e004d9ca63f5b1d8d16eb7c4b31a50bdc12931 6cf9490f8bf7dfb1353c05b90f462c7a53489b9d Cyril Richard 1517580172 +0100 update by push -6cf9490f8bf7dfb1353c05b90f462c7a53489b9d 9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e Cyril Richard 1518095052 +0100 update by push -9cbac8a0a5cb71d40cfac8fe80d0f5621b22e02e 09e5ff4626ffdcd353462581d7e81396efec66bc Cyril Richard 1519133468 +0100 update by push -09e5ff4626ffdcd353462581d7e81396efec66bc 454172df629966dd2ac07f06f46be8d5d4e28639 Cyril Richard 1528357755 +0200 update by push -454172df629966dd2ac07f06f46be8d5d4e28639 cd5d2fe2d52da9f0678c29dba35cade6f3cf8b10 Cyril Richard 1546868085 +0100 pull: fast-forward -cd5d2fe2d52da9f0678c29dba35cade6f3cf8b10 cf7cb3f126289d6a0e303e7323c3514d9f9377fb Cyril Richard 1546868352 +0100 update by push diff -Nru siril-0.9.10/.git/logs/refs/remotes/origin/HEAD siril-0.9.11/.git/logs/refs/remotes/origin/HEAD --- siril-0.9.10/.git/logs/refs/remotes/origin/HEAD 2016-04-06 10:16:23.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/remotes/origin/HEAD 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 bb73549cfe13399e2d1db0abac1d4ad449bd0e17 cyril 1459937783 +0200 clone: from git+ssh://lock-guest@git.debian.org/git/debian-astro/packages/siril.git diff -Nru siril-0.9.10/.git/logs/refs/remotes/origin/pristine-tar siril-0.9.11/.git/logs/refs/remotes/origin/pristine-tar --- siril-0.9.10/.git/logs/refs/remotes/origin/pristine-tar 2018-06-07 07:49:15.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/remotes/origin/pristine-tar 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -44e849f8aa5bf9fa560a91e968499e9d0c3aa8fa d6c6deddec3665f519a15d8bee1ea6b6d860817f cyril 1459938032 +0200 update by push -d6c6deddec3665f519a15d8bee1ea6b6d860817f b2204b7f5a309eb26d14fc2839a61f225a1dcaa2 Cyril Richard 1460361609 +0200 update by push -b2204b7f5a309eb26d14fc2839a61f225a1dcaa2 d3f5764819e42376a5865dcdd161775420e4fdc6 Cyril Richard 1460468481 +0200 update by push -d3f5764819e42376a5865dcdd161775420e4fdc6 ba6e4639a128c2a85c0fc0f8fd250448ddbd8343 Cyril Richard 1472286839 +0200 pull --all: fast-forward -ba6e4639a128c2a85c0fc0f8fd250448ddbd8343 b744e25e6b5a0973c81419607d4c561209695d37 Cyril Richard 1480432133 +0100 pull --all: fast-forward -b744e25e6b5a0973c81419607d4c561209695d37 59b9feba37365015a1b3848383db405a0c2ad4f3 Cyril Richard 1497962982 +0200 update by push -59b9feba37365015a1b3848383db405a0c2ad4f3 909de42b15161ba8c40a625adc6a037051b6ebd7 Cyril Richard 1505892348 +0200 update by push -909de42b15161ba8c40a625adc6a037051b6ebd7 3c0d3fa427ba74e02221d89fa249b79c756f84ca Cyril Richard 1517388620 +0100 update by push -3c0d3fa427ba74e02221d89fa249b79c756f84ca 0bd598e05b2e1a26f04e6e0afee4c8e9c1d256d6 Cyril Richard 1519133468 +0100 update by push -0bd598e05b2e1a26f04e6e0afee4c8e9c1d256d6 24718f14fd476623b63ca1411497463889467eae Cyril Richard 1528357755 +0200 update by push diff -Nru siril-0.9.10/.git/logs/refs/remotes/origin/upstream siril-0.9.11/.git/logs/refs/remotes/origin/upstream --- siril-0.9.10/.git/logs/refs/remotes/origin/upstream 2018-06-07 07:49:15.000000000 +0000 +++ siril-0.9.11/.git/logs/refs/remotes/origin/upstream 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -16aa46e9212fe9876145f78c4e61257316175bb1 c814028a51af63791442cdcbb2d6306471397168 cyril 1459938032 +0200 update by push -c814028a51af63791442cdcbb2d6306471397168 7f27132183cf3374ece7f5094283a9bfc9eb3a74 Cyril Richard 1460361609 +0200 update by push -7f27132183cf3374ece7f5094283a9bfc9eb3a74 e9e0d9d97c19f49ac9cfabf6632e708591994a33 Cyril Richard 1460468481 +0200 update by push -e9e0d9d97c19f49ac9cfabf6632e708591994a33 3affa968c3a9743d3266e7b68919969a5f2e5f28 Cyril Richard 1472286839 +0200 pull --all: fast-forward -3affa968c3a9743d3266e7b68919969a5f2e5f28 68a4ae8b5da12babbc5782e4e59877efb5acc0b0 Cyril Richard 1480432133 +0100 pull --all: fast-forward -68a4ae8b5da12babbc5782e4e59877efb5acc0b0 d791e9f1263ad8f44e1368ad88c21db011914149 Cyril Richard 1497962338 +0200 update by push -d791e9f1263ad8f44e1368ad88c21db011914149 30f291385e1d69e1540a05fdadf14b6430fb91e3 Cyril Richard 1505892348 +0200 update by push -30f291385e1d69e1540a05fdadf14b6430fb91e3 6891450d3eb13c0835dd6351a6fa54097dd73fea Cyril Richard 1517388620 +0100 update by push -6891450d3eb13c0835dd6351a6fa54097dd73fea 6f88b16aba5904d05324b48a299a2e028364f771 Cyril Richard 1519133468 +0100 update by push -6f88b16aba5904d05324b48a299a2e028364f771 e948d8a3dc599c61f3219841e3245c011eeb7d46 Cyril Richard 1528357755 +0200 update by push Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/362f7fa8a37350b4f0445fb0b134aa7250aa50 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/362f7fa8a37350b4f0445fb0b134aa7250aa50 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/4892a65fd0859462cd9a06e2f79645f40e9417 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/4892a65fd0859462cd9a06e2f79645f40e9417 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/508098c41e89f7d2865584f3fbe4ff6051ec1e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/508098c41e89f7d2865584f3fbe4ff6051ec1e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/6f586aa40630cc696739a1ed799b22cd928018 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/6f586aa40630cc696739a1ed799b22cd928018 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/725502d5780c676da52e939719a65c60721d94 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/725502d5780c676da52e939719a65c60721d94 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/9365eaf84aff2fa8fcfc47a3e3de6f8aed2854 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/9365eaf84aff2fa8fcfc47a3e3de6f8aed2854 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/acae0783ed2eb237ae682994b59718baa83b22 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/acae0783ed2eb237ae682994b59718baa83b22 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/00/f68b8e5f3d6bf7321123f569ce5753493af5ea and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/00/f68b8e5f3d6bf7321123f569ce5753493af5ea differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/01/533c2414984cd95e19721d6e1a18a7c6b242b9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/01/533c2414984cd95e19721d6e1a18a7c6b242b9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/02/17609c0ea58676d3eb32118b7d3b5b352a0ebe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/02/17609c0ea58676d3eb32118b7d3b5b352a0ebe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/02/1f7a49e79d2c9488eb5f5b93ab10d88b0ddf1c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/02/1f7a49e79d2c9488eb5f5b93ab10d88b0ddf1c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/02/c63124c5a187bcd5df81d207e5690a8d02d4e0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/02/c63124c5a187bcd5df81d207e5690a8d02d4e0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/02/ee59b01f5d0168ca067e946ed43cf9ece4845b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/02/ee59b01f5d0168ca067e946ed43cf9ece4845b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/03/36d401dd00422ab0d263726490455f330bf003 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/03/36d401dd00422ab0d263726490455f330bf003 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/03/8c93dae85cb2c6836c9ed8fc497513175db827 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/03/8c93dae85cb2c6836c9ed8fc497513175db827 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/03/a4f5827176a05cdddf6821031962f21326b9d8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/03/a4f5827176a05cdddf6821031962f21326b9d8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/017131c4cfe4024544253bb85cd988568eba11 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/017131c4cfe4024544253bb85cd988568eba11 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/1048534863f7485f1b443f279b8769d1f3bbc3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/1048534863f7485f1b443f279b8769d1f3bbc3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/22809299ced1165f988b993ad1c5fb7d51c060 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/22809299ced1165f988b993ad1c5fb7d51c060 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/285d846a3fc1182bd0c2b1ff6ebf08ad966b78 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/285d846a3fc1182bd0c2b1ff6ebf08ad966b78 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/79baa2fa30848f16769fb648d25d7e268c1268 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/79baa2fa30848f16769fb648d25d7e268c1268 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/8af56667942d127504a2b27af81daff9e5df4e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/8af56667942d127504a2b27af81daff9e5df4e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/04/a97f68ac03a52372bd277a619f0d83f73de47d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/04/a97f68ac03a52372bd277a619f0d83f73de47d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/05/71975a4161d807660402cf9f958c231191e3b8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/05/71975a4161d807660402cf9f958c231191e3b8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/05/f2eddfa0c7e8785fa72f21da19389e9160ded4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/05/f2eddfa0c7e8785fa72f21da19389e9160ded4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/06/905e3612d4cd51b5e507394fa4a5afaf3f290f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/06/905e3612d4cd51b5e507394fa4a5afaf3f290f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/07/9099c3538f5af58553da4d785139de3739b2b9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/07/9099c3538f5af58553da4d785139de3739b2b9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/07/bcd4abe5d65a87fb829c552dc4be0bfe603bca and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/07/bcd4abe5d65a87fb829c552dc4be0bfe603bca differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/07/ee7828d89c7a704b2fa992a8af2036fbbb9042 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/07/ee7828d89c7a704b2fa992a8af2036fbbb9042 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/08/550f0c31e24b8c00e0501f643c067ebbac897d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/08/550f0c31e24b8c00e0501f643c067ebbac897d differ diff -Nru siril-0.9.10/.git/objects/08/67b6455cf3c1575e58b8bfd83d5d8a9b398a35 siril-0.9.11/.git/objects/08/67b6455cf3c1575e58b8bfd83d5d8a9b398a35 --- siril-0.9.10/.git/objects/08/67b6455cf3c1575e58b8bfd83d5d8a9b398a35 2016-08-29 12:15:51.000000000 +0000 +++ siril-0.9.11/.git/objects/08/67b6455cf3c1575e58b8bfd83d5d8a9b398a35 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xUn@b4AŘU\ZUi"ս&A+>v1gw|j^x ?PRoGk$Yeg(C(w|(;љjD@-ykM4Km#bDHȜd)cPd +E ..ttk> -smЅBX5\[oxI?ϋaNi%_pԂljNk(s)YQLKOLWg7&U=4&郠a&A!zV2mMB?OpQ?moLiܗ7< \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/08/ec5d2c83a7b25e6e0e34bebeeee8a6d37dd473 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/08/ec5d2c83a7b25e6e0e34bebeeee8a6d37dd473 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/097aac4ce084cca49c7d4a23dd3de2e69a3efb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/097aac4ce084cca49c7d4a23dd3de2e69a3efb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/7f9b0dcda381657ad2567add9b2efd1d1b7204 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/7f9b0dcda381657ad2567add9b2efd1d1b7204 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/85eea38f14c2659787ba4ffe289e09a11a739a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/85eea38f14c2659787ba4ffe289e09a11a739a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/90587468c3aef66a7d347a27436b03c2f72f21 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/90587468c3aef66a7d347a27436b03c2f72f21 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/ab76f6b25b2fcf8bb54b3243f127cfe9f2a6ae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/ab76f6b25b2fcf8bb54b3243f127cfe9f2a6ae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/09/e5ff4626ffdcd353462581d7e81396efec66bc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/09/e5ff4626ffdcd353462581d7e81396efec66bc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/4538e02cd7219f6a33a80372e61774e3754449 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/4538e02cd7219f6a33a80372e61774e3754449 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/6c9af2431dffc525ece8ad3a49f2abcfc790ba and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/6c9af2431dffc525ece8ad3a49f2abcfc790ba differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/76799a9cef8f0fab31216cbf902f44e4b15a41 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/76799a9cef8f0fab31216cbf902f44e4b15a41 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/848d88da16c6c3043598996bd89b63dbed7d92 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/848d88da16c6c3043598996bd89b63dbed7d92 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/92b70ef218be1105ec043618c0bbd660dfe9b2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/92b70ef218be1105ec043618c0bbd660dfe9b2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/abead881a1178a638beda567f89ae39de8bc9c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/abead881a1178a638beda567f89ae39de8bc9c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0a/e56c808fbd30bac375e4ba9115a01be648389a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0a/e56c808fbd30bac375e4ba9115a01be648389a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0b/7a161e6a0ef6755a44093512390d38476b5fc1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0b/7a161e6a0ef6755a44093512390d38476b5fc1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0b/9f2ae31c5b631361a95e70ff6f9da6cd880a99 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0b/9f2ae31c5b631361a95e70ff6f9da6cd880a99 differ diff -Nru siril-0.9.10/.git/objects/0b/d598e05b2e1a26f04e6e0afee4c8e9c1d256d6 siril-0.9.11/.git/objects/0b/d598e05b2e1a26f04e6e0afee4c8e9c1d256d6 --- siril-0.9.10/.git/objects/0b/d598e05b2e1a26f04e6e0afee4c8e9c1d256d6 2018-02-19 14:42:29.000000000 +0000 +++ siril-0.9.11/.git/objects/0b/d598e05b2e1a26f04e6e0afee4c8e9c1d256d6 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xAN!E]sڛ!PMc jęTBO/z??WHC[5"V0a 9D)#gsgmKqu6N9D50%969.xZCwɭ~ ;gʟhݛc[; V<d}ߝ%2lgoo4?+V \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0b/e05d1a675e0dcf71776b45693044e4a1fbb3f7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0b/e05d1a675e0dcf71776b45693044e4a1fbb3f7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0b/e859aabd6cc11fd19dc75dee0aa34cdbf40c47 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0b/e859aabd6cc11fd19dc75dee0aa34cdbf40c47 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0c/001c6381f5875d8996ac16008d0d04c5fbb91a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0c/001c6381f5875d8996ac16008d0d04c5fbb91a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0c/0bdd7effd3883d02efdcb9a8aa2a755f133d28 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0c/0bdd7effd3883d02efdcb9a8aa2a755f133d28 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0c/a3bf66ef1950b3e4ada7c3d0f87dd82b12d0b2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0c/a3bf66ef1950b3e4ada7c3d0f87dd82b12d0b2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0c/ad6ab5711efd7184d60c18381498e2bfc9618a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0c/ad6ab5711efd7184d60c18381498e2bfc9618a differ diff -Nru siril-0.9.10/.git/objects/0c/ddc6d54aeb430b428fb7395bb483b083aa9362 siril-0.9.11/.git/objects/0c/ddc6d54aeb430b428fb7395bb483b083aa9362 --- siril-0.9.10/.git/objects/0c/ddc6d54aeb430b428fb7395bb483b083aa9362 2016-08-30 08:59:55.000000000 +0000 +++ siril-0.9.11/.git/objects/0c/ddc6d54aeb430b428fb7395bb483b083aa9362 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xOKJ1tS8I@Dpfn~tAOoF.GUvTw"8MbĢ bR1Y&d Ί+vyI %Hk88%x Y 5gxwZF۩YGw%}}#i# z]V+z38 %/] \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0d/33a5e7d1660f6c4f09b5b6892a98269a9457e7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0d/33a5e7d1660f6c4f09b5b6892a98269a9457e7 differ diff -Nru siril-0.9.10/.git/objects/0d/6598a1a80602a771f92b4d2b24b17b78936a51 siril-0.9.11/.git/objects/0d/6598a1a80602a771f92b4d2b24b17b78936a51 --- siril-0.9.10/.git/objects/0d/6598a1a80602a771f92b4d2b24b17b78936a51 2017-10-29 12:50:48.000000000 +0000 +++ siril-0.9.11/.git/objects/0d/6598a1a80602a771f92b4d2b24b17b78936a51 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xeMk@{)il%\ -ADi,MVwnX~WC(<2+tz1z9io'^26­JH7;RTjo& Boka0XA82V~N8IxDM X.po7a I<+XN]/r5-%3ҭZ -ڣxNzSEU 6:hÇENcly \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0d/a4c45822e6f978298a7878b45dbf510ba9fe14 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0d/a4c45822e6f978298a7878b45dbf510ba9fe14 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0e/2458677d3a5067961d38b6f6fe3762bbed6a78 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0e/2458677d3a5067961d38b6f6fe3762bbed6a78 differ diff -Nru siril-0.9.10/.git/objects/0e/336217a03007406e39bcd511c89aabfedcd9fa siril-0.9.11/.git/objects/0e/336217a03007406e39bcd511c89aabfedcd9fa --- siril-0.9.10/.git/objects/0e/336217a03007406e39bcd511c89aabfedcd9fa 2017-09-18 14:29:40.000000000 +0000 +++ siril-0.9.11/.git/objects/0e/336217a03007406e39bcd511c89aabfedcd9fa 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xMJ@](韪nAz0ӳF |>t_ץЛNБ2c6v\Y WiurJE|d88VC50%¿~9T($w`9"Y^҄< > ޾  -O|'?r1R<8nwkɦ3e`ŦED^ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0e/681e35d815c22a8d7f39eef7ffa1b315a782ba and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0e/681e35d815c22a8d7f39eef7ffa1b315a782ba differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0e/c621da665cde2bd49563fc8024dceef92456e1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0e/c621da665cde2bd49563fc8024dceef92456e1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0e/f50ea0e38067926d23256fc108e6f458bb12fd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0e/f50ea0e38067926d23256fc108e6f458bb12fd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0f/16bef69a8da17368e9b4f0abf303df3ad89a48 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0f/16bef69a8da17368e9b4f0abf303df3ad89a48 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0f/1913ec47cc5175ae1ee3aa5550dc82c76349e6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0f/1913ec47cc5175ae1ee3aa5550dc82c76349e6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0f/233164f15997897da1b73f8fe3f95a0afa9e09 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0f/233164f15997897da1b73f8fe3f95a0afa9e09 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/0f/411b0ffd5fa2fcc0584984d27015c48c522d06 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/0f/411b0ffd5fa2fcc0584984d27015c48c522d06 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/10/08d23d0fd297e645ffe6f228734e01a587660e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/10/08d23d0fd297e645ffe6f228734e01a587660e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/10/da1fe2f295e822f09ff5154bf0c5966299feae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/10/da1fe2f295e822f09ff5154bf0c5966299feae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/11/c41e3ffad1f82cbee88368c2bda0f14216d739 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/11/c41e3ffad1f82cbee88368c2bda0f14216d739 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/12/03b1b3f382cd120b7fcf42bd37e0874061b1ae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/12/03b1b3f382cd120b7fcf42bd37e0874061b1ae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/12/c6b6a0fa307ae3b503a71edca5f5b8a5deb68d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/12/c6b6a0fa307ae3b503a71edca5f5b8a5deb68d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/12/f9a80384ba5ec97b033d9bc4e696483574d890 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/12/f9a80384ba5ec97b033d9bc4e696483574d890 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/13/0178620205c7feddc1fa0dbc8bc799fff409a9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/13/0178620205c7feddc1fa0dbc8bc799fff409a9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/13/3b2b3774ada296186d923979b1c2af797cbd2f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/13/3b2b3774ada296186d923979b1c2af797cbd2f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/13/4e90dc408e62727305590cd1cefd8eec7e48ec and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/13/4e90dc408e62727305590cd1cefd8eec7e48ec differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/13/8f39a7b1fa836e7e1bfd7106eb86ce651e7f35 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/13/8f39a7b1fa836e7e1bfd7106eb86ce651e7f35 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/13/aa70d3163e58e97c0e3d2d63af956c49155fdb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/13/aa70d3163e58e97c0e3d2d63af956c49155fdb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/14/69a7645ec878f048eca74f0debc291d84c29bb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/14/69a7645ec878f048eca74f0debc291d84c29bb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/14/7ce9ea02e29f5f8e55a976cc6f448958a8c53b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/14/7ce9ea02e29f5f8e55a976cc6f448958a8c53b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/14/d31f31ac469629bd98e2de65b10d6d7af4d9ee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/14/d31f31ac469629bd98e2de65b10d6d7af4d9ee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/14/f60b5440b4bb23c1090b4212fab201870c8679 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/14/f60b5440b4bb23c1090b4212fab201870c8679 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/15/e80ba1eea1423570c77eee447511871f9cd516 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/15/e80ba1eea1423570c77eee447511871f9cd516 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/15/e8a0ca3167f28daf9c37e45714ed303b479e43 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/15/e8a0ca3167f28daf9c37e45714ed303b479e43 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/16/24f9491a92242bce7fbd263937af5f81730fbd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/16/24f9491a92242bce7fbd263937af5f81730fbd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/16/cb75532df8a2c1b629b8b8bb65b3b1df18b9e6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/16/cb75532df8a2c1b629b8b8bb65b3b1df18b9e6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/16/d367e5fc0840996aebf57029feb00c16c17302 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/16/d367e5fc0840996aebf57029feb00c16c17302 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/16/fd80998029192825c9fcec2dd5e306765b3c7f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/16/fd80998029192825c9fcec2dd5e306765b3c7f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/0ab2fffdd6a9e32418ab0130bca9e11f02fec6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/0ab2fffdd6a9e32418ab0130bca9e11f02fec6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/204f51342b905d2a225f56f523205005d8ab3e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/204f51342b905d2a225f56f523205005d8ab3e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/49036f75427877004caf4729eeb9ca4f685212 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/49036f75427877004caf4729eeb9ca4f685212 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/4c2f83afb8b23a3af7458357a509009dfb51db and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/4c2f83afb8b23a3af7458357a509009dfb51db differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/9422ff9f77af13b209a6b17c7cc0da3050ad8f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/9422ff9f77af13b209a6b17c7cc0da3050ad8f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/a4cffd323f7b2c25fee237b2080f70fcc0ccdb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/a4cffd323f7b2c25fee237b2080f70fcc0ccdb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/b5a850e3a0e4e1d92f3bc1844a7eb5d73d44b5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/b5a850e3a0e4e1d92f3bc1844a7eb5d73d44b5 differ diff -Nru siril-0.9.10/.git/objects/17/d83d1c350d2769907782b2161da4cd0e773e31 siril-0.9.11/.git/objects/17/d83d1c350d2769907782b2161da4cd0e773e31 --- siril-0.9.10/.git/objects/17/d83d1c350d2769907782b2161da4cd0e773e31 2016-04-06 10:19:06.000000000 +0000 +++ siril-0.9.11/.git/objects/17/d83d1c350d2769907782b2161da4cd0e773e31 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xAn0 {+tˡh@J$EE;j;PC E?^v./}eL1W!s2C0FT2&ͶJIa$0fk)XI* -ϯ |e!1yZ1@<ѯ{sӖ/Kv>~y7;O!{0sTƇOkdӫ;5ܲ^ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/e7483cc43992358a89c90052cb5f214cba5299 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/e7483cc43992358a89c90052cb5f214cba5299 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/17/e8151ece903fec95d93a0ad08a097940ac8e38 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/17/e8151ece903fec95d93a0ad08a097940ac8e38 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/3500ffc97c7974d317da84336e90887c371a07 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/3500ffc97c7974d317da84336e90887c371a07 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/81c2285c2e3cfdec15f0a0e667db78dc5592a3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/81c2285c2e3cfdec15f0a0e667db78dc5592a3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/9955a15c5f09dd02449aee1deb2eb717ea5050 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/9955a15c5f09dd02449aee1deb2eb717ea5050 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/9bf8065fd5bda2e4ecb5b757c6bdaa238cdc05 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/9bf8065fd5bda2e4ecb5b757c6bdaa238cdc05 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/b37677d2832d9d8944d94c35231940b2dc2cee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/b37677d2832d9d8944d94c35231940b2dc2cee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/bfb5789799d5597ae9c46b40761d9d80740abe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/bfb5789799d5597ae9c46b40761d9d80740abe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/18/fbea2ace4b43496ca45c8d078d5b9b0961ffcb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/18/fbea2ace4b43496ca45c8d078d5b9b0961ffcb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/19/30b03bea59bd21a0d6a2281e304c485bed8502 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/19/30b03bea59bd21a0d6a2281e304c485bed8502 differ diff -Nru siril-0.9.10/.git/objects/1a/438422219928d39358620fe91d29620602e8d6 siril-0.9.11/.git/objects/1a/438422219928d39358620fe91d29620602e8d6 --- siril-0.9.10/.git/objects/1a/438422219928d39358620fe91d29620602e8d6 2019-01-15 10:39:43.000000000 +0000 +++ siril-0.9.11/.git/objects/1a/438422219928d39358620fe91d29620602e8d6 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xM -0a9I2I' Ll[.w2Mcpת'd%VOz鵳P(w`Vk27Bc1!.iABhcHTz^mX*\u|u! GPt|f^Ȼ@aj&ۚSy@MR \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1a/795649cfef1e260084417aca7621da7d725401 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1a/795649cfef1e260084417aca7621da7d725401 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1a/994ac6d89baff58cb2db632fcf9131750a10b2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1a/994ac6d89baff58cb2db632fcf9131750a10b2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1b/5984b52f98ed19c1640029f69a4e8492ebd7b8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1b/5984b52f98ed19c1640029f69a4e8492ebd7b8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1b/d7ca4da84ccc66fb40805825096d181a904d1d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1b/d7ca4da84ccc66fb40805825096d181a904d1d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1c/0c791e012bc89dc85e2aed634f49352ba6a76d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1c/0c791e012bc89dc85e2aed634f49352ba6a76d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1c/9ab5a17c3c879eff50624b939602712564eeae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1c/9ab5a17c3c879eff50624b939602712564eeae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1c/ed990ccdd37dfed35f5a097f83ccabb754a302 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1c/ed990ccdd37dfed35f5a097f83ccabb754a302 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/1fd6b06d7c40c195d0088b870bf8c532164b8e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/1fd6b06d7c40c195d0088b870bf8c532164b8e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/39ec4b356ab7e1c57475f85e2320485051dde2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/39ec4b356ab7e1c57475f85e2320485051dde2 differ diff -Nru siril-0.9.10/.git/objects/1d/59b61abad4fe83637ec9592476345cc4f8f47e siril-0.9.11/.git/objects/1d/59b61abad4fe83637ec9592476345cc4f8f47e --- siril-0.9.10/.git/objects/1d/59b61abad4fe83637ec9592476345cc4f8f47e 2017-03-16 10:02:09.000000000 +0000 +++ siril-0.9.11/.git/objects/1d/59b61abad4fe83637ec9592476345cc4f8f47e 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xPJ1_1 t)ZԲ"<v;lLBZ{*e2pR,[2݇mw$M \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/789fa7ab70afd2e2eb99925ef8a0eae7f21f49 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/789fa7ab70afd2e2eb99925ef8a0eae7f21f49 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/8e98bcee23a0421e4fafe9a6c9ac75180cff25 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/8e98bcee23a0421e4fafe9a6c9ac75180cff25 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/ee9dd0e525d44b0a396d67663a3efb8d047dcc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/ee9dd0e525d44b0a396d67663a3efb8d047dcc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1d/f821b8db0a7b3320bf14445871ce91d665f7ea and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1d/f821b8db0a7b3320bf14445871ce91d665f7ea differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1e/97d029970c5402b3dc1c7e1db9201ada3066d9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1e/97d029970c5402b3dc1c7e1db9201ada3066d9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1f/02b3922a25b62901f703962fa281ae253cb095 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1f/02b3922a25b62901f703962fa281ae253cb095 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1f/1c123a2992256c708ed37945900972336d635d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1f/1c123a2992256c708ed37945900972336d635d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1f/3a8af614ac3a10026c5e6226c6026606989339 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1f/3a8af614ac3a10026c5e6226c6026606989339 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1f/3fbda84c77437b2ab93e4e106ffb368fb1a1c0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1f/3fbda84c77437b2ab93e4e106ffb368fb1a1c0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/1f/f35ac7d5b03ec115190781e2e6a13cb0e4f4e8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/1f/f35ac7d5b03ec115190781e2e6a13cb0e4f4e8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/20/803aef4f4f9b8c0b4b921b66606870a3614fe5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/20/803aef4f4f9b8c0b4b921b66606870a3614fe5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/20/828f0d12ba6426a34bdfed08a93a0cb1b1918f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/20/828f0d12ba6426a34bdfed08a93a0cb1b1918f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/20/ad3635eae398c97f9cee70d937cd44782a18cd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/20/ad3635eae398c97f9cee70d937cd44782a18cd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/21/635640694b29d09f959b4231b0c6c2c65b1d2a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/21/635640694b29d09f959b4231b0c6c2c65b1d2a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/21/79d5e77cf1078c4089c5a4c59d187c49b96478 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/21/79d5e77cf1078c4089c5a4c59d187c49b96478 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/21/a017343e98cedb305f903cd8e81761d0689ac1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/21/a017343e98cedb305f903cd8e81761d0689ac1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/22/470d633c8dbd9167835e5a2e6aeed0add573c0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/22/470d633c8dbd9167835e5a2e6aeed0add573c0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/22/79e93ed0182b25fd8029ab2998a05c85407820 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/22/79e93ed0182b25fd8029ab2998a05c85407820 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/22/bee78e79471a9c70394d2d590a2ea21b1f9434 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/22/bee78e79471a9c70394d2d590a2ea21b1f9434 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/22/e9efc40e792aa4219991e9660b1508805c593e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/22/e9efc40e792aa4219991e9660b1508805c593e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/23/2e6875539dbc70689063774aed118b0596f333 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/23/2e6875539dbc70689063774aed118b0596f333 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/24/4e10d44c2173ffb41b57776606d10c5c62e899 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/24/4e10d44c2173ffb41b57776606d10c5c62e899 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/24/69efcc40856aa34d996935e11d0e9259f3c9fe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/24/69efcc40856aa34d996935e11d0e9259f3c9fe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/24/718f14fd476623b63ca1411497463889467eae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/24/718f14fd476623b63ca1411497463889467eae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/25/286200279774499195fb02dbe1967a97cab136 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/25/286200279774499195fb02dbe1967a97cab136 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/26/7709318be0c8958348e8ab4cb54e6a642f52ac and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/26/7709318be0c8958348e8ab4cb54e6a642f52ac differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/26/a49f9536d4968aad2f803ea62fef67b5f4e339 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/26/a49f9536d4968aad2f803ea62fef67b5f4e339 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/26/f94f746fd88591148e47ce7b0a1550e50888ee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/26/f94f746fd88591148e47ce7b0a1550e50888ee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/27/bb8fe9553d7894c723c9702066cf0f99411931 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/27/bb8fe9553d7894c723c9702066cf0f99411931 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/27/ea087035f657fdeed6169e7d12ac3f93dd6f13 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/27/ea087035f657fdeed6169e7d12ac3f93dd6f13 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/27/ef48512b63f1c54d3b00dd75a3578de8ae0a4d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/27/ef48512b63f1c54d3b00dd75a3578de8ae0a4d differ diff -Nru siril-0.9.10/.git/objects/28/c98f80816039ebe9e646053c1dd4b1892be053 siril-0.9.11/.git/objects/28/c98f80816039ebe9e646053c1dd4b1892be053 --- siril-0.9.10/.git/objects/28/c98f80816039ebe9e646053c1dd4b1892be053 2017-09-18 21:04:02.000000000 +0000 +++ siril-0.9.11/.git/objects/28/c98f80816039ebe9e646053c1dd4b1892be053 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xJ1=)Q:= ًoI:;gdQ<UU "1J1OlEWʂZ^yx?K6Gr@FxD)ջ@N%CxWF/_Q \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/28/eb9310428d7e36286bebd05b0844e0910deff2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/28/eb9310428d7e36286bebd05b0844e0910deff2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/29/12e386087e1074b906cbee6efb9920473b68e6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/29/12e386087e1074b906cbee6efb9920473b68e6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/29/1be80706a854cb21df39508834ff288d6a0741 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/29/1be80706a854cb21df39508834ff288d6a0741 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/29/930c76a7f491b9d1d1231fc00d8b8f5f9b32f5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/29/930c76a7f491b9d1d1231fc00d8b8f5f9b32f5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/29/a33e76423035b7b02399f41ed5c5aa60f7b18e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/29/a33e76423035b7b02399f41ed5c5aa60f7b18e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/29/efec9044048b61412bcd5685aac74b2e83820f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/29/efec9044048b61412bcd5685aac74b2e83820f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/130241d26b5a0cfb0c63be79120d7d8559f17b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/130241d26b5a0cfb0c63be79120d7d8559f17b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/2bac1911c80e0c971fb97583e95e43c07c6bc8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/2bac1911c80e0c971fb97583e95e43c07c6bc8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/3b749163384cb2dedc3648521f0518edd3f9b7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/3b749163384cb2dedc3648521f0518edd3f9b7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/c64a8fc4f88ed8f3d1ee4dae98d5401f0d9ae9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/c64a8fc4f88ed8f3d1ee4dae98d5401f0d9ae9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/d63e43c6a45bffff6278ea32f8cf30b64d0990 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/d63e43c6a45bffff6278ea32f8cf30b64d0990 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/2b/dfb8135782c3bd47d2ff22ccfcf4215410bfb8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/2b/dfb8135782c3bd47d2ff22ccfcf4215410bfb8 differ diff -Nru siril-0.9.10/.git/objects/2c/26bef9ac34b24e2ddbf942fb42570e1dc297e2 siril-0.9.11/.git/objects/2c/26bef9ac34b24e2ddbf942fb42570e1dc297e2 --- siril-0.9.10/.git/objects/2c/26bef9ac34b24e2ddbf942fb42570e1dc297e2 2018-06-07 07:37:25.000000000 +0000 +++ siril-0.9.11/.git/objects/2c/26bef9ac34b24e2ddbf942fb42570e1dc297e2 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xQN0|^ҨR/p@=#@B\];QY-KdvՒC2Y';:4Ϩz#Ad7X@j[W&q.svIxI轋I{:eؒ#-E!Ŵwj|Nk~"_h00V[շ0fs$#Q՗<>,0PZVR%r̍g"o=h)D==bj|1A7F̓t@XfuTdU-.;~$%]8 2_Oӫ#|Lbc@mS򩫸-x~ @A ޞ}x5Q>=" b^OYn>h6 \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/34/25e8c33b6c09e6bc268b362a7bba4c9ea83083 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/34/25e8c33b6c09e6bc268b362a7bba4c9ea83083 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/34/31f37c15ee56b64f23d9963467b7c201d271c3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/34/31f37c15ee56b64f23d9963467b7c201d271c3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/34/78dc72e29a221419c47156ab60dd2ff4fefdbe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/34/78dc72e29a221419c47156ab60dd2ff4fefdbe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/34/7f354af9ce61c3d3291716ddf96fd1a62c25f8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/34/7f354af9ce61c3d3291716ddf96fd1a62c25f8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/34/98a8bbe0fc12f4951275bf58de3bdf1fc1ded5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/34/98a8bbe0fc12f4951275bf58de3bdf1fc1ded5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/35/8dde2b724f88151654455850b3279d819fedba and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/35/8dde2b724f88151654455850b3279d819fedba differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/35/dd3cf0b80f892433924dbb599c371f3b6f8743 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/35/dd3cf0b80f892433924dbb599c371f3b6f8743 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/36/a050895f9dfa9d02cff0e2e4a532baf0be7536 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/36/a050895f9dfa9d02cff0e2e4a532baf0be7536 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/36/afd5ce21f7b3b99956be5a9aee2efffe25a30b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/36/afd5ce21f7b3b99956be5a9aee2efffe25a30b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/36/dab315dbce103445839e6198c48093993054ab and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/36/dab315dbce103445839e6198c48093993054ab differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/37/9aa8270c39ec9950f344d24e0c15c529929e5a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/37/9aa8270c39ec9950f344d24e0c15c529929e5a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/37/f9cbe23c6f53a4916bc949b5f10e8d42860e60 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/37/f9cbe23c6f53a4916bc949b5f10e8d42860e60 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/38/002f22d91768a2c083897ee10c356aa7ddc946 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/38/002f22d91768a2c083897ee10c356aa7ddc946 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/38/4eb44c7550227373e59773158435c28050134d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/38/4eb44c7550227373e59773158435c28050134d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/38/538b58ea38ba546a8cae118353906b66eb86af and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/38/538b58ea38ba546a8cae118353906b66eb86af differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/38/642257de7fd6206fd498d35bfc8b70b5026612 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/38/642257de7fd6206fd498d35bfc8b70b5026612 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/38/d7ff550a1059da63479176225abced4e5f27cb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/38/d7ff550a1059da63479176225abced4e5f27cb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/0c98bf9920e9333a3d5d4bbfef60105c24dbf2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/0c98bf9920e9333a3d5d4bbfef60105c24dbf2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/3d9d5e3deff1d01317135b443943a232e29077 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/3d9d5e3deff1d01317135b443943a232e29077 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/402d0f79fefee255702a4378c6af6fae0b1724 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/402d0f79fefee255702a4378c6af6fae0b1724 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/8cff5e6ab4d73ba92ac8ff30d0e6c8150d15e3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/8cff5e6ab4d73ba92ac8ff30d0e6c8150d15e3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/a261e2f3b1356e3412921b40998af2a8a263dc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/a261e2f3b1356e3412921b40998af2a8a263dc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/39/abe6268a96dca530a73595f33238c10f7d593b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/39/abe6268a96dca530a73595f33238c10f7d593b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3a/2783388599733015e51f3dfe7829ccffe8cf2d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3a/2783388599733015e51f3dfe7829ccffe8cf2d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3a/340fc41385c37b26f61d75901da24e0ea15620 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3a/340fc41385c37b26f61d75901da24e0ea15620 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3a/6f06fa5459108405ea4001a10994e9e0ca5a27 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3a/6f06fa5459108405ea4001a10994e9e0ca5a27 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3b/98619c3793f540a33bc5546f50c04bffbcedaf and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3b/98619c3793f540a33bc5546f50c04bffbcedaf differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3b/b4406c37bb7b472910aadc4e690f57ef629c1d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3b/b4406c37bb7b472910aadc4e690f57ef629c1d differ diff -Nru siril-0.9.10/.git/objects/3b/dbe1b87275cb5f7a56b7100b87c98ee3c1712d siril-0.9.11/.git/objects/3b/dbe1b87275cb5f7a56b7100b87c98ee3c1712d --- siril-0.9.10/.git/objects/3b/dbe1b87275cb5f7a56b7100b87c98ee3c1712d 2016-09-06 19:44:45.000000000 +0000 +++ siril-0.9.11/.git/objects/3b/dbe1b87275cb5f7a56b7100b87c98ee3c1712d 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xeʽ - ^EHҿ%z](&xxhErs~d2*U蠨%LdwyӨ\}jƶ]znJ)xe6 \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3c/0d3fa427ba74e02221d89fa249b79c756f84ca and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3c/0d3fa427ba74e02221d89fa249b79c756f84ca differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3c/9571eb3cacfec03decaace631614788843406b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3c/9571eb3cacfec03decaace631614788843406b differ diff -Nru siril-0.9.10/.git/objects/3c/c9d26e19d4bab50fdeb723061988a38381abd4 siril-0.9.11/.git/objects/3c/c9d26e19d4bab50fdeb723061988a38381abd4 --- siril-0.9.10/.git/objects/3c/c9d26e19d4bab50fdeb723061988a38381abd4 2016-04-12 13:17:17.000000000 +0000 +++ siril-0.9.11/.git/objects/3c/c9d26e19d4bab50fdeb723061988a38381abd4 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xPKJ1tS-G~ADpt:=p&Yx{ V].up&&VSqMB01Y$.r>&K&qQ7jr [4XM"0%exlpHo -<7}.7:Cg[runO`|>D&Vk?uzFp9oc*/oOe) \ No newline at end of file diff -Nru siril-0.9.10/.git/objects/3d/31acd22932563bd47672ec392bdb26df0c8031 siril-0.9.11/.git/objects/3d/31acd22932563bd47672ec392bdb26df0c8031 --- siril-0.9.10/.git/objects/3d/31acd22932563bd47672ec392bdb26df0c8031 2018-01-29 15:09:46.000000000 +0000 +++ siril-0.9.11/.git/objects/3d/31acd22932563bd47672ec392bdb26df0c8031 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xAN!E]s  C'h7.iۋUCҺXΉ!DY%iÍ3K)!Ma+B!\R\g ;s~eC_z>Gg /[$?ѩ?q} xq>Ѣ,U79v78SNt.C&%tW \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3d/3b82187296ece2814a5f927ed30498a0b56c78 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3d/3b82187296ece2814a5f927ed30498a0b56c78 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3d/49118e0165fe5bd660bb0a646a3771c49b286a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3d/49118e0165fe5bd660bb0a646a3771c49b286a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3d/a86398922a3608829ab8279ef65c25868e86e9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3d/a86398922a3608829ab8279ef65c25868e86e9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3d/d48f8066e29703cecbc839719b0d78e0093f58 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3d/d48f8066e29703cecbc839719b0d78e0093f58 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3e/851b2b005c50af2f5fc0119c6577b7063db780 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3e/851b2b005c50af2f5fc0119c6577b7063db780 differ diff -Nru siril-0.9.10/.git/objects/3e/90424291e91d22b18eb0b0b746ba7cb658a24c siril-0.9.11/.git/objects/3e/90424291e91d22b18eb0b0b746ba7cb658a24c --- siril-0.9.10/.git/objects/3e/90424291e91d22b18eb0b0b746ba7cb658a24c 2016-04-11 08:01:04.000000000 +0000 +++ siril-0.9.11/.git/objects/3e/90424291e91d22b18eb0b0b746ba7cb658a24c 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xAN0EYj3!Ě 7qbAqܞ ͓hVE HT.VN hVcwUx LD8FKW;Zhq & -*D҄.}ЎGa/m)^j_'x7|ve/P.u.*TABM,.kϘM,_{J9-}o:߰o㇟e|V.ty \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/3247b7086e0730ea9f70e3e2b600af71255838 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/3247b7086e0730ea9f70e3e2b600af71255838 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/4bf3a9c34704879b6483dfc8060e5ce6c7fb73 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/4bf3a9c34704879b6483dfc8060e5ce6c7fb73 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/6abbfe02792281d29aebeb61fe4b4314d2cd72 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/6abbfe02792281d29aebeb61fe4b4314d2cd72 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/ca28ae69e93f35c02d4be3f43a3f4816ab6e28 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/ca28ae69e93f35c02d4be3f43a3f4816ab6e28 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/f78314a2b214d67fa3cb9ed4d1c2d336a1fe28 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/f78314a2b214d67fa3cb9ed4d1c2d336a1fe28 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/3f/fc82fede6460d19e746e59bbc16e06becb587c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/3f/fc82fede6460d19e746e59bbc16e06becb587c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/40/b0d1189118720d39307b41a981ca5470c7898f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/40/b0d1189118720d39307b41a981ca5470c7898f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/2126add9c719a3c95ec8e7db78ba5fb97e585d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/2126add9c719a3c95ec8e7db78ba5fb97e585d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/22ed90ef231fb9eef040307e2df77ee192b840 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/22ed90ef231fb9eef040307e2df77ee192b840 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/735447b87699f433360f4e26022b38f51d8dc7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/735447b87699f433360f4e26022b38f51d8dc7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/9a695a343f263e8462dfe24ad449ccdeaed650 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/9a695a343f263e8462dfe24ad449ccdeaed650 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/a2e1b3e5397d0ea61b0fff83ec6a43b7260f5f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/a2e1b3e5397d0ea61b0fff83ec6a43b7260f5f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/41/dc12f435b79d209d80723c8f22c31ce6bf92ea and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/41/dc12f435b79d209d80723c8f22c31ce6bf92ea differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/42/34e51db9be0c071e7f0c40a31935698787e64b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/42/34e51db9be0c071e7f0c40a31935698787e64b differ diff -Nru siril-0.9.10/.git/objects/42/b24d381c3e0f790dbf86297a381bd1623a633f siril-0.9.11/.git/objects/42/b24d381c3e0f790dbf86297a381bd1623a633f --- siril-0.9.10/.git/objects/42/b24d381c3e0f790dbf86297a381bd1623a633f 2016-08-29 11:13:49.000000000 +0000 +++ siril-0.9.11/.git/objects/42/b24d381c3e0f790dbf86297a381bd1623a633f 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xuNJ0uk.hZ| Z3DpW2tL&V(8V-^%%$p X_SA~q`mլyQ\7\mD`Հsh|Z/O~&i>l gYO~rZSN*h^^aotNЊm*zpH[ 4O}rhʚdx&Z \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/42/e92a993d6e1bae79fe319174b0455d31e71078 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/42/e92a993d6e1bae79fe319174b0455d31e71078 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/43/8f481aeee190f7395cf2dc98dd84688bbd5526 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/43/8f481aeee190f7395cf2dc98dd84688bbd5526 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/43/ba5f8bda7c345cd553127e442cfcfaa1a959ee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/43/ba5f8bda7c345cd553127e442cfcfaa1a959ee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/43/bc925a57841d81a7702ade7088d9041b2695cf and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/43/bc925a57841d81a7702ade7088d9041b2695cf differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/44/90c33816c2deac3bebec23ee90c213ce01ad07 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/44/90c33816c2deac3bebec23ee90c213ce01ad07 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/44/9bd08b10e2007b54699698802b2cf068420cdc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/44/9bd08b10e2007b54699698802b2cf068420cdc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/45/0d1fdde1f56de4a05b53beef5caf296e13476b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/45/0d1fdde1f56de4a05b53beef5caf296e13476b differ diff -Nru siril-0.9.10/.git/objects/45/4172df629966dd2ac07f06f46be8d5d4e28639 siril-0.9.11/.git/objects/45/4172df629966dd2ac07f06f46be8d5d4e28639 --- siril-0.9.10/.git/objects/45/4172df629966dd2ac07f06f46be8d5d4e28639 2018-06-07 07:49:03.000000000 +0000 +++ siril-0.9.11/.git/objects/45/4172df629966dd2ac07f06f46be8d5d4e28639 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -x]J0F}*]i~pdrh?8I]> -2,tCȓnaPnL=#ٹ!h2:,2I5Zb } >[Y-]~{/|V_k{wˮ͹'e{@Xx\=W¦_pW^yW \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/45/60b48c7d2a3e76d4be5d9dc27ea57fbe65db04 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/45/60b48c7d2a3e76d4be5d9dc27ea57fbe65db04 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/45/c03c46e5927271054459a0e1ad12cf4bbfdb4a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/45/c03c46e5927271054459a0e1ad12cf4bbfdb4a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/46/0be6ad4677c632f2277d2c146a3158a2a0574e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/46/0be6ad4677c632f2277d2c146a3158a2a0574e differ diff -Nru siril-0.9.10/.git/objects/46/6a9771d2007b2269e855f4ad2820b0321b2a6e siril-0.9.11/.git/objects/46/6a9771d2007b2269e855f4ad2820b0321b2a6e --- siril-0.9.10/.git/objects/46/6a9771d2007b2269e855f4ad2820b0321b2a6e 2018-01-31 08:26:24.000000000 +0000 +++ siril-0.9.11/.git/objects/46/6a9771d2007b2269e855f4ad2820b0321b2a6e 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xA -@ P9Ň^^Aufog0e=e[3~02NЏVl2uKQxTUڂOmE3>+.4aItb0ȯT_' \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/46/ed2f7f1fb7388e367625682e80c821866ac655 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/46/ed2f7f1fb7388e367625682e80c821866ac655 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/46/fb1bc74991e780e7b2f61d6c1682190b887df3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/46/fb1bc74991e780e7b2f61d6c1682190b887df3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/47/c58bfa2ddb4b72ea910670ac6984b7a460a005 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/47/c58bfa2ddb4b72ea910670ac6984b7a460a005 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/47/efb290429c457434b1fbc00dc3166d97a8d16c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/47/efb290429c457434b1fbc00dc3166d97a8d16c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/48/247f9a558391fb6284dc5e973eed2f05ea577b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/48/247f9a558391fb6284dc5e973eed2f05ea577b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/48/9351f43cd559f159f79becfdd50913d5023b61 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/48/9351f43cd559f159f79becfdd50913d5023b61 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/48/f832775b181f3788c46b9be18f0c5471fcdf26 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/48/f832775b181f3788c46b9be18f0c5471fcdf26 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/5ebe660124467433e61ee26b068369b7890c54 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/5ebe660124467433e61ee26b068369b7890c54 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/a8981d1c1be91ada9e59dd453ee2c4e93b743d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/a8981d1c1be91ada9e59dd453ee2c4e93b743d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/a8d41281f4310a3cf819fa3a4f6e4048f323ac and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/a8d41281f4310a3cf819fa3a4f6e4048f323ac differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/bddde37c75ac936fc9dbb6e1f7a9e70440c552 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/bddde37c75ac936fc9dbb6e1f7a9e70440c552 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/de780192f869dd8c2c329b719d609c17d17fd0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/de780192f869dd8c2c329b719d609c17d17fd0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/49/e5ba58ef79d03c910a45d325abff2e29376a34 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/49/e5ba58ef79d03c910a45d325abff2e29376a34 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4a/46d924c7f94b0162ed7d33fd3a8f23ac849df0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4a/46d924c7f94b0162ed7d33fd3a8f23ac849df0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4a/88824b8d8c791afd7589eb324f4c70cc4c2225 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4a/88824b8d8c791afd7589eb324f4c70cc4c2225 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4a/de83f9ffdfb2e324a9ccdbc4e589bc2ce5cc73 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4a/de83f9ffdfb2e324a9ccdbc4e589bc2ce5cc73 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4a/ec30cbbb55da623545fbd65b01b6fa118086ac and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4a/ec30cbbb55da623545fbd65b01b6fa118086ac differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4c/516b049f322fbb635b17c2c8f5b7ace47fc73d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4c/516b049f322fbb635b17c2c8f5b7ace47fc73d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4c/748bbb54b4f342c263886165f479e0cc63b642 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4c/748bbb54b4f342c263886165f479e0cc63b642 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4c/c8187ed84a27f6ec066c9f243397110dd06624 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4c/c8187ed84a27f6ec066c9f243397110dd06624 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4c/c8abe90a193548f5f7441104eb1004cc14a529 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4c/c8abe90a193548f5f7441104eb1004cc14a529 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4c/ed94ce422a38c30ed070ba8de8ffb592a736c8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4c/ed94ce422a38c30ed070ba8de8ffb592a736c8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4d/c1ff76f53018b6643d81c9aab60b8ed4041533 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4d/c1ff76f53018b6643d81c9aab60b8ed4041533 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4d/fd116687022ee9acc1fbe99459a80914c36462 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4d/fd116687022ee9acc1fbe99459a80914c36462 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/5b8105d8c8bd6c8f49deefd86e40ed32fa4ef2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/5b8105d8c8bd6c8f49deefd86e40ed32fa4ef2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/63bb5298af4c9a4d8764706f20ef352f2b020c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/63bb5298af4c9a4d8764706f20ef352f2b020c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/818f233e10fd4c61e8ae0a5cdea5377e0f6b50 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/818f233e10fd4c61e8ae0a5cdea5377e0f6b50 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/90704ad5e0c93d918626d49760618483f0c074 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/90704ad5e0c93d918626d49760618483f0c074 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/957e7e26921bb73e4c26204beeaa2a5de0ea39 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/957e7e26921bb73e4c26204beeaa2a5de0ea39 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/4e/afbe7c3b7f609927e993cfbfba967326340ca9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/4e/afbe7c3b7f609927e993cfbfba967326340ca9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/50/21aa4125b78ea6b27aa4577c95fa819f09d0b8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/50/21aa4125b78ea6b27aa4577c95fa819f09d0b8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/50/31575d9554f24a6c1592c72e667807f9c1f919 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/50/31575d9554f24a6c1592c72e667807f9c1f919 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/50/46514f6fd212a31b28c4f86cf7fcea379edaf8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/50/46514f6fd212a31b28c4f86cf7fcea379edaf8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/50/4bba1228669a93a7e1c343a04d2ff7d48937b1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/50/4bba1228669a93a7e1c343a04d2ff7d48937b1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/50/e1f40e45da31f2a3bd34bf0110a15c9b3ac6b8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/50/e1f40e45da31f2a3bd34bf0110a15c9b3ac6b8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/51/17e2382f7e18df236e7fff0b11dc463b8d2eec and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/51/17e2382f7e18df236e7fff0b11dc463b8d2eec differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/51/b0afab481f08b38c70ed57f695fe2fc4a240d8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/51/b0afab481f08b38c70ed57f695fe2fc4a240d8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/53/8de64433b87e2a37fa25a81f4d644b4516be32 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/53/8de64433b87e2a37fa25a81f4d644b4516be32 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/53/8de8aceac5975dcddf3ccb92edf45f777df93c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/53/8de8aceac5975dcddf3ccb92edf45f777df93c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/53/ab686eea9cdbb88206ec2be2e30a2f2c52e81a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/53/ab686eea9cdbb88206ec2be2e30a2f2c52e81a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/53/ceb427e3116b72779a197e3a3803a6309021f4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/53/ceb427e3116b72779a197e3a3803a6309021f4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/53/d9dc29117a261056a867bb4896e1d89b92c369 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/53/d9dc29117a261056a867bb4896e1d89b92c369 differ diff -Nru siril-0.9.10/.git/objects/54/49fc42f9988e29903c32346b0ff6ba6659c707 siril-0.9.11/.git/objects/54/49fc42f9988e29903c32346b0ff6ba6659c707 --- siril-0.9.10/.git/objects/54/49fc42f9988e29903c32346b0ff6ba6659c707 2017-06-20 12:26:17.000000000 +0000 +++ siril-0.9.11/.git/objects/54/49fc42f9988e29903c32346b0ff6ba6659c707 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xu_K0}~ } 0=(-^| -i6)-Xn*c9/m3@me6ܰdu+/+IN,\џ|ynVe"k4&S64w4jl?gLRQ|"(I^L~^aɣqK?P&r6Gc$G \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/54/af416d9230352311322c819b96c5682e27c1d1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/54/af416d9230352311322c819b96c5682e27c1d1 differ diff -Nru siril-0.9.10/.git/objects/54/fa549bde88f904bfe9644c3043333847e719e8 siril-0.9.11/.git/objects/54/fa549bde88f904bfe9644c3043333847e719e8 --- siril-0.9.10/.git/objects/54/fa549bde88f904bfe9644c3043333847e719e8 2016-04-12 13:40:11.000000000 +0000 +++ siril-0.9.11/.git/objects/54/fa549bde88f904bfe9644c3043333847e719e8 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xKj0)z?dnAn ڶ`,4!+dUKo<3 E5$))uEDB&Gh\:"'CtrIgm%B٢NH ڀd1TT4$g#qUf>7xl;-2s+(h^xy?ڴO^k{tސG3ϸ^M -&3\yXo c \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/66/b48cc9794266c1aade1aa1db82d5381788f874 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/66/b48cc9794266c1aade1aa1db82d5381788f874 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/67/33db2908e02e8b55b2dab2c19e9089b2ac9c51 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/67/33db2908e02e8b55b2dab2c19e9089b2ac9c51 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/67/a6a3b6961a7c5bcc9618840b4a667b3e141986 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/67/a6a3b6961a7c5bcc9618840b4a667b3e141986 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/67/e5e6327df3184b7a373c532111c3413265e389 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/67/e5e6327df3184b7a373c532111c3413265e389 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/67/f554afaa2def0f922d6d1369f778df68978289 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/67/f554afaa2def0f922d6d1369f778df68978289 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/68/14623c87a014bf178bd7c73160a266926a04b7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/68/14623c87a014bf178bd7c73160a266926a04b7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/68/1f91f453b0c5ad619187ad09208e8493635611 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/68/1f91f453b0c5ad619187ad09208e8493635611 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/68/91450d3eb13c0835dd6351a6fa54097dd73fea and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/68/91450d3eb13c0835dd6351a6fa54097dd73fea differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/68/94d551193899389c06ff51def374b2d6af3dff and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/68/94d551193899389c06ff51def374b2d6af3dff differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/68/cb3a8f729c38fb3b8a6e73a7ee11f9c5193479 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/68/cb3a8f729c38fb3b8a6e73a7ee11f9c5193479 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/69/116d6abf493077105f996fcdb4a84f416db132 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/69/116d6abf493077105f996fcdb4a84f416db132 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/69/d398bbd7eb054655ef58742b97aa027e5b1dd7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/69/d398bbd7eb054655ef58742b97aa027e5b1dd7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/6a/7978a601d7bff0dc1494fb1b24e575d67c2e5b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/6a/7978a601d7bff0dc1494fb1b24e575d67c2e5b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/6a/d7fe03d941acde697cb253f0fd88c526ef9f90 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/6a/d7fe03d941acde697cb253f0fd88c526ef9f90 differ diff -Nru siril-0.9.10/.git/objects/6b/fcc3b28e7c60d44d996477a88c666db2116e83 siril-0.9.11/.git/objects/6b/fcc3b28e7c60d44d996477a88c666db2116e83 --- siril-0.9.10/.git/objects/6b/fcc3b28e7c60d44d996477a88c666db2116e83 2017-10-27 12:43:16.000000000 +0000 +++ siril-0.9.11/.git/objects/6b/fcc3b28e7c60d44d996477a88c666db2116e83 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xAnC!C/UQ 7`hQC{ےetk s9ƅQSəqӫq2@ dYoh#1MvM Y9Fǵv#|&Fo@ AH*^cmZ &Mx]*D \"۴=2AZ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/6c/00e09394cedfd49fdfe13ed28d9b1340fbec27 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/6c/00e09394cedfd49fdfe13ed28d9b1340fbec27 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/6c/d627fa84ae2fd5e72cefe68cea07525fe97261 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/6c/d627fa84ae2fd5e72cefe68cea07525fe97261 differ diff -Nru siril-0.9.10/.git/objects/6c/f9490f8bf7dfb1353c05b90f462c7a53489b9d siril-0.9.11/.git/objects/6c/f9490f8bf7dfb1353c05b90f462c7a53489b9d --- siril-0.9.10/.git/objects/6c/f9490f8bf7dfb1353c05b90f462c7a53489b9d 2018-02-02 14:02:45.000000000 +0000 +++ siril-0.9.11/.git/objects/6c/f9490f8bf7dfb1353c05b90f462c7a53489b9d 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xKJ1@]: *趛L9˷x' s Pr& 5A(2bm>߷Z_|O ENQMR -я-0Oh;q^oWƓ79\1 \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/6f/88b16aba5904d05324b48a299a2e028364f771 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/6f/88b16aba5904d05324b48a299a2e028364f771 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/70/b65ca01eca7f94dd4b328a6c883093751d440e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/70/b65ca01eca7f94dd4b328a6c883093751d440e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/70/d46c0316fdc32d435be5066837ca4451c6fe61 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/70/d46c0316fdc32d435be5066837ca4451c6fe61 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/71/b49c985c51315924b3fbdbd88f1841cc3ddb48 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/71/b49c985c51315924b3fbdbd88f1841cc3ddb48 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/71/c4d6cf266cee9b0d795c8d7d825f446f101811 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/71/c4d6cf266cee9b0d795c8d7d825f446f101811 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/5777fcbd51d6c1555f6919f6b930e251709abe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/5777fcbd51d6c1555f6919f6b930e251709abe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/906c9df17ca6894fa6b9519de67b9350e6c0b1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/906c9df17ca6894fa6b9519de67b9350e6c0b1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/c7ebc7892ab0394366f04556d0064b875e3b95 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/c7ebc7892ab0394366f04556d0064b875e3b95 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/cea4fa76b45c4940e5415f61af9325f11be0a5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/cea4fa76b45c4940e5415f61af9325f11be0a5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/f2e12273bab1f565497760e756b65bac10c74a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/f2e12273bab1f565497760e756b65bac10c74a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/72/fb8ac76706ef6c71e120ab7ba16ef28b404c1a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/72/fb8ac76706ef6c71e120ab7ba16ef28b404c1a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/73/74808d2f6ab12676912415e814c3d9c851f886 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/73/74808d2f6ab12676912415e814c3d9c851f886 differ diff -Nru siril-0.9.10/.git/objects/73/bc3f516fab97dee806420b9be405a52f533b55 siril-0.9.11/.git/objects/73/bc3f516fab97dee806420b9be405a52f533b55 --- siril-0.9.10/.git/objects/73/bc3f516fab97dee806420b9be405a52f533b55 2018-06-07 06:49:12.000000000 +0000 +++ siril-0.9.11/.git/objects/73/bc3f516fab97dee806420b9be405a52f533b55 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -xOAJ1<DLNNpfl?ࡠ -*׵ FW"^=1r(i&%+w`R_j-RєDZUuN! -{Gń1H.d -`'e'|4YxZO|} zg\G'}5]E!wdzt)'hءhnM+`) \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/73/bdfaeb5e6e295de84c0373569bf0be945e70ea and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/73/bdfaeb5e6e295de84c0373569bf0be945e70ea differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/74/07cfb2f79495a84695d19e0e1ec0b8e6e19394 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/74/07cfb2f79495a84695d19e0e1ec0b8e6e19394 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/74/205fea1e2ef909fb858dd5df2f5bd62f26a152 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/74/205fea1e2ef909fb858dd5df2f5bd62f26a152 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/75/0274728f534b5c28d2febac29f14bfa42dc3a2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/75/0274728f534b5c28d2febac29f14bfa42dc3a2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/75/5aced3693fb7e804e4f85f21dc8873b7859d06 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/75/5aced3693fb7e804e4f85f21dc8873b7859d06 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/75/e1ef730a8e0f55c3295618a1b7e46da257bfbe and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/75/e1ef730a8e0f55c3295618a1b7e46da257bfbe differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/76/6b1767dc6de57195a50b04975f82613b527abd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/76/6b1767dc6de57195a50b04975f82613b527abd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/76/b1e37649bc6525401ce126a1ea212b8ec5f965 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/76/b1e37649bc6525401ce126a1ea212b8ec5f965 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/77/0a4a94bbb631e385a535069b594668fb171522 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/77/0a4a94bbb631e385a535069b594668fb171522 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/77/61fe8de4593f013741547efbdf0ba805075fef and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/77/61fe8de4593f013741547efbdf0ba805075fef differ diff -Nru siril-0.9.10/.git/objects/77/7e091fc616da5f0ebfd98f80b7cd28c749831b siril-0.9.11/.git/objects/77/7e091fc616da5f0ebfd98f80b7cd28c749831b --- siril-0.9.10/.git/objects/77/7e091fc616da5f0ebfd98f80b7cd28c749831b 2017-07-01 14:32:10.000000000 +0000 +++ siril-0.9.11/.git/objects/77/7e091fc616da5f0ebfd98f80b7cd28c749831b 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xAN1 EY#3qtFju=#y:KS,-i)L1SGcKkݥ h̜HƐK=D\6޿u?[/;ƽTy<#.^ww4 AkMKϳ^Q6 \ No newline at end of file diff -Nru siril-0.9.10/.git/objects/78/956d0004ec839f3622a00573b5ee6a3ca4e0fd siril-0.9.11/.git/objects/78/956d0004ec839f3622a00573b5ee6a3ca4e0fd --- siril-0.9.10/.git/objects/78/956d0004ec839f3622a00573b5ee6a3ca4e0fd 2017-06-20 12:20:38.000000000 +0000 +++ siril-0.9.11/.git/objects/78/956d0004ec839f3622a00573b5ee6a3ca4e0fd 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xA -0Ps@A +7DMӆdEGsf֏fh1t]޺XLˬ9=YQFPKZ|'YaRvNT\D+!B${+ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/78/c6b37b4d6eea1d6db41ebb31f38f31092619da and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/78/c6b37b4d6eea1d6db41ebb31f38f31092619da differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/78/d92a5526ce70e318e5d51b4e993960be8ded4d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/78/d92a5526ce70e318e5d51b4e993960be8ded4d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/79/288dc1c9801184e7ec391d8732fe99ac2f69d3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/79/288dc1c9801184e7ec391d8732fe99ac2f69d3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/79/2a156eb9dfebdd3275bec54f48ae7e48e3f1ca and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/79/2a156eb9dfebdd3275bec54f48ae7e48e3f1ca differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/79/4cbaecfef59f1715fabb943282115783e1003a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/79/4cbaecfef59f1715fabb943282115783e1003a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7a/08eb0887b53a7a761f3a2bcf1b9e8f53428191 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7a/08eb0887b53a7a761f3a2bcf1b9e8f53428191 differ diff -Nru siril-0.9.10/.git/objects/7a/fdbae7205cb592b7bc16b4ac6324b0f47ade9e siril-0.9.11/.git/objects/7a/fdbae7205cb592b7bc16b4ac6324b0f47ade9e --- siril-0.9.10/.git/objects/7a/fdbae7205cb592b7bc16b4ac6324b0f47ade9e 2016-04-13 07:01:28.000000000 +0000 +++ siril-0.9.11/.git/objects/7a/fdbae7205cb592b7bc16b4ac6324b0f47ade9e 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xKj1D)zo~`LVf-19)]}Y03B*`9'6LTLcEȋ ^'Xd1!(1U1fW@^Ey }8;ݟS:^Y("~{?j?_ -$ sM \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7b/36c25dbda5d2c25c01651a642e113b7dd408ab and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7b/36c25dbda5d2c25c01651a642e113b7dd408ab differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7b/e33e7b2f112b68bdf54929e9b66af2768027ad and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7b/e33e7b2f112b68bdf54929e9b66af2768027ad differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7c/41b4f597dec891f35972a75f2795ba2b8519c5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7c/41b4f597dec891f35972a75f2795ba2b8519c5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7c/6bb6b172a18a05a1787752d815821ba132589f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7c/6bb6b172a18a05a1787752d815821ba132589f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7c/9b68cc6813a0ee63a4f2d0a448fdd2dff2d7cb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7c/9b68cc6813a0ee63a4f2d0a448fdd2dff2d7cb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7c/cdf8d99ee926633ba98986b04ad9cf5422b922 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7c/cdf8d99ee926633ba98986b04ad9cf5422b922 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7d/4d2a9ba6222db7823723ed539b524a4e34aa52 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7d/4d2a9ba6222db7823723ed539b524a4e34aa52 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7d/55e0f84f7ba26109a6afccea5d1b32070a3c89 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7d/55e0f84f7ba26109a6afccea5d1b32070a3c89 differ diff -Nru siril-0.9.10/.git/objects/7d/95a3ea87b47d5c203a63c7030d33cafe2a6d67 siril-0.9.11/.git/objects/7d/95a3ea87b47d5c203a63c7030d33cafe2a6d67 --- siril-0.9.10/.git/objects/7d/95a3ea87b47d5c203a63c7030d33cafe2a6d67 2016-08-30 06:10:30.000000000 +0000 +++ siril-0.9.11/.git/objects/7d/95a3ea87b47d5c203a63c7030d33cafe2a6d67 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xMn1 )G$ U˞m$&rJo.K5X̬y4XĨXR >Sf0EIٟfĊ2PD!~_{:,R?j==gmC/qG]yCӜ#(?dz1֛)]* \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7d/ba86e46898c702b331944c8800488b1aa89141 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7d/ba86e46898c702b331944c8800488b1aa89141 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7e/2401d0b2c1748112618e7e18bf2187d544c711 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7e/2401d0b2c1748112618e7e18bf2187d544c711 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7e/2e9c0247c239c74b7253d058faea5ee39e3c80 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7e/2e9c0247c239c74b7253d058faea5ee39e3c80 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7e/47e6dc1affd2fdaa28ff2a68d76a9aabb224fa and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7e/47e6dc1affd2fdaa28ff2a68d76a9aabb224fa differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7e/59468f6f671ed87e26002075018cccdab439db and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7e/59468f6f671ed87e26002075018cccdab439db differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7e/ec4e012b5a1fa5b6f279be4e57ea7b92f037a3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7e/ec4e012b5a1fa5b6f279be4e57ea7b92f037a3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/11c26ccef5a45493e6278df26350548fa9e3a8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/11c26ccef5a45493e6278df26350548fa9e3a8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/218e6dbb06dbbed178558a7d9eba9c98ec32d5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/218e6dbb06dbbed178558a7d9eba9c98ec32d5 differ diff -Nru siril-0.9.10/.git/objects/7f/27132183cf3374ece7f5094283a9bfc9eb3a74 siril-0.9.11/.git/objects/7f/27132183cf3374ece7f5094283a9bfc9eb3a74 --- siril-0.9.10/.git/objects/7f/27132183cf3374ece7f5094283a9bfc9eb3a74 2016-04-11 07:50:30.000000000 +0000 +++ siril-0.9.11/.git/objects/7f/27132183cf3374ece7f5094283a9bfc9eb3a74 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xKN1YGmH!qntb#Lrz/m9J笏X"'R((Ш+&@u8WVbkKܖ%}EuhCxFc,ԨV~`ގü.b໌[MS \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/5e66b3a1ee6eee64b0d03b92e73d368c9801b5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/5e66b3a1ee6eee64b0d03b92e73d368c9801b5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/628695a60bb47a6f7bd9fbfe2100afea23796c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/628695a60bb47a6f7bd9fbfe2100afea23796c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/b2b247fa85db59a4e16cf3628c04c6b456a8ab and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/b2b247fa85db59a4e16cf3628c04c6b456a8ab differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/7f/fb7d36f8e2f6aa0062466801ef5245c7c7f579 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/7f/fb7d36f8e2f6aa0062466801ef5245c7c7f579 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/80/aaa3b321ef06db6c6808299db1df30c302cc67 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/80/aaa3b321ef06db6c6808299db1df30c302cc67 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/80/bb0e56608e5c248179798af356392741df6c04 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/80/bb0e56608e5c248179798af356392741df6c04 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/81/6db4dc3b1c9f63fc7678de258bb4e1d5a37f6b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/81/6db4dc3b1c9f63fc7678de258bb4e1d5a37f6b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/81/9338e0f42f1f4cfcc338a59b90e6785e7806fd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/81/9338e0f42f1f4cfcc338a59b90e6785e7806fd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/81/e12e4a9788394cf04ebe3dcb09dc4b5e2cee32 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/81/e12e4a9788394cf04ebe3dcb09dc4b5e2cee32 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/82/01bd33dc8895748331c228d7b0946ef9b90371 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/82/01bd33dc8895748331c228d7b0946ef9b90371 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/82/478649ffbad3ec8a442d999da9046adb9a2b66 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/82/478649ffbad3ec8a442d999da9046adb9a2b66 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/82/6eb66c6f87bf46b330b034f048c6584bd0147e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/82/6eb66c6f87bf46b330b034f048c6584bd0147e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/82/b87cc39802015e6f1a53373e6ca4cfa52fd5ee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/82/b87cc39802015e6f1a53373e6ca4cfa52fd5ee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/82/c796fdb338fd1e9becf60397fb930a4ca72376 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/82/c796fdb338fd1e9becf60397fb930a4ca72376 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/83/d28eefdfcf417ff476a45934caf623e86d2eb5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/83/d28eefdfcf417ff476a45934caf623e86d2eb5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/83/d4115491a382254bea705653a5b1fe68d69d52 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/83/d4115491a382254bea705653a5b1fe68d69d52 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/2bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/2bfbe1ce6b381f0cfd7fbbc2fa36f848270e00 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/428a831650c3e00d42eb2b95ad23b607054364 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/428a831650c3e00d42eb2b95ad23b607054364 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/468fb5c953526233ba23fc465e915561e91d86 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/468fb5c953526233ba23fc465e915561e91d86 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/5ef7bd9e9eeb65938e7d8bd7f7cc5176c4e719 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/5ef7bd9e9eeb65938e7d8bd7f7cc5176c4e719 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/6b0fa9a5589bf642bc013beba299d14be5eead and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/6b0fa9a5589bf642bc013beba299d14be5eead differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/84/8d710866da34a08c052552fe0efc4a8c487670 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/84/8d710866da34a08c052552fe0efc4a8c487670 differ diff -Nru siril-0.9.10/.git/objects/84/f9c1db82962adcf915edf4be9f25e1b5d6b5e3 siril-0.9.11/.git/objects/84/f9c1db82962adcf915edf4be9f25e1b5d6b5e3 --- siril-0.9.10/.git/objects/84/f9c1db82962adcf915edf4be9f25e1b5d6b5e3 2017-10-29 12:52:41.000000000 +0000 +++ siril-0.9.11/.git/objects/84/f9c1db82962adcf915edf4be9f25e1b5d6b5e3 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xKj0)zZܒ `n 34s89B(t_׹Q QzkF\T묄o#ldTyBPco .m/tyy묷T2}/~Mg-V|8 b s +W,2lΨTMAgH<V \ No newline at end of file diff -Nru siril-0.9.10/.git/objects/85/2068415cfc4152c9e57dd37330fad974504f2a siril-0.9.11/.git/objects/85/2068415cfc4152c9e57dd37330fad974504f2a --- siril-0.9.10/.git/objects/85/2068415cfc4152c9e57dd37330fad974504f2a 2016-09-06 19:45:32.000000000 +0000 +++ siril-0.9.11/.git/objects/85/2068415cfc4152c9e57dd37330fad974504f2a 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xAj0E)f_hfZR -An0H Pz:9BXt 7zK lAuL9+{j)ea/B2CFf%o6ii0)fv#}&D]3s^> F} R,M3>;G魾vt#o5Yӫo*W_q\nP \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/85/5f86ad0d6131d47b6561146912cdce3f252060 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/85/5f86ad0d6131d47b6561146912cdce3f252060 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/85/abb759af10b9ff4005c312bc52417c119b1644 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/85/abb759af10b9ff4005c312bc52417c119b1644 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/85/c1f42b5ccb4a227f5a0581a3f4b2eca8ee69ed and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/85/c1f42b5ccb4a227f5a0581a3f4b2eca8ee69ed differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/85/d079063a5aa5aca79f0029ab10d7f3cbe301e0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/85/d079063a5aa5aca79f0029ab10d7f3cbe301e0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/85/f7ca217593b05379726fe457f33a15b790ba18 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/85/f7ca217593b05379726fe457f33a15b790ba18 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/0d6ea50568ab76d4dcc048eb56020a66278ff0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/0d6ea50568ab76d4dcc048eb56020a66278ff0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/272f16bc8ace43139aed956a368894b6e03fe2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/272f16bc8ace43139aed956a368894b6e03fe2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/36517c54e73ebc7071aa9c8045c4f598335318 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/36517c54e73ebc7071aa9c8045c4f598335318 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/68c817e0e251964c8b344ce9a82d51b780d92c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/68c817e0e251964c8b344ce9a82d51b780d92c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/77ebc7da79d530df21b2c4043927876e231a82 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/77ebc7da79d530df21b2c4043927876e231a82 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/c99536c571dae166bfae0d54ddf5ac46270482 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/c99536c571dae166bfae0d54ddf5ac46270482 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/87/e025ecd25ede73b97020b429f047f83d5a60ce and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/87/e025ecd25ede73b97020b429f047f83d5a60ce differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/88/5b2f4dbfd838f8237ce86c44e6f89907cf039f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/88/5b2f4dbfd838f8237ce86c44e6f89907cf039f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/88/77015de0a391a17f80ab5bfba15624fa7cd2ed and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/88/77015de0a391a17f80ab5bfba15624fa7cd2ed differ diff -Nru siril-0.9.10/.git/objects/88/84ecb2c08d51b507791b6cc3600f2a66bf4619 siril-0.9.11/.git/objects/88/84ecb2c08d51b507791b6cc3600f2a66bf4619 --- siril-0.9.10/.git/objects/88/84ecb2c08d51b507791b6cc3600f2a66bf4619 2018-06-07 07:37:25.000000000 +0000 +++ siril-0.9.11/.git/objects/88/84ecb2c08d51b507791b6cc3600f2a66bf4619 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -xVo6kW͋kM҇@Q2mʆJ:$R%w,Mf}󻣒B'ۋNe2"~&7@*8RE{jg)X+E[NV:c:S;,e6[=7OAl6(V<Րd#ShYȦlhf*ET]ɔ_ 8Q8q/WpFt}eM:37s?o0x'47r}{78! g|1BkG:_>M82d* -ZDDfAil8vx."8I~1-̧wo~à&7?F>`tGt:-˝7--=k,|Aw.KaKe|a+a 1cܻdgg LB8Xnt[!}k2iBlXUJ[~T T^CԠp(l_J'`ιk*^5"ʋDd0X0|+aN(е-68cl/y$Rf/+4a[X Mz+\e)vchqDUCHsJ=`Gv -CP|- õڄx '8i5.d8W`r77~/RagºxHwT% ZS@zdr4B½DJ$Fh溹lnP(cQ}mrђX(xAQjd~8~5p" !P|*{RXoPj,<_B&:ݮZ%N3_K] Yu/a, |۰Zz8cqr]!Z>q, \hi8.KJC5(˰倵}j][p Mۂq;4T[j=JM]mZ;UJ2ϴ_8g>S_ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/88/98e920e02eed1b7a6e21ed59c5f34b5bb1f5c7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/88/98e920e02eed1b7a6e21ed59c5f34b5bb1f5c7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/88/a634d68d280ff17ce1a32792d56d25cf8913de and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/88/a634d68d280ff17ce1a32792d56d25cf8913de differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/89/385b36b5e393a19b50dd64acabdfa014c26515 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/89/385b36b5e393a19b50dd64acabdfa014c26515 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/89/40cd8c50656f11e3a18203cf6066ab1bcdceff and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/89/40cd8c50656f11e3a18203cf6066ab1bcdceff differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/89/71b346584dce00f6e1fbcf7cee1345acfb1056 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/89/71b346584dce00f6e1fbcf7cee1345acfb1056 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/89/a37c5345b83f6f6197ac8ae3ad2e3df0ffe19a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/89/a37c5345b83f6f6197ac8ae3ad2e3df0ffe19a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/89/c6fedef4505e48ec351acee736ce6b3dac0566 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/89/c6fedef4505e48ec351acee736ce6b3dac0566 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8a/195ad2ff22a12c25d82f9394de1c7a80bba4d2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8a/195ad2ff22a12c25d82f9394de1c7a80bba4d2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8a/7e8874c126691c6ab6776127b21562b234dcbb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8a/7e8874c126691c6ab6776127b21562b234dcbb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8a/f5441db79a6f86083422652424ad51eb360800 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8a/f5441db79a6f86083422652424ad51eb360800 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8b/2d904202a5a2d4ca745d130604a9ad9f980acf and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8b/2d904202a5a2d4ca745d130604a9ad9f980acf differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8b/365227694dca868c9be83c7b8c538f182ed22c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8b/365227694dca868c9be83c7b8c538f182ed22c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8b/f01cd963dc331096b31c5a9b1a04030d4a7618 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8b/f01cd963dc331096b31c5a9b1a04030d4a7618 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8d/52d53a89eaa4dafc32217c6d7161e2214df7f6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8d/52d53a89eaa4dafc32217c6d7161e2214df7f6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8d/6530e588373a28765825d29b1dddb376c92137 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8d/6530e588373a28765825d29b1dddb376c92137 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/8d/69a2961483c58c033b998fb1e3193ab815167b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/8d/69a2961483c58c033b998fb1e3193ab815167b differ diff -Nru siril-0.9.10/.git/objects/8d/f1270d5702ffdd6e39732cefe60eae4a14504d siril-0.9.11/.git/objects/8d/f1270d5702ffdd6e39732cefe60eae4a14504d --- siril-0.9.10/.git/objects/8d/f1270d5702ffdd6e39732cefe60eae4a14504d 2018-01-31 08:26:24.000000000 +0000 +++ siril-0.9.11/.git/objects/8d/f1270d5702ffdd6e39732cefe60eae4a14504d 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xV]o0uMBhi2qvM.oQ=~Rͳ`<>ݝ?gY2B1_ _\e$M-XjEL*O0$֙OrD+bREjz,9ʥ*' ZRW;4mړc>9KT5QYΤ&Eg -/=-q &;#hetmYa<hK\;Ȓp>^no>~Y\\yAZd?r`Jpi/8'踧5l< 3tRR5Y8vޓgH/2Lu+d,j[/"RjTafC`@2SqІD1* lSoB (+,˲_z董kVXGϰwJa.847pT+`hDl&JtD8өWRnD98C,:hzJF ܐ _P-#d%u#QjPxe5S:DX4h0+(yM1p^y><Ȭ\TQlV6p!ez)R)ZXi[GC -:;5aDsnq{y *&26ZX3a]t4mdtkD*3(=Ç=P>y3Q NM@dݢe NwmP#)ws]*#3 RFxrh_ۮ^*:b6h!n;^~xUP \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/90/c6b0846bb93ae2f707508f88076fdda7d250e2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/90/c6b0846bb93ae2f707508f88076fdda7d250e2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/90/c76d708c492a30ec5046db170a456b333b036a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/90/c76d708c492a30ec5046db170a456b333b036a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/90/eef4363a9958a9e55208b3ae1545c0274db488 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/90/eef4363a9958a9e55208b3ae1545c0274db488 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/91/2ad13c1cfe1aed87d0812d17021547a836695e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/91/2ad13c1cfe1aed87d0812d17021547a836695e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/91/ddbb75f90f6cc6a3fefb9513ec5d5bb7769598 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/91/ddbb75f90f6cc6a3fefb9513ec5d5bb7769598 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/91/e5eb8b9da26dcdc94db6a03f9924d7ee0f13d9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/91/e5eb8b9da26dcdc94db6a03f9924d7ee0f13d9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/92/0a1b14b1b99248010964548d0b2c870d6dbdf7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/92/0a1b14b1b99248010964548d0b2c870d6dbdf7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/92/69f8ddd7dc79e144d6524073742203d208af26 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/92/69f8ddd7dc79e144d6524073742203d208af26 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/93/07d778f86338520d14cc7cd27044d369d5f47a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/93/07d778f86338520d14cc7cd27044d369d5f47a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/93/3977be63032756fe940f565b001087bfb03671 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/93/3977be63032756fe940f565b001087bfb03671 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/93/3feb18de3a32c4d8978dc5d79c9e7b1525a8dc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/93/3feb18de3a32c4d8978dc5d79c9e7b1525a8dc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/93/aba88fec6600ed2a72b222d37e62ba70da5448 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/93/aba88fec6600ed2a72b222d37e62ba70da5448 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/94/1364f0bf2cfe1d218ac9dcc6fe38d9b9bbb7b4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/94/1364f0bf2cfe1d218ac9dcc6fe38d9b9bbb7b4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/94/4685a9c9eb6d68954462caaf638e60cde8166f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/94/4685a9c9eb6d68954462caaf638e60cde8166f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/94/a5f02412437ff46dce5c48661d1a1c15013221 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/94/a5f02412437ff46dce5c48661d1a1c15013221 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/94/b6b03316ad9685b7a639b52890da13b32d74e0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/94/b6b03316ad9685b7a639b52890da13b32d74e0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/94/fd577b2b514b8bf1e0ef4a8d75b0f955ee2cec and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/94/fd577b2b514b8bf1e0ef4a8d75b0f955ee2cec differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/95/5dec9d2a7d9f7fdedb0a8ae1df7d4b0623cfec and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/95/5dec9d2a7d9f7fdedb0a8ae1df7d4b0623cfec differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/95/82746b62a0ca35b37f7d26f742a500381668ef and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/95/82746b62a0ca35b37f7d26f742a500381668ef differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/95/cf006bc0910f590323960492bf3f7a337e939b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/95/cf006bc0910f590323960492bf3f7a337e939b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/96/0a2e14976f675e5724d4edfa83360bb55c9e94 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/96/0a2e14976f675e5724d4edfa83360bb55c9e94 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/96/1ebb56d6e9e5020fab7fb0032d5a33f110f91a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/96/1ebb56d6e9e5020fab7fb0032d5a33f110f91a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/96/76d88be07801090f082c93054279426e75c6a9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/96/76d88be07801090f082c93054279426e75c6a9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/96/c4778eea9dbec932559dbd89528158bfb81fcb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/96/c4778eea9dbec932559dbd89528158bfb81fcb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/96/f98ae4095bc03285ecac3630efa24ee3d6df2d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/96/f98ae4095bc03285ecac3630efa24ee3d6df2d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/97/a9fc95ac26f1b57b9675b408c920a73520e6ae and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/97/a9fc95ac26f1b57b9675b408c920a73520e6ae differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/97/fd569c608c731be6e49c343685000846730ea0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/97/fd569c608c731be6e49c343685000846730ea0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/98/1a1266c332c48026b1d9ee6782fbb5bcecb182 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/98/1a1266c332c48026b1d9ee6782fbb5bcecb182 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/99/183ef1b4fe1a3714c6137b4b2991493f22fc30 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/99/183ef1b4fe1a3714c6137b4b2991493f22fc30 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/99/3bb8bfd54f7005679ed5649641f2cc6765d1f3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/99/3bb8bfd54f7005679ed5649641f2cc6765d1f3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/99/bad2ac41f788a45b752995c4e6a7836afe4158 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/99/bad2ac41f788a45b752995c4e6a7836afe4158 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9a/0726cf75249e5365fb4678751eed87b9fa2620 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9a/0726cf75249e5365fb4678751eed87b9fa2620 differ diff -Nru siril-0.9.10/.git/objects/9a/2a7177d5eb6c90dff208f1f2d0796ac7b08593 siril-0.9.11/.git/objects/9a/2a7177d5eb6c90dff208f1f2d0796ac7b08593 --- siril-0.9.10/.git/objects/9a/2a7177d5eb6c90dff208f1f2d0796ac7b08593 2017-06-20 12:20:38.000000000 +0000 +++ siril-0.9.11/.git/objects/9a/2a7177d5eb6c90dff208f1f2d0796ac7b08593 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xuTM@ _ai/pjs ș88qvT{n(5}|s_9H YF -G$rԁ)ѰԱ}$'yNq8bM#6ACK`kMSk|$=|??33% o%1Zw_vtd橇.bCC7!rO஀;ɇ Q4} -JX&P/9mmxy=o_6#ۖHr7lU=mgr~滸 ܥJ؊B]sN.}Ov/i2} *rH9%O^icjd6KbY1֘_{ZxCŎtի费t:ՠ -gz)Nsf!=4rI=vTSJ{%+Nr8ssLцqѓ|3TYZ#5Ɯ)-̟k6qW&y- \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9a/c946d48656dc370d7a7966f1488fe0b0cd1da7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9a/c946d48656dc370d7a7966f1488fe0b0cd1da7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9b/010b2f660581ff201bd307505add06c784d058 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9b/010b2f660581ff201bd307505add06c784d058 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9b/4031503cd5d1c51b2672fdb72c85225ad54f16 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9b/4031503cd5d1c51b2672fdb72c85225ad54f16 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9b/ea57ddbcc9f4df4a4b640ca84cd4049d1f4852 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9b/ea57ddbcc9f4df4a4b640ca84cd4049d1f4852 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/0d95388067d3dea72b0b8fdcd2fc34f9526079 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/0d95388067d3dea72b0b8fdcd2fc34f9526079 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/693d0493a6b1e40a4402f4ce892ceb2e21cea1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/693d0493a6b1e40a4402f4ce892ceb2e21cea1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/86c15568e64e70e9e95d64966a900d1a455dc5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/86c15568e64e70e9e95d64966a900d1a455dc5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/9e353b6fa832cd702b6ddaa95b099ac9c27dbb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/9e353b6fa832cd702b6ddaa95b099ac9c27dbb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/b7bef80d30408c805b4d03515210acdd43a33e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/b7bef80d30408c805b4d03515210acdd43a33e differ diff -Nru siril-0.9.10/.git/objects/9c/bac8a0a5cb71d40cfac8fe80d0f5621b22e02e siril-0.9.11/.git/objects/9c/bac8a0a5cb71d40cfac8fe80d0f5621b22e02e --- siril-0.9.10/.git/objects/9c/bac8a0a5cb71d40cfac8fe80d0f5621b22e02e 2018-02-08 13:04:06.000000000 +0000 +++ siril-0.9.11/.git/objects/9c/bac8a0a5cb71d40cfac8fe80d0f5621b22e02e 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xKJ1]%N@D+U);0i23Gp?s`c~V +6j/l'm(ǒ%AԎn"IYK*#hi|%\NhB7&^}| &֊w>wY.p'APNmoMTçWP \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9c/f6734a3e40df20b2e861606c97a54e97878ee8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9c/f6734a3e40df20b2e861606c97a54e97878ee8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9d/09889bc6587f788923305d5eec7433468ee333 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9d/09889bc6587f788923305d5eec7433468ee333 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9d/1f345311b2a7211d17ef83cf32a2da448a684b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9d/1f345311b2a7211d17ef83cf32a2da448a684b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9d/58ab5bc0e534f1d78d7dfaf4f10a12dc00f949 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9d/58ab5bc0e534f1d78d7dfaf4f10a12dc00f949 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9d/71f37ab831526fcecc0fc712116a00053e7004 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9d/71f37ab831526fcecc0fc712116a00053e7004 differ diff -Nru siril-0.9.10/.git/objects/9e/5afee0528b1f3728762d74cbb37e1cc71f64a7 siril-0.9.11/.git/objects/9e/5afee0528b1f3728762d74cbb37e1cc71f64a7 --- siril-0.9.10/.git/objects/9e/5afee0528b1f3728762d74cbb37e1cc71f64a7 2018-06-07 07:37:25.000000000 +0000 +++ siril-0.9.11/.git/objects/9e/5afee0528b1f3728762d74cbb37e1cc71f64a7 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xuP=O0eί8)K20 VH@Ѻ`ؕ} Q],u|v6ЮJW@dRp~P\\v1O/-(52ˠmčR1i4bńp)*ts6 -a}' '~1LliJ^t$Ht}&c^ BL۷ՃƑe8A{,嫚qc \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9e/b1778f6870e55dedb2b4b7048f1dd78fd82bd1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9e/b1778f6870e55dedb2b4b7048f1dd78fd82bd1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/9f/8a47a02f93a8f2c3fc625eff14bc7f6347a44a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/9f/8a47a02f93a8f2c3fc625eff14bc7f6347a44a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a0/04f072d4049d3fe03e2d7415df658fda4ea426 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a0/04f072d4049d3fe03e2d7415df658fda4ea426 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a0/3391616a23d3c93c87a818ff5c951c6fb9ef89 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a0/3391616a23d3c93c87a818ff5c951c6fb9ef89 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a0/8a2b0745e2ab56a85870449f374142d233e710 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a0/8a2b0745e2ab56a85870449f374142d233e710 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a1/10f787e28e68b289e010a594134b2558dd729a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a1/10f787e28e68b289e010a594134b2558dd729a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a1/16be5363c0d5cd90ff3460c1694c34d6dfad54 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a1/16be5363c0d5cd90ff3460c1694c34d6dfad54 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a1/2f90e594846b418f008a56e2be43194323ecd3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a1/2f90e594846b418f008a56e2be43194323ecd3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a2/1cd74b54248af23beadf7599e9c9472c08561d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a2/1cd74b54248af23beadf7599e9c9472c08561d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a2/6f25d649d8c1c8491210c2e3f9f934a51561ab and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a2/6f25d649d8c1c8491210c2e3f9f934a51561ab differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a2/c9980293281eca2a6c1e8fa24a3baf435ae5e3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a2/c9980293281eca2a6c1e8fa24a3baf435ae5e3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/06981712253ac14b2ebda32abfe43ae2748d34 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/06981712253ac14b2ebda32abfe43ae2748d34 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/737672870ae4604e6107c897e4dfddacdba179 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/737672870ae4604e6107c897e4dfddacdba179 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/827464ecbce19443aba54ed8227d36c04f169b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/827464ecbce19443aba54ed8227d36c04f169b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/84279310b924eb5d25d71eb48cda8ca0cf9b47 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/84279310b924eb5d25d71eb48cda8ca0cf9b47 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/91ea945d6e9d5d78e9cc0396daf08cd099dd4b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/91ea945d6e9d5d78e9cc0396daf08cd099dd4b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a3/c71c9bf3889983df84a0140ac751bb05bbf323 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a3/c71c9bf3889983df84a0140ac751bb05bbf323 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a4/1fd54a2d93de83a0f8aabc3e9d154057271f51 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a4/1fd54a2d93de83a0f8aabc3e9d154057271f51 differ diff -Nru siril-0.9.10/.git/objects/a4/2f46364cc286ba780767b108ae936be2bd8ae5 siril-0.9.11/.git/objects/a4/2f46364cc286ba780767b108ae936be2bd8ae5 --- siril-0.9.10/.git/objects/a4/2f46364cc286ba780767b108ae936be2bd8ae5 2018-06-07 07:37:25.000000000 +0000 +++ siril-0.9.11/.git/objects/a4/2f46364cc286ba780767b108ae936be2bd8ae5 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xPN0W&BqUxpvx={y(pw{Rk "J#{!Bt>Vb EH~&6OSC6ïe'ZfG48(qjjETMϠD6p -_U/qd8꓇Owp u֚ݯ҈*T7jM \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a6/a07efef70685ba2133d1f8ce045216884a2afa and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a6/a07efef70685ba2133d1f8ce045216884a2afa differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a7/0979a653d7362b3187a0bd04c956f3d041a0bb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a7/0979a653d7362b3187a0bd04c956f3d041a0bb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a7/10ef72a686a4d89e980eb8fc7b53e6ce7c880e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a7/10ef72a686a4d89e980eb8fc7b53e6ce7c880e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a7/2f30976c00b8019e2dcd05f2c8c515aa895887 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a7/2f30976c00b8019e2dcd05f2c8c515aa895887 differ diff -Nru siril-0.9.10/.git/objects/a7/35b018fc9d252a624d1406ac307abce573ad37 siril-0.9.11/.git/objects/a7/35b018fc9d252a624d1406ac307abce573ad37 --- siril-0.9.10/.git/objects/a7/35b018fc9d252a624d1406ac307abce573ad37 2016-08-29 11:37:35.000000000 +0000 +++ siril-0.9.11/.git/objects/a7/35b018fc9d252a624d1406ac307abce573ad37 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -xQk0ЇQ -{ۂ:؛D6`ұώuTu/ 9;ಀ*BQ0[ -q i5X ^ -)mzJ -A>sqm@i>!YH}=X݂#Lu8tsWN5LAfA&S61b_hYz6ZR{}_M^tޟ ~\a3xN9*0r(NL-{akEKV۽;5RD)Jb4xo81O)<#_AfVʮf+b}iA \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a7/3e9ac51b9a31449ecd9f971dd37e660060cb4a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a7/3e9ac51b9a31449ecd9f971dd37e660060cb4a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a7/f4e342d0251dbb89499d6aea95abf2a8b80609 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a7/f4e342d0251dbb89499d6aea95abf2a8b80609 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a8/561bd3ab081e44e9dbcd891925ef8d246a1321 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a8/561bd3ab081e44e9dbcd891925ef8d246a1321 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a8/b9c97077671791e775d2c51e2d21737f64c83c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a8/b9c97077671791e775d2c51e2d21737f64c83c differ diff -Nru siril-0.9.10/.git/objects/a9/165c80b7ae3e542c97bfbc06fecdb708a81d94 siril-0.9.11/.git/objects/a9/165c80b7ae3e542c97bfbc06fecdb708a81d94 --- siril-0.9.10/.git/objects/a9/165c80b7ae3e542c97bfbc06fecdb708a81d94 2016-08-30 06:10:30.000000000 +0000 +++ siril-0.9.11/.git/objects/a9/165c80b7ae3e542c97bfbc06fecdb708a81d94 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xAk0 wίͧԧ\+lANJ䲶@ߓޓlUUU4;Vzbm1 %`l[];it(4ɞ,AV4ͭY&.t!zzGG~ <̎rmT@{x4 ΫUlakNn1ySG8\&g2q| |5tGx@ . \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/a9/cebe04f1ab178f17b8ca635295639a0ebf4490 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/a9/cebe04f1ab178f17b8ca635295639a0ebf4490 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/aa/d10d9af05a3d171eed7595579b55ab9ea0dfd5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/aa/d10d9af05a3d171eed7595579b55ab9ea0dfd5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ab/39943adf7f804c054cb0d55be27c9b11327a86 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ab/39943adf7f804c054cb0d55be27c9b11327a86 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ac/4af15c7ac2a45dde818e5408a758f08211a8f7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ac/4af15c7ac2a45dde818e5408a758f08211a8f7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ac/69dcc45780fd2a589cf8b5b21704b40d41fea1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ac/69dcc45780fd2a589cf8b5b21704b40d41fea1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ac/c59c08a779632c8e251dd6e793dccec76060fd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ac/c59c08a779632c8e251dd6e793dccec76060fd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ac/dc5c0056aa3daa337a75669ebc1019a13d892a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ac/dc5c0056aa3daa337a75669ebc1019a13d892a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ac/f6d8e835a46218d36ff782ba97e992ec2fd6cb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ac/f6d8e835a46218d36ff782ba97e992ec2fd6cb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ad/3329f671a23be07579697983738643a726a0e1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ad/3329f671a23be07579697983738643a726a0e1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ad/45d6533ed7505294f942f37aea0dc10096f91d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ad/45d6533ed7505294f942f37aea0dc10096f91d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ae/0957bddf11906c5ac52ff6e07235a20ba7083a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ae/0957bddf11906c5ac52ff6e07235a20ba7083a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ae/25a29834220fde29f4dead55fc8aeb67938b33 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ae/25a29834220fde29f4dead55fc8aeb67938b33 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/af/4a391a41f5054c64ecb98c2e2e29fa919bba83 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/af/4a391a41f5054c64ecb98c2e2e29fa919bba83 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/af/b8fe07c7bf6e3ffebde1345459a467c98d351b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/af/b8fe07c7bf6e3ffebde1345459a467c98d351b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/b0/473f12d3fe7becd5d270e042cdfeceb83b834a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/b0/473f12d3fe7becd5d270e042cdfeceb83b834a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/b0/aca0863094bb3db724c24e6e0859cea2f48e2a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/b0/aca0863094bb3db724c24e6e0859cea2f48e2a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/b1/413cae9a88ad84fa1e0ee813c4da54c2d85c19 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/b1/413cae9a88ad84fa1e0ee813c4da54c2d85c19 differ diff -Nru siril-0.9.10/.git/objects/b1/b8e30d0ec21683911997391a0c4574bbdf6f88 siril-0.9.11/.git/objects/b1/b8e30d0ec21683911997391a0c4574bbdf6f88 --- siril-0.9.10/.git/objects/b1/b8e30d0ec21683911997391a0c4574bbdf6f88 2017-09-18 21:03:18.000000000 +0000 +++ siril-0.9.11/.git/objects/b1/b8e30d0ec21683911997391a0c4574bbdf6f88 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xmQn09_9 T(A/պHv񶇞QEr ʊh.K.,=x4+ P~fP 6' -х}T;(amyc/M'1{ԔL|@!0-xpkؑX57͏'c' @g `=A36wOp'y7*N<#WZ՗٧@)9l6T\8zȥ$1_AJu/cR\&(D'q>~/k}w9qlzy]sNau֚ޜp_/И: }=@yaOU4 \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/bf/e8d7b8d39d9c5e4abbaa16ca95935f4adcaed7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/bf/e8d7b8d39d9c5e4abbaa16ca95935f4adcaed7 differ diff -Nru siril-0.9.10/.git/objects/c0/25cbaba4a089ce50547b50e2e63e3c25a38bd2 siril-0.9.11/.git/objects/c0/25cbaba4a089ce50547b50e2e63e3c25a38bd2 --- siril-0.9.10/.git/objects/c0/25cbaba4a089ce50547b50e2e63e3c25a38bd2 2019-01-07 13:33:55.000000000 +0000 +++ siril-0.9.11/.git/objects/c0/25cbaba4a089ce50547b50e2e63e3c25a38bd2 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -x; EQkW -0|%BB0,_j )n^s^(-lxrǐ}J~DWiNicN@y? xQxgUȳjs \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c0/e8acd6e4b2209e270ed22ef562cff60a115eb3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c0/e8acd6e4b2209e270ed22ef562cff60a115eb3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c0/f0e4b5afba347c658af426b56ba207309dc480 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c0/f0e4b5afba347c658af426b56ba207309dc480 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c1/1d73aa6b11eb6d44e7c38d642f88a54bc792a7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c1/1d73aa6b11eb6d44e7c38d642f88a54bc792a7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c1/9a36ec2f59735f93c1751fbeccbe36c436ad3f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c1/9a36ec2f59735f93c1751fbeccbe36c436ad3f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c1/ac16846ff7f50b32d10d644bb06ec87ffd7b95 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c1/ac16846ff7f50b32d10d644bb06ec87ffd7b95 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c2/f260df34e4bd2ae13f1a25b346b894d76d1a18 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c2/f260df34e4bd2ae13f1a25b346b894d76d1a18 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c3/1a7f9e75054506e75f4020b2d644e78590987b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c3/1a7f9e75054506e75f4020b2d644e78590987b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c4/0a150739e15cfb3a0b6aff0138c129cf0f353e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c4/0a150739e15cfb3a0b6aff0138c129cf0f353e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c4/51b8e7c7d7f9ce54e34390e1c2ffe29bd68280 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c4/51b8e7c7d7f9ce54e34390e1c2ffe29bd68280 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c4/928999e2e06a90392732cbf14afccfc90b59cd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c4/928999e2e06a90392732cbf14afccfc90b59cd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c4/95c761ada548822bb66e37565b181445405dca and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c4/95c761ada548822bb66e37565b181445405dca differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/2227bc33d62b1570324a80f10fc1d07311a5ed and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/2227bc33d62b1570324a80f10fc1d07311a5ed differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/6a09d63be98e57d5d29b170d5577824452de86 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/6a09d63be98e57d5d29b170d5577824452de86 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/7ed71905f9e082e45a78beb0425f28f7d6df3d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/7ed71905f9e082e45a78beb0425f28f7d6df3d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/83fedcd1f30069484156cd362c3f6cc9a02a38 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/83fedcd1f30069484156cd362c3f6cc9a02a38 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/cbe2798de1eab500fcc83d11d2af7d6eb42e44 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/cbe2798de1eab500fcc83d11d2af7d6eb42e44 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c5/ce4e49efe65c6a5a6193818109a0d4c2a74a89 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c5/ce4e49efe65c6a5a6193818109a0d4c2a74a89 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c6/02279f8615114a24996cd89ff7b9629ec30ff8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c6/02279f8615114a24996cd89ff7b9629ec30ff8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c6/97fd2fab4731048e918ddc855535c2dcd0c9b5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c6/97fd2fab4731048e918ddc855535c2dcd0c9b5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c6/c2bdf881a837d42e82feababa8a2839a0916b5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c6/c2bdf881a837d42e82feababa8a2839a0916b5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c6/cbc3cef964aa7e0bf00abd1778afca4359a8d0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c6/cbc3cef964aa7e0bf00abd1778afca4359a8d0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c7/9de772bc61f5fbdee4973a17a4ff890c0497fc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c7/9de772bc61f5fbdee4973a17a4ff890c0497fc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c7/c192475f6096e83bce4d8f1ef98209227c7e9a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c7/c192475f6096e83bce4d8f1ef98209227c7e9a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/c7/c51ec55bcad0a304b41fd86d232ef4dc77e7cb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/c7/c51ec55bcad0a304b41fd86d232ef4dc77e7cb differ diff -Nru siril-0.9.10/.git/objects/c8/14028a51af63791442cdcbb2d6306471397168 siril-0.9.11/.git/objects/c8/14028a51af63791442cdcbb2d6306471397168 --- siril-0.9.10/.git/objects/c8/14028a51af63791442cdcbb2d6306471397168 2016-04-06 10:18:28.000000000 +0000 +++ siril-0.9.11/.git/objects/c8/14028a51af63791442cdcbb2d6306471397168 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xKn Dl~RUhh "v :Ie7 -^]Է}ovws0\)!ɲc^$[%#aJ ٰhgJ (A"^WO_CBN[QJ^ bfСKns^FV6}>}\aCƜ k*&ׯx\lp]W~vsC}#_ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d1/7205764541b1d04b25cb49948b84f631baf914 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d1/7205764541b1d04b25cb49948b84f631baf914 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d1/823796b27f7587a11f07c9341efe8607cb966c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d1/823796b27f7587a11f07c9341efe8607cb966c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d2/62c84528e5394c21af30f60eb4b38f705a90e8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d2/62c84528e5394c21af30f60eb4b38f705a90e8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d2/7b9b7072ad49907a75eda5feff7902d1a37294 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d2/7b9b7072ad49907a75eda5feff7902d1a37294 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d2/aef98458a2d6cebfa0fddae1c909c2ee29621c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d2/aef98458a2d6cebfa0fddae1c909c2ee29621c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d2/f95edce72c57df7cfcf196106660b6d2b42490 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d2/f95edce72c57df7cfcf196106660b6d2b42490 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/1025e5ff85f2265af8af50ec679bb05279aee3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/1025e5ff85f2265af8af50ec679bb05279aee3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/4f34485f78dcf211bb5adca398c8eb3f29fad4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/4f34485f78dcf211bb5adca398c8eb3f29fad4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/68245120b900537e54b65c48e431fda73aa237 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/68245120b900537e54b65c48e431fda73aa237 differ diff -Nru siril-0.9.10/.git/objects/d3/985813510b31eb0cfa1fa67e5f1168fcddf857 siril-0.9.11/.git/objects/d3/985813510b31eb0cfa1fa67e5f1168fcddf857 --- siril-0.9.10/.git/objects/d3/985813510b31eb0cfa1fa67e5f1168fcddf857 2017-06-20 12:37:15.000000000 +0000 +++ siril-0.9.11/.git/objects/d3/985813510b31eb0cfa1fa67e5f1168fcddf857 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -x]JC1`y";peL&m-ヮ%x8Suؘd2IM0\\KhRLXRH5NoϦ.E -9V[3ѤEըKۄ9.1fo}enzW0~IZ-/W9v7>Mh$}ҏ 'Zc/,UT \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/f5764819e42376a5865dcdd161775420e4fdc6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/f5764819e42376a5865dcdd161775420e4fdc6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/f6bd99a456094141296cd6d54c15680db396a1 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/f6bd99a456094141296cd6d54c15680db396a1 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d3/fe30abb194d91eedc61f8c3998b5c0a3c1a030 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d3/fe30abb194d91eedc61f8c3998b5c0a3c1a030 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d4/83abdb6b6e26b6c75d5b1df85d650b9709d38b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d4/83abdb6b6e26b6c75d5b1df85d650b9709d38b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d4/a76869c494b849dd8aa814ec8fd674100d7110 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d4/a76869c494b849dd8aa814ec8fd674100d7110 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d4/ba6a857bb0483978545308348a718370324d47 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d4/ba6a857bb0483978545308348a718370324d47 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d5/47cfa7f8614ae4074461d74cd4f13a25425f7b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d5/47cfa7f8614ae4074461d74cd4f13a25425f7b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d5/9446fd2a88a37d61a34789507e993a6b0f737a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d5/9446fd2a88a37d61a34789507e993a6b0f737a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d5/de93486ad1b268712d68ab5aae083825d355df and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d5/de93486ad1b268712d68ab5aae083825d355df differ diff -Nru siril-0.9.10/.git/objects/d6/9c58c8438a09654b77dc71a2aea71af7340b1e siril-0.9.11/.git/objects/d6/9c58c8438a09654b77dc71a2aea71af7340b1e --- siril-0.9.10/.git/objects/d6/9c58c8438a09654b77dc71a2aea71af7340b1e 2018-02-08 13:00:45.000000000 +0000 +++ siril-0.9.11/.git/objects/d6/9c58c8438a09654b77dc71a2aea71af7340b1e 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -xTKo0 YZ44]vˀzWd&*K(; NÂ䏏Hn|8]0S ~hrQ>r iWw+pQh4i^GN%toPz]`tn%yA%H iONi,W3pO֡ rqYIr߬M$C(] (rhQBp TFe:OՃ;[γe]u|ӊ}7 kxv}+wm#[$7آ+DO43_BFbO1%EQ")t -/ˆ`ܞOI(>&~^6k)(,?O/}htƻH͔3ohp@MPNDZU{LMQ >KW=5&?ko~Hj,Ժ*͡rjHl#{,P# 3 -S06' M[4݁ ҂r BII /kUfK- |MT@HLh+!2v遭*K -~ªѮπgֲ[Qs1setr ɾoI=``!1,%F߱щOR{Ǵ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d6/c1d112dca873e1433bfd7501b776913eda0027 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d6/c1d112dca873e1433bfd7501b776913eda0027 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d6/c6deddec3665f519a15d8bee1ea6b6d860817f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d6/c6deddec3665f519a15d8bee1ea6b6d860817f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d6/f760b33efb8ab1ebe8a577f6178bc82292161e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d6/f760b33efb8ab1ebe8a577f6178bc82292161e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d7/6fa9b12adb6ab66a699c6d4c4bf9e46d3b23fd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d7/6fa9b12adb6ab66a699c6d4c4bf9e46d3b23fd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d7/91224b5b7a95b4f8a97b430b38642bac1bbfe3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d7/91224b5b7a95b4f8a97b430b38642bac1bbfe3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d7/91e9f1263ad8f44e1368ad88c21db011914149 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d7/91e9f1263ad8f44e1368ad88c21db011914149 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d7/f74fc760e0ba92b31019ce10c8f56a70b4a00e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d7/f74fc760e0ba92b31019ce10c8f56a70b4a00e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d8/22292b08d6196c6d522dea36782b08c10ce735 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d8/22292b08d6196c6d522dea36782b08c10ce735 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d8/971ad6dad61b9fa38a13312a1361dadde3c314 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d8/971ad6dad61b9fa38a13312a1361dadde3c314 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d8/dad5803acf24f3e4d89b66f91cf6ca9a95671a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d8/dad5803acf24f3e4d89b66f91cf6ca9a95671a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d8/eb61cd2926a6560c13791a12e7845090a88687 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d8/eb61cd2926a6560c13791a12e7845090a88687 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d8/fa695ae154030dcb96392e19ddab639360fa15 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d8/fa695ae154030dcb96392e19ddab639360fa15 differ diff -Nru siril-0.9.10/.git/objects/d9/759971aaef22ddedc8989f7edee482c1cc5315 siril-0.9.11/.git/objects/d9/759971aaef22ddedc8989f7edee482c1cc5315 --- siril-0.9.10/.git/objects/d9/759971aaef22ddedc8989f7edee482c1cc5315 2018-02-19 14:39:44.000000000 +0000 +++ siril-0.9.11/.git/objects/d9/759971aaef22ddedc8989f7edee482c1cc5315 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xeMK16b`/벷ۃA$dvRQoE!3;iz aX<*#ƿXo^PYlnP05 T?dVYJay;A?"rA$̐Aq:9JGj*;$' ->mr9 -܊GZ_K?Lz?;s1;䵧ˉcJȖ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d9/8977df419270d021a3e5c59d867e0b428d6061 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d9/8977df419270d021a3e5c59d867e0b428d6061 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d9/bf85795559349bd407f08c44f824decc27b26c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d9/bf85795559349bd407f08c44f824decc27b26c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d9/ddccbd9855e9eeef2dfd7aab9e2ce790149b1c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d9/ddccbd9855e9eeef2dfd7aab9e2ce790149b1c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/d9/f5eae0ffdac2960abc1349fc5f973df8dff979 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/d9/f5eae0ffdac2960abc1349fc5f973df8dff979 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/dc/46f5a2327ab7534038ff484cf0970b8c14a1f4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/dc/46f5a2327ab7534038ff484cf0970b8c14a1f4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/dc/bb3158132301a33364c36ea7b905caae9704d0 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/dc/bb3158132301a33364c36ea7b905caae9704d0 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/dd/2ca93c6fbe3ea67ea9e67beb1d389045677943 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/dd/2ca93c6fbe3ea67ea9e67beb1d389045677943 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/dd/8729ed020307326db44f73a7ddacdf090ec5c4 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/dd/8729ed020307326db44f73a7ddacdf090ec5c4 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/dd/881560b6e3230342a6f0d040da3572ac5509cc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/dd/881560b6e3230342a6f0d040da3572ac5509cc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/de/068877731d3ada5ac1cf108688375aa3ed345d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/de/068877731d3ada5ac1cf108688375aa3ed345d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/de/2346398e67f5c46f6376c93db7b22131305ab5 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/de/2346398e67f5c46f6376c93db7b22131305ab5 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/de/3976237f300a823b76267788bec6b5134a6071 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/de/3976237f300a823b76267788bec6b5134a6071 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/de/9725dda1cb301295494eb14c4ff4a0df38e8bd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/de/9725dda1cb301295494eb14c4ff4a0df38e8bd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/de/aa328800173d8cbac575db256235b8f8d0251b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/de/aa328800173d8cbac575db256235b8f8d0251b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/df/27789d9d962e59266a04a42298c1b6226b9c43 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/df/27789d9d962e59266a04a42298c1b6226b9c43 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/df/5e434f932aeeba42c6042f742450d01f430f05 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/df/5e434f932aeeba42c6042f742450d01f430f05 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/df/d13a57568569056601f7bb49ed889270a26623 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/df/d13a57568569056601f7bb49ed889270a26623 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e0/0dd4853e863e9eabbbb65c40e887db777c79c9 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e0/0dd4853e863e9eabbbb65c40e887db777c79c9 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e0/a455d82d729035b4092578931d12383f970b44 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e0/a455d82d729035b4092578931d12383f970b44 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e0/d2e4d9fc3b8775db47ff2a5e5e581fd091a98e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e0/d2e4d9fc3b8775db47ff2a5e5e581fd091a98e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e1/372ddac4e71d0f2a2dfc6abde6a63eb579b4e3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e1/372ddac4e71d0f2a2dfc6abde6a63eb579b4e3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e1/38ca4e40f82505af1d89866dbcb6541f740098 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e1/38ca4e40f82505af1d89866dbcb6541f740098 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e1/daa1722db572da3f3aad29c0fad94c5bebc30b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e1/daa1722db572da3f3aad29c0fad94c5bebc30b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e2/043f7ca214dc7d1c3579d246c3c65b9c9eb51f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e2/043f7ca214dc7d1c3579d246c3c65b9c9eb51f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e2/49c20cefe49586bb824cd80614aeb8a3c9a2d7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e2/49c20cefe49586bb824cd80614aeb8a3c9a2d7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e2/54d03c059ab6fbf82880c949741b487675cd04 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e2/54d03c059ab6fbf82880c949741b487675cd04 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e2/978ca546f4890ae88bba069600ae47b57d0973 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e2/978ca546f4890ae88bba069600ae47b57d0973 differ diff -Nru siril-0.9.10/.git/objects/e3/35991915c5c70c470cd5c7c35e546d82f7bc4b siril-0.9.11/.git/objects/e3/35991915c5c70c470cd5c7c35e546d82f7bc4b --- siril-0.9.10/.git/objects/e3/35991915c5c70c470cd5c7c35e546d82f7bc4b 2016-12-14 15:20:39.000000000 +0000 +++ siril-0.9.11/.git/objects/e3/35991915c5c70c470cd5c7c35e546d82f7bc4b 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xKN1YGAv/E"Q6_xd)ܞ#|z-K=38^SRI`D/JYDK@*!ۨu@(ec#^`BrMA3u8:G;_^> r¢s3rG]o~Ko؅[iԶOr \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e3/4de3f24c8216c6a1ab1d88c92c450d4d204f65 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e3/4de3f24c8216c6a1ab1d88c92c450d4d204f65 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e3/60f124fb3f3ea001688691a1e279850fa98f29 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e3/60f124fb3f3ea001688691a1e279850fa98f29 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e3/6af7334c0031cd58d38c260de8ecbdac6f37eb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e3/6af7334c0031cd58d38c260de8ecbdac6f37eb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e3/a20eb2dd5975f2319d38b9eb7cd9e64f3c9aee and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e3/a20eb2dd5975f2319d38b9eb7cd9e64f3c9aee differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/0823fb8b1ed67a0765a564e6c99172263224cc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/0823fb8b1ed67a0765a564e6c99172263224cc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/344f5e7c6270f855789fe3766137198c81edbd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/344f5e7c6270f855789fe3766137198c81edbd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/4aba106adef1e5b3c79dca48d8752d34c1078e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/4aba106adef1e5b3c79dca48d8752d34c1078e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/6ba36bc34f3167144936aca2aa78e0b6bf06d7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/6ba36bc34f3167144936aca2aa78e0b6bf06d7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/7df8f6af1e2a6b489f03030253379c7dc1485c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/7df8f6af1e2a6b489f03030253379c7dc1485c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/83ebe873e6340bd28a44d14161f1a50de7bd25 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/83ebe873e6340bd28a44d14161f1a50de7bd25 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/e7f4431674d953d31d1f4c8f0cf26b08565e3d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/e7f4431674d953d31d1f4c8f0cf26b08565e3d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e4/f18bd34ccb9bdd48fca5ea9b2faa634de9412d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e4/f18bd34ccb9bdd48fca5ea9b2faa634de9412d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e5/e6d887486f21914aad6329e725649d24510dd6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e5/e6d887486f21914aad6329e725649d24510dd6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e6/89b63b57199c0636e0ae3d89e54ec4d1f4e09b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e6/89b63b57199c0636e0ae3d89e54ec4d1f4e09b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e7/3dd9a4d08f1d9034a260b447d950a37bef9caa and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e7/3dd9a4d08f1d9034a260b447d950a37bef9caa differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e7/824fc44a05452e9f55e4656e307747a2f7ee88 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e7/824fc44a05452e9f55e4656e307747a2f7ee88 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e8/09d7c302a64e5e17ed8c4c701197d7015435b7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e8/09d7c302a64e5e17ed8c4c701197d7015435b7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e8/6de3c2c97b0b0c44a390aaa224d946c5e197d3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e8/6de3c2c97b0b0c44a390aaa224d946c5e197d3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e8/c0e645538855286961ef86b0e20ab5716ed9f8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e8/c0e645538855286961ef86b0e20ab5716ed9f8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e8/f69bd9cec4d6d95d037c2bb3aec99030c44b2a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e8/f69bd9cec4d6d95d037c2bb3aec99030c44b2a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/2565bc55f60b3b76c14e8767e02941f7476992 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/2565bc55f60b3b76c14e8767e02941f7476992 differ diff -Nru siril-0.9.10/.git/objects/e9/48d8a3dc599c61f3219841e3245c011eeb7d46 siril-0.9.11/.git/objects/e9/48d8a3dc599c61f3219841e3245c011eeb7d46 --- siril-0.9.10/.git/objects/e9/48d8a3dc599c61f3219841e3245c011eeb7d46 2018-06-07 07:37:58.000000000 +0000 +++ siril-0.9.11/.git/objects/e9/48d8a3dc599c61f3219841e3245c011eeb7d46 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -xKj0@)fjƣ>J7 Ҩ1VP޾N[[[PJ -sAs[WBG'L9dgB1 -)R[?_mӒ2?^~koui&> ѤeW}/.{Ae -N+ \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/66be99af13e2f3bf3c0b2c6b33af5804d70954 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/66be99af13e2f3bf3c0b2c6b33af5804d70954 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/89e84389cd3755e858110cf9517e0b9c0d7b66 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/89e84389cd3755e858110cf9517e0b9c0d7b66 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/8b802252542f1be2008610fb4c1d85102d17eb and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/8b802252542f1be2008610fb4c1d85102d17eb differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/8d106f27ef80d41e0c00e998aa61f84c015c5e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/8d106f27ef80d41e0c00e998aa61f84c015c5e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/e0d9d97c19f49ac9cfabf6632e708591994a33 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/e0d9d97c19f49ac9cfabf6632e708591994a33 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/e9/e133a8fe41304480e9df96b51af7a874eafbac and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/e9/e133a8fe41304480e9df96b51af7a874eafbac differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ea/1a1996ed0fbf2823a043e9b9ac9d72e499c03c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ea/1a1996ed0fbf2823a043e9b9ac9d72e499c03c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ea/1d4d434299a6b213402b99805185905e14e77e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ea/1d4d434299a6b213402b99805185905e14e77e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ea/2881498f49e63fb2cd6a4eefa1a69e6710ecc3 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ea/2881498f49e63fb2cd6a4eefa1a69e6710ecc3 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ea/c865ba4016f5626c81fc98b73b18acfe1759ac and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ea/c865ba4016f5626c81fc98b73b18acfe1759ac differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ea/e7ef30a80b20d492861824b4747254ed1e6462 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ea/e7ef30a80b20d492861824b4747254ed1e6462 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/eb/2a79d4b3a322a8716ddd8080eff9741817611c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/eb/2a79d4b3a322a8716ddd8080eff9741817611c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ec/0b285687e42dc5e0171dae963d2e856ebd5ccc and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ec/0b285687e42dc5e0171dae963d2e856ebd5ccc differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ec/a15ee68cb6dfd4f69b9ec2aa67e4a4168d5c18 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ec/a15ee68cb6dfd4f69b9ec2aa67e4a4168d5c18 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ec/c5d29e26bd63ced4e7ae8f879f2af95e9bc488 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ec/c5d29e26bd63ced4e7ae8f879f2af95e9bc488 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ec/ff3ed16e9f848e65c4af250a2c44c46c04cedd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ec/ff3ed16e9f848e65c4af250a2c44c46c04cedd differ diff -Nru siril-0.9.10/.git/objects/ed/2cd80b64eedf27ad4219853ed19483c3334b47 siril-0.9.11/.git/objects/ed/2cd80b64eedf27ad4219853ed19483c3334b47 --- siril-0.9.10/.git/objects/ed/2cd80b64eedf27ad4219853ed19483c3334b47 2017-09-18 21:11:20.000000000 +0000 +++ siril-0.9.11/.git/objects/ed/2cd80b64eedf27ad4219853ed19483c3334b47 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -xKj0D)z?$t r l2Cn%GȲ^erU9)B,ɻt"#*{} ~cq2I;Z4}!q"$=*R*|~׼W ?n~VȠq6GFTe:? ɔy9rB+]p]/AU)W \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ed/3729b8f70b7d3a694a6ebae83185d60401cf53 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ed/3729b8f70b7d3a694a6ebae83185d60401cf53 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ed/516194f2bb6ae87a9132f031bd68cc1427900a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ed/516194f2bb6ae87a9132f031bd68cc1427900a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ed/8a0611981e7082dc3b5130fac8dc665b2759dd and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ed/8a0611981e7082dc3b5130fac8dc665b2759dd differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ed/b811a81d3a2f6fb66e1fcfb445f81bc71c7058 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ed/b811a81d3a2f6fb66e1fcfb445f81bc71c7058 differ diff -Nru siril-0.9.10/.git/objects/ee/29f181a6caaedcbce6db990e34c12b0a736aeb siril-0.9.11/.git/objects/ee/29f181a6caaedcbce6db990e34c12b0a736aeb --- siril-0.9.10/.git/objects/ee/29f181a6caaedcbce6db990e34c12b0a736aeb 2016-12-14 15:17:45.000000000 +0000 +++ siril-0.9.11/.git/objects/ee/29f181a6caaedcbce6db990e34c12b0a736aeb 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xP0ܯX%ֈˢǡe0$!-&T˼e˔`2w8T hZ -"9=KNǣ$r*XSޛ}PD@JXO֒ U[)4!nbiR}vn_G⁅U"O -du8읅Xss.[Fk߷_Xc \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ee/2f2389110bb9dee27fbcc325e264bd60d35890 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ee/2f2389110bb9dee27fbcc325e264bd60d35890 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ee/30a421bd02438492da00d615b10bc626ec7f5a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ee/30a421bd02438492da00d615b10bc626ec7f5a differ diff -Nru siril-0.9.10/.git/objects/ee/727189a352ef042c8781f6bd11f703cf60d4bf siril-0.9.11/.git/objects/ee/727189a352ef042c8781f6bd11f703cf60d4bf --- siril-0.9.10/.git/objects/ee/727189a352ef042c8781f6bd11f703cf60d4bf 2017-06-20 12:18:08.000000000 +0000 +++ siril-0.9.11/.git/objects/ee/727189a352ef042c8781f6bd11f703cf60d4bf 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xQj >y/-jqBwfLI ^CKpNvz)Go&KoCt&GavQ8$#=b&_8*&/o[7^m|2V_k?8B -Fz*?^v^]}=f1Vg"p\簅wh D(rVA \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ee/8ff1cfd4cd6ee7f210e9a91578f6c6bc37af65 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ee/8ff1cfd4cd6ee7f210e9a91578f6c6bc37af65 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ef/3bc266240cfb5c52c5e163378fb268f9ea197b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ef/3bc266240cfb5c52c5e163378fb268f9ea197b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ef/4dfd0af895dfcadd7e468bc25f9a2795887a5f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ef/4dfd0af895dfcadd7e468bc25f9a2795887a5f differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ef/56d49d4b9ced425d1753c961e5aa09edddf70a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ef/56d49d4b9ced425d1753c961e5aa09edddf70a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/ef/bf1c7241584a87062652009293fa6849bb49c7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/ef/bf1c7241584a87062652009293fa6849bb49c7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f0/4deb1c0c5e2683340f9b28dd1d52e84f11323d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f0/4deb1c0c5e2683340f9b28dd1d52e84f11323d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f0/de00c7684ef8aa8135abaf82558e77d2e14071 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f0/de00c7684ef8aa8135abaf82558e77d2e14071 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f0/e4e22a304688a07cb5a73e0095ed71398d549e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f0/e4e22a304688a07cb5a73e0095ed71398d549e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f1/c52dfc6f7579637019ac1d30bf91a75dc81239 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f1/c52dfc6f7579637019ac1d30bf91a75dc81239 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f2/06412f3502911083af8b91033acfd7801c451a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f2/06412f3502911083af8b91033acfd7801c451a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f2/93b25008d69a695990d578a0600fcee701475d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f2/93b25008d69a695990d578a0600fcee701475d differ diff -Nru siril-0.9.10/.git/objects/f2/94686d1923bc718ea6c2086e7fb9c160f56281 siril-0.9.11/.git/objects/f2/94686d1923bc718ea6c2086e7fb9c160f56281 --- siril-0.9.10/.git/objects/f2/94686d1923bc718ea6c2086e7fb9c160f56281 2018-06-07 07:38:12.000000000 +0000 +++ siril-0.9.11/.git/objects/f2/94686d1923bc718ea6c2086e7fb9c160f56281 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -x+)JMU0`040031QH+-/Kfhqz28(x/e0e0xxVSmYp +  \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f3/38224470605340e2bc98b9ac511704cb068e5c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f3/38224470605340e2bc98b9ac511704cb068e5c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f3/49a1bab510a1c18b311fde5af5c3f1da777968 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f3/49a1bab510a1c18b311fde5af5c3f1da777968 differ diff -Nru siril-0.9.10/.git/objects/f4/3bcf53ce6fa96f63dc8cac54ce362438a10025 siril-0.9.11/.git/objects/f4/3bcf53ce6fa96f63dc8cac54ce362438a10025 --- siril-0.9.10/.git/objects/f4/3bcf53ce6fa96f63dc8cac54ce362438a10025 2017-09-18 21:02:52.000000000 +0000 +++ siril-0.9.11/.git/objects/f4/3bcf53ce6fa96f63dc8cac54ce362438a10025 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -xuR]K0ua{e'QP)Z'~O.M@F7Mա>=sH!ggGQ!nnq<ӔFGMַlEhBPLKU!ʓ*p-ζOߑEɘ|TZ̅0 /E(׀²j0g].&kQHhwRHbo@ \ No newline at end of file diff -Nru siril-0.9.10/.git/objects/f4/83fc39717c17ed2f462906b6d44c111c8ee473 siril-0.9.11/.git/objects/f4/83fc39717c17ed2f462906b6d44c111c8ee473 --- siril-0.9.10/.git/objects/f4/83fc39717c17ed2f462906b6d44c111c8ee473 2018-06-07 07:39:30.000000000 +0000 +++ siril-0.9.11/.git/objects/f4/83fc39717c17ed2f462906b6d44c111c8ee473 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xeMK@vH` ESKm[d'ɐnlMH<ϼpp6>z9io+^26LH5;RTj& Boka0XA8f"Ȗ~J8Ix)DM -Xγpo7a I<)XNm./r5-%3ҭZ -ڃxzSE?ëlt І=&x \ No newline at end of file Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f4/fe47dcd5fc4e95ac7a4176d471335b23ce5f2a and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f4/fe47dcd5fc4e95ac7a4176d471335b23ce5f2a differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f5/0dcdb6de2af0a2e33f44704da3ec1286e5f291 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f5/0dcdb6de2af0a2e33f44704da3ec1286e5f291 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f5/4829ab607a7160535d1497236b900cc3510b50 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f5/4829ab607a7160535d1497236b900cc3510b50 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f5/5815016522bdf19644b9bc5be2dc15d581bf1d and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f5/5815016522bdf19644b9bc5be2dc15d581bf1d differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f5/8cab26021a95758dcf85f5792ad3e635670d8e and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f5/8cab26021a95758dcf85f5792ad3e635670d8e differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f5/99e28b8ab0d8c9c57a486c89c4a5132dcbd3b2 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f5/99e28b8ab0d8c9c57a486c89c4a5132dcbd3b2 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/03a23be5c89c8fbbd00df3dd2efab80f34b0f7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/03a23be5c89c8fbbd00df3dd2efab80f34b0f7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/24a8418a0d237fb2949a566c4af292893a5b7c and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/24a8418a0d237fb2949a566c4af292893a5b7c differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/3c4dc5c8d90143c970935ede7d613358a58ba7 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/3c4dc5c8d90143c970935ede7d613358a58ba7 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/63974fc3befa1f8e1690865ca9f52896904405 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/63974fc3befa1f8e1690865ca9f52896904405 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/d6952d55752b8b64558450414c28f94e943896 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/d6952d55752b8b64558450414c28f94e943896 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f6/fec23f59567ff144d99b2ee344562c24e35c91 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f6/fec23f59567ff144d99b2ee344562c24e35c91 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f7/6355f5d17c107d9b1a77ef8b97eae0aee19d3b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f7/6355f5d17c107d9b1a77ef8b97eae0aee19d3b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f7/f9768df25dd55997c8eb9fb585e759a677722b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f7/f9768df25dd55997c8eb9fb585e759a677722b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f8/f01b4a1aab288c3e71a374fd8fc82be4f55f7b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f8/f01b4a1aab288c3e71a374fd8fc82be4f55f7b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f9/1c179326b451898877cf917b514c8e3b51e2a6 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f9/1c179326b451898877cf917b514c8e3b51e2a6 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f9/59c5d4d0df70d8ca0c52802377783083416493 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f9/59c5d4d0df70d8ca0c52802377783083416493 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/f9/a06b8a4b746cfbf565f319a1b60383366b6f84 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/f9/a06b8a4b746cfbf565f319a1b60383366b6f84 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/fa/4227b773c797ef8d74a6c19dc0744a94354f9b and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/fa/4227b773c797ef8d74a6c19dc0744a94354f9b differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/fa/47673d995361fc1b4ccacab76ee04b064360b8 and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/fa/47673d995361fc1b4ccacab76ee04b064360b8 differ Binary files /tmp/tmpQMzGGg/U6V98YiJgs/siril-0.9.10/.git/objects/fa/c0b4b99064f8ede89905f6f9202e668a1bde7f and /tmp/tmpQMzGGg/yoqBDwy8z7/siril-0.9.11/.git/objects/fa/c0b4b99064f8ede89905f6f9202e668a1bde7f differ diff -Nru siril-0.9.10/.git/objects/fb/9e7ceb965df1d420f9d8972c05b49b702d1011 siril-0.9.11/.git/objects/fb/9e7ceb965df1d420f9d8972c05b49b702d1011 --- siril-0.9.10/.git/objects/fb/9e7ceb965df1d420f9d8972c05b49b702d1011 2018-06-07 07:13:43.000000000 +0000 +++ siril-0.9.11/.git/objects/fb/9e7ceb965df1d420f9d8972c05b49b702d1011 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -xAj1 E), YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-19 10:37+0200\n" +"PO-Revision-Date: 2019-05-24 18:41+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/gui/siril3.glade.h:1 +msgid "PSF" +msgstr "PSF" + +#: ../src/gui/siril3.glade.h:2 +msgid "" +"Will use registration data if any are available on the registration layer, " +"otherwise if the checkbox 'follow star movement' is checked in the " +"registration tab, it will run with this option." +msgstr "" +"Es werden Registrierungs-Daten benutzt, sofern welche im Registrierungs-" +"Layer verfügbar sind. Wenn die Checkbox \"folge Sternbewegung\" im " +"Registrierungs-Tab gesetzt ist, wird diese Einstellung verwendet." + +#: ../src/gui/siril3.glade.h:3 +msgid "PSF for the sequence" +msgstr "PSF für die Sequenz" + +#: ../src/gui/siril3.glade.h:4 +msgid "Pick a Star" +msgstr "Stern auswählen" + +#: ../src/gui/siril3.glade.h:5 +msgid "Statistics" +msgstr "Statistiken" + +#: ../src/gui/siril3.glade.h:6 +msgid "Crop" +msgstr "Zuschnitt" + +#: ../src/gui/siril3.glade.h:7 +msgid "Crop Sequence..." +msgstr "Zuschnitt auf gesamte Sequenz anwenden..." + +#: ../src/gui/siril3.glade.h:8 +msgid "RGB image" +msgstr "RGB-Bild" + +#: ../src/gui/siril3.glade.h:9 +msgid "Color saturation" +msgstr "Farbsättigung" + +#: ../src/gui/siril3.glade.h:10 +msgid "Amount:" +msgstr "Wert/Menge/Anzahl:" + +#: ../src/gui/siril3.glade.h:11 +msgid "" +"Value of 0 means no change, negative reduces the color saturation, positive " +"increases it." +msgstr "" +"Der Wert 0 bewirkt keine Änderung, negative Werte ruduzieren, positive " +"erhöhen die Farbsättigung." + +#: ../src/gui/siril3.glade.h:12 +msgid "Pink-Red / Red-Orange" +msgstr "Rosa-Rot / Rot-Orange" + +#: ../src/gui/siril3.glade.h:13 +msgid "Orange-Brown / Yellow" +msgstr "Orange-Rot / Gelb" + +#: ../src/gui/siril3.glade.h:14 +msgid "Yellow-Green / Green-Cyan" +msgstr "Gelb-Grün / Grün-Cyan" + +#: ../src/gui/siril3.glade.h:15 +msgid "Cyan" +msgstr "Cyan" + +#: ../src/gui/siril3.glade.h:16 +msgid "Cyan-Blue / Blue-Magenta" +msgstr "Cyan-Blau / Blau-Magenta" + +#: ../src/gui/siril3.glade.h:17 +msgid "Magenta / Pink" +msgstr "Magenta / Rosa" + +#: ../src/gui/siril3.glade.h:18 +msgid "Global" +msgstr "Global" + +#: ../src/gui/siril3.glade.h:19 +msgid "Hue:" +msgstr "Farbton:" + +#: ../src/gui/siril3.glade.h:20 +msgid "Preserve background" +msgstr "Hintergrund erhalten" + +#: ../src/gui/siril3.glade.h:21 +msgid "Subtractive Chromatic Green Noise Reduction" +msgstr "Subtraktiv chromatische Grün-Rauschen Reduktion" + +#: ../src/gui/siril3.glade.h:22 +msgid "" +"Average Neutral Protection is the default option. This is the recommended " +"option in most cases." +msgstr "" +"Durchschnittlich neutral ist die Grundeinstellung für den Schutz-Algorithmus " +"(empfohlen für die meisten Anwendungen)." + +#: ../src/gui/siril3.glade.h:23 +msgid "Average Neutral" +msgstr "Durchschnittlich neutral" + +#: ../src/gui/siril3.glade.h:24 +msgid "Maximum Neutral" +msgstr "Maximal neutral" + +#: ../src/gui/siril3.glade.h:25 +msgid "Maximum Mask" +msgstr "Maximale Maske" + +#: ../src/gui/siril3.glade.h:26 +msgid "Additive Mask" +msgstr "Additive Maske" + +#: ../src/gui/siril3.glade.h:27 +msgid "Protection method: " +msgstr "Schutzmethode: " + +#: ../src/gui/siril3.glade.h:28 +msgid "Preserve lightness" +msgstr "Erhalte Helligkeit" + +#: ../src/gui/siril3.glade.h:29 +msgid "Preserves the original CIE L* component in the processed image." +msgstr "Behält den originalen CIE L* Anteil im bearbeiteten Bild bei." + +#: ../src/gui/siril3.glade.h:30 +msgid "" +"Enter a wavelength value in nanometers here, between 380 and 780, decimals " +"are accepted." +msgstr "" +"Hier eine Wellenlänge (nm) zwischen 380 und 780 nm eintragen, " +"Nachkommastellen sind erlaubt." + +#: ../src/gui/siril3.glade.h:31 +msgid "" +"Alternatively, for true colour rendering,\n" +"select a filter from the list or\n" +"enter a visible wavelength in nm" +msgstr "" +"Alternativ zu 'True Colour'-Rendern kann\n" +"man einen Filter aus der Liste wählen oder\n" +"eine SICHTBARE Wellenlänge in nm eingeben" + +#: ../src/gui/siril3.glade.h:34 +msgid "" +"Detect stars in the current loaded image (not sequence image) and compute PSF" +msgstr "" +"Erkenne Sterne im aktuell geladenen Bild (nicht im Sequenz-Bild) und " +"berechne PSF" + +#: ../src/gui/siril3.glade.h:35 +msgid "Average PSF parameters for selected stars" +msgstr "Durchschnittliche PSF Parameter ausgewählter Sterne" + +#: ../src/gui/siril3.glade.h:36 +msgid "Save RGB image to 48-bit FITS" +msgstr "Speichere RGB-Bild als 48-bit FITS" + +#: ../src/gui/siril3.glade.h:37 +msgid "Save RGB image to 24- or 48-bit TIFF" +msgstr "Speichere RGB-Bild als 24- oder 48-bit TIFF" + +#: ../src/gui/siril3.glade.h:38 +msgid "Save RGB image to 24-bit BMP" +msgstr "Speichere RGB-Bild als 24-bit BMP" + +#: ../src/gui/siril3.glade.h:39 +msgid "Save RGB image to JPG" +msgstr "Speichere RGB-Bild als JPG" + +#: ../src/gui/siril3.glade.h:40 +msgid "Save RGB image to 48-bit PNG" +msgstr "Speichere RGB-Bild als 48-bit PNG" + +#: ../src/gui/siril3.glade.h:41 +msgid "Save RGB image to 48-bit PPM" +msgstr "Speichere RGB-Bild als 48-bit PPM" + +#: ../src/gui/siril3.glade.h:42 +msgid "RGB Align" +msgstr "RGB-Ausrichtung" + +#: ../src/gui/siril3.glade.h:43 ../src/compositing/align_rgb.c:45 +#: ../src/compositing/compositing.c:361 +msgid "Image pattern alignment (planetary/deep-sky)" +msgstr "Ausrichtung an Mustern und Strukturen (Planeten/Deep Sky)" + +#. the list below depends on the content of the glade file. It +#. * should be done in the same way as in registration.c, but it +#. * woud be easier if the two glades are merged. +#: ../src/gui/siril3.glade.h:44 ../src/compositing/align_rgb.c:43 +#: ../src/compositing/compositing.c:360 +msgid "One star registration (deep-sky)" +msgstr "Einzelstern-Registrierung (deep-sky)" + +#: ../src/gui/siril3.glade.h:45 +msgid "" +"List of images in the sequence, with their state and quality information. " +"Quality is FWHM when PSF registration is used, so lower is better, and " +"gradient estimator for DFT registration, higher is better. X and Y columns " +"are the translation relative to the reference image." +msgstr "" +"Liste der Bilder in der Sequenz mit Angaben zu Status und Qualität. Qualität " +"entspricht dabei dem FWHM-Wert, je niedriger die FWHM, desto besser. Für die " +"Ausrichtung von Planetenoberflächen wird die Qualität anhand einer " +"Gradienten-Erkennung eingeschätzt. Hier gilt, je höher, je besser. Die " +"Spalten X und Y geben die relative Verschiebung zum Referenz-Bild an." + +#: ../src/gui/siril3.glade.h:46 +msgid "file" +msgstr "Datei" + +#: ../src/gui/siril3.glade.h:47 +msgid "X" +msgstr "X" + +#: ../src/gui/siril3.glade.h:48 +msgid "Y" +msgstr "Y" + +#: ../src/gui/siril3.glade.h:49 +msgid "sel" +msgstr "Sel" + +#: ../src/gui/siril3.glade.h:50 +msgid "quality" +msgstr "Qualität" + +#. no color, undefined value is <0 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:71 +msgid "Red" +msgstr "Rot" + +#: ../src/gui/siril3.glade.h:52 +msgid "current red file" +msgstr "Aktuelle Rot-Datei" + +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1922 ../src/gui/histogram.c:197 +msgid "Red channel" +msgstr "Rot-Kanal" + +#. approx. of the middle of the color +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:72 +msgid "Green" +msgstr "Grün" + +#: ../src/gui/siril3.glade.h:55 +msgid "current green file" +msgstr "Aktuelle Grün-Datei" + +#: ../src/gui/siril3.glade.h:56 +msgid "Green channel" +msgstr "Grün-Kanal" + +#. approx. of the middle of the color +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:73 +msgid "Blue" +msgstr "Blau" + +#: ../src/gui/siril3.glade.h:58 +msgid "The value stored in pointed pixels will appear here." +msgstr "Der Wert des Pixels an der Cursor-Spitze wird hier angezeigt." + +#: ../src/gui/siril3.glade.h:59 +msgid "current blue file" +msgstr "Aktuell Blau-Datei" + +#: ../src/gui/siril3.glade.h:60 +msgid "Blue channel" +msgstr "Blau-Kanal" + +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Um 90 Grad gegen den Uhrzeigersinn drehen" + +#: ../src/gui/siril3.glade.h:62 +msgid "Rotate 90 degrees, clockwise" +msgstr "Um 90 Grad im Uhrzeigersinn drehen" + +#: ../src/gui/siril3.glade.h:63 +msgid "Horizontal mirror" +msgstr "Horizontal spiegeln" + +#: ../src/gui/siril3.glade.h:64 +msgid "Vertical mirror" +msgstr "Vertical spiegeln" + +#: ../src/gui/siril3.glade.h:65 +msgid "Open/Close histogram toolbox" +msgstr "Histogramm Toolbox öffnen/schließen" + +#: ../src/gui/siril3.glade.h:66 +msgid "Show/Hide list of images in the sequence with registration data" +msgstr "" +"Zeige/Verberge Liste der Bilder in der Sequenz mit Registrierungs-Daten" + +#: ../src/gui/siril3.glade.h:67 +msgid "Switch to normal and negative view" +msgstr "Umschalten zwischen normaler und inverser Ansicht" + +#: ../src/gui/siril3.glade.h:68 +msgid "Switch to normal and rainbow colormap (false color rendering)" +msgstr "" +"Umschalten zur normalen und Regenbogen Farb-Palette (Falschfarben-Rendern)" + +#: ../src/gui/siril3.glade.h:69 +msgid "Display mode" +msgstr "Anzeige-Modus" + +#: ../src/gui/siril3.glade.h:70 +msgid "Linear" +msgstr "Linear" + +#: ../src/gui/siril3.glade.h:71 +msgid "Logarithm" +msgstr "Logarithmisch" + +#: ../src/gui/siril3.glade.h:72 +msgid "Square root" +msgstr "Quadratwurzel" + +#: ../src/gui/siril3.glade.h:73 +msgid "Squared" +msgstr "Quadriert" + +#: ../src/gui/siril3.glade.h:74 +msgid "Asinh" +msgstr "Asinh" + +#: ../src/gui/siril3.glade.h:75 +msgid "AutoStretch" +msgstr "Auto-Stretch" + +#: ../src/gui/siril3.glade.h:76 +msgid "Histogram" +msgstr "Histogramm" + +#: ../src/gui/siril3.glade.h:77 +msgid "Zoom level" +msgstr "Zoom-Wert" + +#: ../src/gui/siril3.glade.h:78 +msgid "Zoom to fit" +msgstr "Zoom auf Fenstergröße" + +#: ../src/gui/siril3.glade.h:79 +msgid "cut" +msgstr "ausschneiden" + +#: ../src/gui/siril3.glade.h:80 +msgid "" +"Instead of keeping pixels with values above the "hi" value white, " +"put them in black to see in which part of the image the threshold is " +"exceeded." +msgstr "" +"Anstatt Pixel mit Werten oberhalb der "Hi"-Grenze WEISS zu " +"belassen, setze sie zur Anzeige des Überschreitens auf SCHWARZ." + +#: ../src/gui/siril3.glade.h:81 +msgid "" +"Instead of keeping pixels with values above the \"hi\" value white, put them " +"in black to see in which part of the image the threshold is exceeded." +msgstr "" +"Anstatt Pixel mit Werten oberhalb der \"Hi\"-Grenze WEISS zu belassen, setze " +"sie zur Anzeige des Überschreitens auf SCHWARZ." + +#: ../src/gui/siril3.glade.h:82 +msgid "Click on this button to chain the layers all together" +msgstr "Dieser Button verkettet alle Lagen miteinander" + +#: ../src/gui/siril3.glade.h:83 +msgid "High" +msgstr "Höhe" + +#: ../src/gui/siril3.glade.h:84 +msgid "Min/Max" +msgstr "Min/Max" + +#: ../src/gui/siril3.glade.h:85 +msgid "MIPS-LO/HI" +msgstr "MIPS-LO/HI" + +#: ../src/gui/siril3.glade.h:86 +msgid "User" +msgstr "Benutzer" + +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Astrometrie / Plate Solving" + +#: ../src/gui/siril3.glade.h:88 +msgid "Close the window." +msgstr "Fenster schließen." + +#: ../src/gui/siril3.glade.h:89 +msgid "Start the plate solving algorithm." +msgstr "Starte Plate-Solving-Algorithmus." + +#: ../src/gui/siril3.glade.h:90 +msgid "Start the photometric color calibration algorithm." +msgstr "Starte Photometrische Farb-Kalibrierung." + +#: ../src/gui/siril3.glade.h:91 +msgid "Initial equatorial coordinates. Input value must be inside the image." +msgstr "" +"Anfangs-Äquatorial-Koordinaten. Eingabewert muß innerhalb des Bildes liegen." + +#: ../src/gui/siril3.glade.h:92 +msgid "0" +msgstr "0" + +#: ../src/gui/siril3.glade.h:93 +msgid "Right Ascension: " +msgstr "Rektaszension: " + +#: ../src/gui/siril3.glade.h:94 +msgid "Declination: " +msgstr "Deklination: " + +#: ../src/gui/siril3.glade.h:95 +msgid "S" +msgstr "S" + +#: ../src/gui/siril3.glade.h:96 +msgid "This button is checked for negative declination (southern hemisphere)." +msgstr "Button für negative Deklination (Süd-Hemisphäre)" + +#: ../src/gui/siril3.glade.h:97 +msgid "" +"Enter the identifier or the name of the object which must be in the image." +msgstr "" +"Geben Sie den Namen oder Identifikator des Objekts an, das im Bild sein soll." + +#: ../src/gui/siril3.glade.h:98 +msgid "Start searching." +msgstr "Suche beginnen." + +#: ../src/gui/siril3.glade.h:100 +#, no-c-format +msgid "" +"Effective focal length of the optical system in millimeter. Even if the " +"input value has not to be very accurate, try to give a value with an error " +"not exceeding 20%." +msgstr "" +"Effektive Brennweite des optischen Systems in mm. Auch wenn der Wert nicht " +"ganz präzise sein muß, sollte eine Abweichung <20% eingehalten werden." + +#: ../src/gui/siril3.glade.h:101 +msgid "Pixel size in micrometer. The image is assumed to have square pixels." +msgstr "Pixel-Größe in µm. Es wird von quadratischen Pixel ausgegangen." + +#: ../src/gui/siril3.glade.h:102 +msgid "Focal distance (mm):" +msgstr "Brennweite (mm):" + +#: ../src/gui/siril3.glade.h:103 +msgid "Pixel size (µm):" +msgstr "Pixel-Größe (µm):" + +#: ../src/gui/siril3.glade.h:104 +msgid "Resolution: " +msgstr "Auflösung: " + +#: ../src/gui/siril3.glade.h:105 +msgid "" +"The resolution of the image that is automatically determined from the focal " +"and pixel size value." +msgstr "" +"Die Bild-Auflösung wird automatisch aus der Pixel-Größe und der Brennweite " +"ermittelt." + +#: ../src/gui/siril3.glade.h:106 +msgid "Get Metadata From Image" +msgstr "Lade Meta-Daten des Bildes" + +#: ../src/gui/siril3.glade.h:107 +msgid "" +"Click on this button to get focal and pixel size value from the header of " +"the file if they exist." +msgstr "" +"Klicken Sie hier, um die Werte für Brennweite und Pixel-Größe aus dem Datei-" +"Header zu beziehen, sofern vorhanden." + +#: ../src/gui/siril3.glade.h:108 +msgid "Resolver" +msgstr "Resolver" + +#: ../src/gui/siril3.glade.h:109 +msgid "Name" +msgstr "Name" + +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Bild Parameter" + +#: ../src/gui/siril3.glade.h:111 +msgid "Catalogue Limit Mag: " +msgstr "Katalog Mag-Limit: " + +#: ../src/gui/siril3.glade.h:112 +msgid "" +"Maximum star magnitude used in the catalog queries. Wider is the field, " +"lower is the value." +msgstr "" +"Maximale Stern Magnitude in Katalog-Suchanfragen. Je kleiner der Wert, desto " +"reicher wird das Feld." + +#: ../src/gui/siril3.glade.h:113 +msgid "Auto" +msgstr "Auto" + +#: ../src/gui/siril3.glade.h:114 +msgid "" +"The limit magnitude is automatically determined using the approximation of " +"the Field Of View." +msgstr "Die Grenz-Magnitude wird automatisch dem Sichtfeld angepaßt." + +#: ../src/gui/siril3.glade.h:115 +msgid "Online Star Catalogue: " +msgstr "Online Sterne-Katalog: " + +#: ../src/gui/siril3.glade.h:116 +msgid "" +"Choose the online catalogue against one want to compare the image.\n" +"* TYCHO-2 catalogue contains positions, proper motions, and two-color " +"photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" +"* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " +"astrometric solution, positions on the sky (α, δ), parallaxes, and proper " +"motions, are given for more than 1.3 billion sources, with a limiting " +"magnitude of G = 21.\n" +"* PPMXL is a catalog of positions, proper motions, 2MASS- and optical " +"photometry of 900 million stars and galaxies.\n" +"* The Bright Star Catalogue is a star catalogue that lists all stars of " +"stellar magnitude 6.5 or brighter, which is roughly every star visible to " +"the naked eye from Earth. The catalog contains 9,110 objects." +msgstr "" +"Online-Katalog auswählen, mit dem das Bild verglichen werden soll.\n" +"* TYCHO-2 Katalog enthält Daten zu Positionen, Eigenbewegung und 2-Farb-" +"Photometrie zu 2.539.913 der hellsten Milchstraßen-Sterne.\n" +"* NOMAD ist eine Vereinigung der Kataloge Hipparcos, Tycho-2, UCAC-2 und " +"USNO-B1, ergänzt durch photometrische Information aus dem \"2MASS Final " +"Release Point Source Catalogue\".\n" +"* Gaia Data Release 2 (DR2) wurde am 25. April 2018 veröffentlicht. Sie " +"liefert astrometrische Daten in 5 Parametern, Position am Himmel (α, δ), " +"Parallaxen, und Eigenbewegung für über 1,3 Milliarden Punktquellen mit einer " +"Grenz-Magnitude bis G = 21.\n" +"* PPMXL ist ein Katalog über Positionen, Eigenbewegungs-Daten, 2MASS- und " +"optische Photometrie mit über 900 Millionen Sternen und Galaxien.\n" +"* Der Bright Star Catalogue enthält 9.110 helle Sterne bis Mag 6,5 und " +"entspricht damit etwa dem mit freiem Auge sichtbaren Sternenhimmel von der " +"Erde aus." + +#: ../src/gui/siril3.glade.h:122 +msgid "" +"The online catalogue is automatically determined using the approximation of " +"the Field Of View and magnitude." +msgstr "" +"Der Online-Katalog wird automatisch bestimmt mittels Annäherung an den " +"Sichtwinkel und die Magnitude." + +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Katalog Parameter" + +#: ../src/gui/siril3.glade.h:124 +msgid "Manual detection" +msgstr "Manuelle Erkennung" + +#: ../src/gui/siril3.glade.h:125 +msgid "" +"Check this option if you want to pick each stars manually. It could be " +"useful in some cases where Siril can't find enough stars. Please, try to " +"choose the brightest stars in the image." +msgstr "" +"Wählen Sie diese Option, um Sterne manuell auszuwählen. Hilfreich, wenn " +"SIRIL selber nicht genügend Sterne erkennen kann. Bitte versuchen Sie die " +"hellsten Sterne im Bild zu wählen." + +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Sternerkennung" + +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Auto-Detektion" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Lassen Sie dieses Kästchen frei, wenn Sie die Hintergrund-Referenz selber " +"auswählen möchten. Evtl. vorteilhaft wenn Nebel fast das ganze Bild " +"einnehmen." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "X-Koordinate des Ursprungs der Hintergrund-Auswahl" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "Y-Koordinate des Ursprungs der Hintergrund-Auswahl" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Breite der Hintergrund-Auswahl" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Höhe der Hintergrund-Auswahl" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Ausgewählter Bereich" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Verwende aktuelle Auswahl" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Geben Sie einen Bereich an, der dem tatsächlichen Hintergrund entspricht, " +"möglichst ohne Sterne oder anderer stellarer (heller) Objekte." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Hintergrund Referenz" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "" +"Mit dieser Option legen Sie fest, für welchen Kanal die Faktoren " +"normalisiert werden sollen." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "Auf den höchsten" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "Auf den mittleren" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "Auf den niedrigsten" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Faktor Normalisierung je Kanal" + +#: ../src/gui/siril3.glade.h:142 +msgid "Median Filter" +msgstr "Median Filter" + +#: ../src/gui/siril3.glade.h:143 +msgid "" +"Kernel Size. This is the odd size of the neighborhood considered for each " +"pixel." +msgstr "Filter-Größe. Dies ist die ungerade Größe des Umfeldes um jedes Pixel." + +#: ../src/gui/siril3.glade.h:144 +msgid "Modulation:" +msgstr "Modulation:" + +#: ../src/gui/siril3.glade.h:145 +msgid "" +"Modulation parameter set in the [0, 1] range.\n" +"When this parameter is equal to 1, no modulation is applied.\n" +"If the parameters is null, so no filter is apply at all." +msgstr "" +"Modulationsparameter im Bereich [0,1].\n" +"Wenn dieser Parameter gleich 1 ist, wird keine Modulation angewendet.\n" +"Wenn dieser Parameter null ist, wird kein Filter angewandt." + +#: ../src/gui/siril3.glade.h:148 +msgid "Kernel Size: " +msgstr "Filter-Größe: " + +#: ../src/gui/siril3.glade.h:149 +msgid "Iterations:" +msgstr "Iterationen:" + +#: ../src/gui/siril3.glade.h:150 +msgid "" +"Number of iterations of the algorithm.\n" +"This is useful when modulation parameter is different to 1 helping the whole " +"process to converge to better result." +msgstr "" +"Anzahl der Iterationen für den Algorithmus.\n" +"Nützlich, wenn der Modulationsparameter von 1 verschieden ist, um dem " +"gesamten Prozess zu einem besseren Ergebnis zu verhelfen." + +#: ../src/gui/siril3.glade.h:152 +msgid "Use Luminance" +msgstr "Benutze Luminanz" + +#: ../src/gui/siril3.glade.h:153 +msgid "Run statistic calculation" +msgstr "Beginne statistische Berechnung" + +#: ../src/gui/siril3.glade.h:154 +msgid "Close the window" +msgstr "Fenster schließen" + +#: ../src/gui/siril3.glade.h:155 +msgid "Normalized Real [0, 1]" +msgstr "Normalisiert Real [0, 1]" + +#: ../src/gui/siril3.glade.h:156 +msgid "No Selection" +msgstr "Nichts ausgewählt" + +#: ../src/gui/siril3.glade.h:157 +msgid "Asinh Transformation" +msgstr "Asinh Transformation" + +#: ../src/gui/siril3.glade.h:158 +msgid "Stretch factor: " +msgstr "Stretch-Faktor: " + +#: ../src/gui/siril3.glade.h:159 +msgid "The parameter stretch factor allows to adjust the non-linearity factor." +msgstr "" +"Der Stretch-Faktor ermöglicht es, den Nicht-Linearitäts-Faktor anzupassen." + +#: ../src/gui/siril3.glade.h:160 +msgid "Black Point: " +msgstr "Schwarz-Punkt: " + +#: ../src/gui/siril3.glade.h:161 +msgid "Constant value that is subtracted from the image." +msgstr "Konstanter Wert, der vom Bild abgezogen wird." + +#: ../src/gui/siril3.glade.h:162 +msgid "Use RGB working space" +msgstr "Benutze RGB-Farbraum" + +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Hintergrund-Extraktion" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Berechnet den synthetischen Hintergrund unter Anwendung der ausgewählten " +"Korrektur." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Grad der Ordnung: " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Legen Sie hier die Ordnung des Polynoms für den Fit fest.\n" +"Standardwert ist 4 (also 4ter Ordnung)\n" +"Je höher die Ordnung, desto stärker die Unterdrückung des Gradienten." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Stichproben je Reihe: " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Anzahl automatisch gesetzter Muster je Zeile." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Toleranzwert für die Muster-Ausschleusung, in Sigma-Einheiten. Kleinere " +"Werte veranlassen Siril zu restriktiverer Handhabung der Hintergrund-Muster " +"Auswahl." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Toleranz: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Generiere" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Hier klicken, um Muster automatisch zu generieren." + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Hier klicken, um alle Muster zu löschen." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"Die Samples können auch manuell gesetzt werden.\n" +"Linksklick setzt neue Samples, Rechtsklick löscht diese." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Polynomische Interpolation" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Korrektur: " + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Folgende Arten der Korrektur stehen zur Verfügung:\n" +"Subtraktion: hauptsächlich zur Korrektur additiver Effekte, z.B. Gradienten " +"durch Lichtverschmutzung oder auch Mondlicht.\n" +"Division: hauptsächlich zur Korrektur multiplikativer Effekte, z.B. " +"Vignettierung oder differenzielle Absorbtion durch die Atmosphäre. " +"Wesentlich erfolgt dies bereits durch die Master-Flat-Korrektur." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Subtraktion" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Division" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Korrektur" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:1214 +msgid "Banding Reduction" +msgstr "Reduzierung von Rasterung" + +#: ../src/gui/siril3.glade.h:187 +msgid "Protect from Highlights" +msgstr "Schütze vor Highlights" + +#: ../src/gui/siril3.glade.h:188 +msgid "Vertical banding" +msgstr "Vertikale Rasterung" + +#: ../src/gui/siril3.glade.h:189 +msgid "Check this box if banding is vertical." +msgstr "Klicken Sie diese Box, wenn die Rasterung.vertikal ist." + +#: ../src/gui/siril3.glade.h:190 +msgid "Apply to sequence" +msgstr "Auf Sequenz anwenden" + +#: ../src/gui/siril3.glade.h:191 +msgid "" +"If a sequence is loaded and this is activated, perform the processing on all " +"images of the sequence instead of only the loaded image." +msgstr "" +"Wenn eine Sequenz geladen und aktiviert ist, wende die Bearbeitung auf alle " +"Bilder der Sequenz an, anstatt nur auf das geladene Bild." + +#: ../src/gui/siril3.glade.h:192 +msgid "Output prefix:" +msgstr "Ausgabe-Präfix:" + +#: ../src/gui/siril3.glade.h:193 +msgid "Prefix of the image names resulting from the unband process." +msgstr "Namens-Prefix, das aus dem Raster-Unterdrückungs-Prozess stammt." + +#: ../src/gui/siril3.glade.h:194 +msgid "1/Sigma Factor" +msgstr "1/Sigma Faktor" + +#: ../src/gui/siril3.glade.h:195 +msgid "Image compositing" +msgstr "Bild Komposition" + +#: ../src/gui/siril3.glade.h:196 +msgid "Multi-layer image composition" +msgstr "Multi-layer Bild Komposition" + +#: ../src/gui/siril3.glade.h:197 +msgid "Layer alignments" +msgstr "Layer Ausrichtung" + +#. don't destroy it on removal from grid +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 +#: ../src/compositing/compositing.c:1077 +msgid "not loaded" +msgstr "nicht geladen" + +#: ../src/gui/siril3.glade.h:199 +msgid "Adjust layers brightness" +msgstr "Layer-Helligkeit einstellen" + +#: ../src/gui/siril3.glade.h:200 +msgid "" +"Automatically adjust the brightness of the colours picked for layers so that " +"they don't overflow when compositing (based on max value for each image). " +"Colour hues are unchanged." +msgstr "" +"Automatische Einstellung aller Farb-Helligkeiten, die den einzelnen Kanälen " +"zugeordnet wurden, sodaß sie durch die Zusammensetzung nicht übersättigen " +"(basierend auf dem Maximalwert für jedes Bild). Die Farbtöne ansich bleiben " +"unverändert." + +#: ../src/gui/siril3.glade.h:201 +msgid "Finalize colour balance" +msgstr "Finalisiere Farb-Balance" + +#: ../src/gui/siril3.glade.h:202 +msgid "" +"Open the RGB calibration tool on the resulting image. This will modify the " +"result in a destructive way to align the three channels of the result.\n" +"Modifying parameters in this windows afterward will void the colour balance, " +"and it will have to be remade." +msgstr "" +"Öffnen Sie das RGB-Kalibrierung-Tool im Ergebnisbild. Dies wirkt in " +"destruktiver Weise auf die Ausrichtung der 3 Kanäle des Ergebnisbildes.\n" +"Nachträgliche Parameter-Veränderungen in diesem Fenster verwerfen die Farb-" +"Balance, sodaß diese erneut bearbeitet werden muß." + +#: ../src/gui/siril3.glade.h:204 +msgid "" +"Type of luminance-based colour composition. They represent the way of adding " +"colour information to luminance data." +msgstr "" +"Verfahren zur Luminanz-basierten Farbzusammensetzung. Sie stellen die Art " +"und Weise dar, wie die Farbinformation zu den Luminanz-Daten hinzu-addiert " +"wird." + +#: ../src/gui/siril3.glade.h:205 +msgid "HSL composition" +msgstr "HSL Komposition" + +#: ../src/gui/siril3.glade.h:206 +msgid "HSV composition" +msgstr "HSV Komposition" + +#: ../src/gui/siril3.glade.h:207 +msgid "CIE L*a*b* composition" +msgstr "CIE L*a*b* Komposition" + +#: ../src/gui/siril3.glade.h:208 +msgid "" +"WARNING: You should not perform a LRGB combination with linear images. " +"Process images before." +msgstr "" +"ACHTUNG: es wird empfohlen, die LRGB-Kombination nicht mit linearen Bildern " +"durchzuführen. Bearbeiten Sie diese zuerst." + +#: ../src/gui/siril3.glade.h:209 +msgid "Align layers on this reference layer:" +msgstr "Ausrichtung der Layer auf dieses Referenz-Layer:" + +#: ../src/gui/siril3.glade.h:210 +msgid "Align" +msgstr "Ausrichten" + +#: ../src/gui/siril3.glade.h:211 +msgid "Automatic alignment using the selected registration method." +msgstr "Automatisches Ausrichten mit gewählter Registierungs-Methode." + +#: ../src/gui/siril3.glade.h:212 +msgid "Crop image to common area after align" +msgstr "" +"Zuschnitt des Bildes auf die überlappenden Bereiche nach der Ausrichtung" + +#: ../src/gui/siril3.glade.h:213 +msgid "and using this alignment method:" +msgstr "unter Anwendung folgender Ausrichtungs-Methode:" + +#: ../src/gui/siril3.glade.h:214 +msgid "For LRGB composition, the reference layer should be luminance." +msgstr "" +"Für die LRGB Komposition sollte \"Luminanz\" als Referenz-Layer gewählt " +"werden." + +#. name, lambda, lo, hi, c/over, c/under, mode +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:70 +msgid "Luminance" +msgstr "Luminanz" + +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 +msgid "Cosmetic Correction" +msgstr "Kosmetische Korrektur" + +#: ../src/gui/siril3.glade.h:217 +msgid "Close current window" +msgstr "Schließe aktuelles Fenster" + +#: ../src/gui/siril3.glade.h:218 +msgid "Apply Cosmetic Correction" +msgstr "Wende kosmetische Korrekturen an" + +#: ../src/gui/siril3.glade.h:219 +msgid "CFA" +msgstr "CFA" + +#: ../src/gui/siril3.glade.h:220 +msgid "" +"Check if the target frames are CFA images.\n" +"Uncheck if images come from a monochrome sensor." +msgstr "" +"Häckchen setzen, wenn die Ziel-Frames CFA-Bilder sind.\n" +"Häkchen nicht setzen, wenn es sich um monochrome Bilder handelt." + +#: ../src/gui/siril3.glade.h:222 +msgid "" +"Prefix of the image names resulting from the cosmetic correction process." +msgstr "Namens-Präfix der Ergebnis-Datei aus der kosmetischen Bearbeitung." + +#: ../src/gui/siril3.glade.h:223 +msgid "Cold Sigma:" +msgstr "\"Kaltes\" Sigma:" + +#: ../src/gui/siril3.glade.h:224 +msgid "" +"How many times (in averrage deviation units) a pixel value must differ from " +"the value of surrounding neighbors to be considered as a cold pixel." +msgstr "" +"Wie oft muß sich ein Pixel von seinen Nachbar-Pixeln unterscheiden, bevor es " +"als Kaltes Pixel eingestuft wird." + +#: ../src/gui/siril3.glade.h:225 +msgid "Hot Sigma:" +msgstr "\"Warmes\" Sigma:" + +#: ../src/gui/siril3.glade.h:226 +msgid "" +"How many times (in averrage deviation units) a pixel value must differ from " +"the value of surrounding neighbors to be considered as a hot pixel." +msgstr "" +"Wie oft muß sich ein Pixel von seinen Nachbar-Pixeln unterscheiden, bevor es " +"als Heißes Pixel eingestuft wird." + +#: ../src/gui/siril3.glade.h:227 +msgid "Auto detection" +msgstr "Auto-Detektion" + +#: ../src/gui/siril3.glade.h:228 +msgid "Crop sequence" +msgstr "Sequenz zuschneiden" + +#: ../src/gui/siril3.glade.h:229 +msgid "Prefix of the image names resulting from the cropping process." +msgstr "Namens-Präfix der Ergebnis-Datei nach der Bild-Zuschnitt-Bearbeitung." + +#: ../src/gui/siril3.glade.h:230 +msgid "Deconvolution" +msgstr "Dekonvolution" + +#: ../src/gui/siril3.glade.h:231 +msgid "Sigma:" +msgstr "Sigma:" + +#: ../src/gui/siril3.glade.h:232 +msgid "" +"This represents the size of the gaussian kernel which is applied. The higher " +"the value is, the stronger the effect is." +msgstr "" +"Gibt die Größe des angewendeten Gauss-Filters an. Je höher der Wert ist, " +"desto stärker ist der Effekt." + +#: ../src/gui/siril3.glade.h:233 +msgid "Algorithm:" +msgstr "Algorithmus:" + +#: ../src/gui/siril3.glade.h:234 +msgid "Number of iterations." +msgstr "Anzahl der Iterationen." + +#: ../src/gui/siril3.glade.h:235 +msgid "Fourier Transform" +msgstr "Fourier Transformation" + +#: ../src/gui/siril3.glade.h:236 +msgid "Name of the magnitude file: " +msgstr "Name der Amplituden-Informations-Datei: " + +#: ../src/gui/siril3.glade.h:237 +msgid "Name of the phase file: " +msgstr "Name der Phasen-Informations-Datei: " + +#: ../src/gui/siril3.glade.h:238 +msgid "Order: " +msgstr "Ordnung: " + +#: ../src/gui/siril3.glade.h:239 +msgid "modulus" +msgstr "Modul" + +#: ../src/gui/siril3.glade.h:240 +msgid "phase" +msgstr "Phase" + +#: ../src/gui/siril3.glade.h:241 +msgid "Centered" +msgstr "Zentriert" + +#: ../src/gui/siril3.glade.h:242 +msgid "Direct Transform" +msgstr "Direkte Transformation" + +#: ../src/gui/siril3.glade.h:243 +msgid "Magnitude of the image: " +msgstr "Amplitude des Bildes: " + +#: ../src/gui/siril3.glade.h:244 +msgid "Phase of the image: " +msgstr "Phase des Bildes: " + +#: ../src/gui/siril3.glade.h:245 +msgid "Select Magnitude" +msgstr "Amplitude auswählen" + +#: ../src/gui/siril3.glade.h:246 +msgid "Select Phase" +msgstr "Phase auswählen" + +#: ../src/gui/siril3.glade.h:247 +msgid "Inverse Transform" +msgstr "Inverse Transformation" + +#: ../src/gui/siril3.glade.h:248 +msgid "Channel Extraction" +msgstr "Kanal Extraktion" + +#: ../src/gui/siril3.glade.h:249 +msgid "File name for the first FITS file to save." +msgstr "Dateiname für die als erstes zu speichernde FITS-Datei." + +#: ../src/gui/siril3.glade.h:250 +msgid "File name for the second FITS file to save." +msgstr "Dateiname für die als zweites zu speichernde FITS-Datei." + +#: ../src/gui/siril3.glade.h:251 +msgid "File name for the third FITS file to save." +msgstr "Dateiname für die als drittes zu speichernde FITS-Datei." + +#: ../src/gui/siril3.glade.h:252 +msgid "Channel #1:" +msgstr "Kanal #1:" + +#: ../src/gui/siril3.glade.h:253 +msgid "Channel #2:" +msgstr "Kanal #2:" + +#: ../src/gui/siril3.glade.h:254 +msgid "Channel #3:" +msgstr "Kanal #3:" + +#: ../src/gui/siril3.glade.h:255 +msgid "Select the color space corresponding to the three extracted images" +msgstr "Wählen Sie den Farbraum aus, der den 3 extrahierten Bildern entspricht" + +#: ../src/gui/siril3.glade.h:256 +msgid "RGB" +msgstr "RGB" + +#: ../src/gui/siril3.glade.h:257 +msgid "HSL" +msgstr "HSL" + +#: ../src/gui/siril3.glade.h:258 +msgid "HSV" +msgstr "HSV" + +#: ../src/gui/siril3.glade.h:259 +msgid "CIE L*a*b*" +msgstr "CIE L*a*b*" + +#: ../src/gui/siril3.glade.h:260 +msgid "Color Space:" +msgstr "Farbraum:" + +#: ../src/gui/siril3.glade.h:261 +msgid "Wavelets Layers Extraction" +msgstr "Wavelet Layer Extrahierung" + +#: ../src/gui/siril3.glade.h:262 +msgid "Close" +msgstr "Schließen" + +#: ../src/gui/siril3.glade.h:263 +msgid "Apply wavelet extraction." +msgstr "Verwende Wavelet Extrahierung." + +#: ../src/gui/siril3.glade.h:264 +msgid "" +"Number of wavelet layers. You can choose up to 6 layers for wavelets " +"computing." +msgstr "" +"Anzahl der Wavelet Layer. Bis zu 6 Layer können für die Wavelet-Berechnung " +"ausgewählt werden." + +#: ../src/gui/siril3.glade.h:265 +msgid "Type of algorithm" +msgstr "Algorithmus Typ" + +#: ../src/gui/siril3.glade.h:266 +msgid "BSpline" +msgstr "BSpline" + +#: ../src/gui/siril3.glade.h:267 +msgid "Nb. of Layers: " +msgstr "Anzahl der Layer: " + +#: ../src/gui/siril3.glade.h:268 +msgid "Interpolation Algorithm:" +msgstr "Interpolations Algorithmus:" + +#: ../src/gui/siril3.glade.h:269 +msgid "Histograms" +msgstr "Histogramme" + +#: ../src/gui/siril3.glade.h:270 +msgid "Horizontal Zoom" +msgstr "Horizontal Zoomen" + +#: ../src/gui/siril3.glade.h:271 +msgid "Reset zooms to 1." +msgstr "Rücksetzen auf Zoom-Faktor = 1." + +#: ../src/gui/siril3.glade.h:272 +msgid "Logarithmic scale" +msgstr "Logarithmische Skala" + +#: ../src/gui/siril3.glade.h:273 +msgid "Midtones balance" +msgstr "Mitten Balance" + +#: ../src/gui/siril3.glade.h:274 +msgid "Shadows clipping" +msgstr "Schatten Übersteuerung" + +#: ../src/gui/siril3.glade.h:275 +msgid "Highlights clipping" +msgstr "Highlights Übersteuerung" + +#: ../src/gui/siril3.glade.h:276 +msgid "Show grids" +msgstr "Zeige Gitter" + +#: ../src/gui/siril3.glade.h:277 +msgid "Show MTF curve" +msgstr "Zeige MTF Kurve" + +#: ../src/gui/siril3.glade.h:278 +msgid "Apply autostretch algorithm to image" +msgstr "Wende Auto-Stretch Algorithmus auf Bild an" + +#: ../src/gui/siril3.glade.h:279 +msgid "Highlights: " +msgstr "Highlights: " + +#: ../src/gui/siril3.glade.h:280 +msgid "Midtones: " +msgstr "Mitteltöne: " + +#: ../src/gui/siril3.glade.h:281 +msgid "Shadows: " +msgstr "Schatten: " + +#: ../src/gui/siril3.glade.h:283 +#, no-c-format +msgid "Clip (%)" +msgstr "Clip (%)" + +#: ../src/gui/siril3.glade.h:284 +msgid "Clipped pixels count (shadows)" +msgstr "Anzahl übersteuerter Pixel (Schatten)" + +#: ../src/gui/siril3.glade.h:285 +msgid "Clipped pixels count (highlights)" +msgstr "Anzahl übersteuerter Pixel (Highlights)" + +#: ../src/gui/siril3.glade.h:286 +msgid "Reset" +msgstr "Reset" + +#: ../src/gui/siril3.glade.h:287 +msgid "Apply histogram transformation" +msgstr "Histogramm Transformation anwenden" + +#: ../src/gui/siril3.glade.h:288 +msgid "Resample" +msgstr "Resample" + +#: ../src/gui/siril3.glade.h:290 +#, no-c-format +msgid "X scale (%): " +msgstr "X-Skalierung (%): " + +#: ../src/gui/siril3.glade.h:292 +#, no-c-format +msgid "Y scale (%): " +msgstr "Y-Skalierung (%): " + +#: ../src/gui/siril3.glade.h:293 +msgid "Preserve Aspect Ratio" +msgstr "Seitenverhältnis beibehalten" + +#: ../src/gui/siril3.glade.h:294 +msgid "Type of algorithm used for resampling" +msgstr "Algorithmus für's Resampling" + +#: ../src/gui/siril3.glade.h:295 +msgid "Nearest Neighbor" +msgstr "Nächster Nachbar" + +#: ../src/gui/siril3.glade.h:296 +msgid "Bilinear (default)" +msgstr "Bilinear (Grundeinstellung)" + +#: ../src/gui/siril3.glade.h:297 +msgid "Pixel Area Relation" +msgstr "Pixel zu Fläche Verhältnis" + +#: ../src/gui/siril3.glade.h:298 +msgid "Bicubic" +msgstr "Bikubisch" + +#: ../src/gui/siril3.glade.h:299 +msgid "Lanczos-4" +msgstr "Lanczos-4" + +#: ../src/gui/siril3.glade.h:300 +msgid "Rotational Gradient" +msgstr "Rotatorischer Gradient" + +#: ../src/gui/siril3.glade.h:301 +msgid "The rotational gradient will be applied." +msgstr "Der rotatorische Gradient wird angewendet." + +#: ../src/gui/siril3.glade.h:302 +msgid "Radial shift: " +msgstr "Radiale Verschiebung: " + +#: ../src/gui/siril3.glade.h:303 +msgid "Radial shift used to compute rotational gradient." +msgstr "" +"Verwendet die radiale Verschiebung zur Berechnung des Rotations-Gradienten." + +#: ../src/gui/siril3.glade.h:304 +msgid "Rotational shift: " +msgstr "Rotations-Winkel-Verschiebung: " + +#: ../src/gui/siril3.glade.h:305 +msgid "Rotational shift used to compute rotational gradient." +msgstr "" +"Der rotatorische Gradient wird aus der Rotations-Winkel-Verschiebung " +"berechnet." + +#: ../src/gui/siril3.glade.h:306 +msgid "X coordinate of the center of polar coordinates." +msgstr "X-Koordinate des Zentrums für Polarkoordinaten." + +#: ../src/gui/siril3.glade.h:307 +msgid "Y coordinate of the center of polar coordinates." +msgstr "Y-Koordinate des Zentrums für Polarkoordinaten." + +#: ../src/gui/siril3.glade.h:308 +msgid "X centre:" +msgstr "X-Zentrum:" + +#: ../src/gui/siril3.glade.h:309 +msgid "Y centre:" +msgstr "Y-Zentrum:" + +#: ../src/gui/siril3.glade.h:310 +msgid "root name of the converted images (the 'dest' in dest1.fit)" +msgstr "" +"Namensstamm der konvertierten Bilder (the 'dest' in dest1.fit)" + +#: ../src/gui/siril3.glade.h:311 +msgid "root name of the converted images (the 'dest' in dest1.fit)" +msgstr "Namensstamm der konvertierten Bilder (the 'dest' in dest1.fit)" + +#: ../src/gui/siril3.glade.h:312 +msgid "Filename" +msgstr "Datei-Name" + +#: ../src/gui/siril3.glade.h:313 +msgid "8-bit unsigned integer" +msgstr "8-bit Integer (unsigned)" + +#: ../src/gui/siril3.glade.h:314 +msgid "16-bit unsigned integer" +msgstr "16-bit Integer (unsigned)" + +#: ../src/gui/siril3.glade.h:315 +msgid "Sample Format" +msgstr "Sampling Format" + +#: ../src/gui/siril3.glade.h:316 +msgid "None" +msgstr "Keine" + +#: ../src/gui/siril3.glade.h:317 +msgid "Deflate compression" +msgstr "Dekomprimiere" + +#: ../src/gui/siril3.glade.h:318 +msgid "Compression" +msgstr "Kompression" + +#: ../src/gui/siril3.glade.h:319 +msgid "Image Description" +msgstr "Bild Beschreibung" + +#: ../src/gui/siril3.glade.h:320 +msgid "Image Copyright" +msgstr "Bilder Copyright" + +#: ../src/gui/siril3.glade.h:321 +msgid "TIFF" +msgstr "TIFF" + +#: ../src/gui/siril3.glade.h:322 +msgid "Quality: " +msgstr "Qualität: " + +#: ../src/gui/siril3.glade.h:323 +msgid "JPEG" +msgstr "JPEG" + +#: ../src/gui/siril3.glade.h:324 +msgid "Not available" +msgstr "Nicht verfügbar" + +#: ../src/gui/siril3.glade.h:325 +msgid "16-bit signed integer" +msgstr "16-bit Integer (signed)" + +#: ../src/gui/siril3.glade.h:326 +msgid "Sample Format" +msgstr "Sampling Format" + +#: ../src/gui/siril3.glade.h:327 +msgid "Save MIPS-HI and MIPS-LO values" +msgstr "Speichere MIPS-HI und MIPS-LO Werte" + +#: ../src/gui/siril3.glade.h:328 +msgid "Embedded Data" +msgstr "Eingebundene Daten" + +#: ../src/gui/siril3.glade.h:329 +msgid "FITS" +msgstr "FITS" + +#: ../src/gui/siril3.glade.h:330 +msgid "Settings" +msgstr "Einstellungen" + +#: ../src/gui/siril3.glade.h:331 +msgid "Use automatic daylight multiplier" +msgstr "Benutze automatischen Tageslicht-Multiplikator" + +#: ../src/gui/siril3.glade.h:332 +msgid "" +"When this option is enabled, coefficients for each channel are automatically " +"computed. You can choose your own multiplier by unchecking this box." +msgstr "" +"Wenn diese Option gesetzt ist, werden die Koeffizienten für jeden Kanal " +"automatisch berechnet. Option nicht gesetzt: bestimmen Sie Ihren eigenen " +"Multiplikator." + +#: ../src/gui/siril3.glade.h:333 +msgid "" +"Specify your own raw white balance. The value for the Red scale is relative " +"to the Green." +msgstr "" +"Definieren Sie Ihren eigenen RAW-Weißabgleich. Der Wert der Blau-Skala steht " +"im Bezug zu Grün." + +#: ../src/gui/siril3.glade.h:334 +msgid "" +"Specify your own raw white balance. The value for the Blue scale is relative " +"to the Green." +msgstr "" +"Definieren Sie Ihren eigenen RAW-Weißabgleich. Der Wert der Blau-Skala steht " +"im Bezug zu Grün." + +#: ../src/gui/siril3.glade.h:335 +msgid "Brightness" +msgstr "Helligkeit" + +#: ../src/gui/siril3.glade.h:336 +msgid "Divide the white level by this number." +msgstr "Teile den Weiß-Level durch diese Zahl." + +#: ../src/gui/siril3.glade.h:337 +msgid "No black point correction" +msgstr "Keine Schwarzpunkt-Korrektur" + +#: ../src/gui/siril3.glade.h:338 +msgid "" +"When this option is enabled, no black point correction is applied to raw " +"images." +msgstr "" +"Wenn diese Option gesetzt ist, wird keine Schwarzpunkt-Korrektur auf die " +"RAWs angewandt." + +#: ../src/gui/siril3.glade.h:339 +msgid "Image Color Adjustement" +msgstr "Bild Farbabgleich" + +#: ../src/gui/siril3.glade.h:340 +msgid "" +"Select an interpolation method to perform demosaicing before opening image." +msgstr "" +"Vor dem Öffnen des Bildes wählen Sie bitte eine Interpolations-Methode zur " +"Auflösung eines Mosaiks." + +#: ../src/gui/siril3.glade.h:341 +msgid "High-speed, low-quality bilinear" +msgstr "Schnell, aber geringere Qualität, bilinear" + +#: ../src/gui/siril3.glade.h:342 +msgid "Adaptive Homogeneity-Directed (AHD)" +msgstr "Geführt über adaptive Homogenität (AHD: Adaptive Homogeneity-Directed)" + +#: ../src/gui/siril3.glade.h:343 +msgid "Variable Number of Gradients (VNG)" +msgstr "Variable Anzahl von Gradienten (VNG: Variable Number of Gradients)" + +#: ../src/gui/siril3.glade.h:344 +msgid "Patterned Pixel Grouping (PPG)" +msgstr "Gemusterte Pixel-Gruppierung (PPG: Patterned Pixel Grouping)" + +#: ../src/gui/siril3.glade.h:345 +msgid "Image Matrix Interpolation" +msgstr "Bild Matrix Interpolation" + +#: ../src/gui/siril3.glade.h:346 +msgid "No gamma correction is applied to the image." +msgstr "Es wird keine Gamma-Korrektur auf das Bild angewandt." + +#: ../src/gui/siril3.glade.h:347 +msgid "BT.709 curve" +msgstr "BT.709 Kurve" + +#: ../src/gui/siril3.glade.h:348 +msgid "Apply a specific gamma curve to the image." +msgstr "Wende eine bestimmte Gamma-Kurve auf das Bild an." + +#: ../src/gui/siril3.glade.h:349 +msgid "sRGB curve" +msgstr "sRGB Kurve" + +#: ../src/gui/siril3.glade.h:350 +msgid "Apply a specific gamma curve to the image" +msgstr "Wende eine bestimmte Gamma-Kurve auf das Bild an" + +#: ../src/gui/siril3.glade.h:351 +msgid "Image Gamma Correction" +msgstr "Bild Gamma Korrektur" + +#: ../src/gui/siril3.glade.h:352 +msgid "" +"Use the white balance \n" +"specified by the camera" +msgstr "Benutze Kamera-Weißabgleich" + +#: ../src/gui/siril3.glade.h:354 +msgid "" +"By default, libraw uses a fixed white balance based on a color chart " +"illuminated with a standard D65 lamp. If you check this box, libraw will try " +"to use data specified by your camera." +msgstr "" +"Standardmäßig verwendet 'libraw' einen festen Weißabgleich, basierend auf " +"einem Farbdiagramm, das von einer D65-Lampe beleuchtet wird. Setzen Sie " +"dieses Häkchen, versucht 'libraw' die Kamera-internen Weißabgleichs-Werte zu " +"benutzen." + +#: ../src/gui/siril3.glade.h:355 +msgid "" +"Calculate the white balance \n" +"by averaging the entire image" +msgstr "Berechne den Weißabgleich durch Mittlung des gesamten Bildes" + +#: ../src/gui/siril3.glade.h:357 +msgid "" +"By default, libraw uses a fixed white balance based on a color chart " +"illuminated with a standard D65 lamp. If you check this box, libraw will " +"compute the white balance by averaging the entire image." +msgstr "" +"Standardmäßig verwendet 'libraw' einen festen Weißabgleich, basierend auf " +"einem Farbdiagramm, das von einer D65-Lampe beleuchtet wird. Setzen Sie " +"dieses Häkchen, versucht 'libraw' die Weißabgleichs-Werte durch Mittlung des " +"gesamten Bildes zu errechnen." + +#: ../src/gui/siril3.glade.h:358 +msgid "Image White Balance" +msgstr "Bild Weißabgleich" + +#: ../src/gui/siril3.glade.h:359 +msgid "DSLR RAW file format decoder based on the libraw library." +msgstr "DSLR RAW Dateiformat-Dekodierer basiert auf der \"libraw library\"." + +#: ../src/gui/siril3.glade.h:360 +msgid "DSLR RAW debayer" +msgstr "DSLR RAW debayern" + +#: ../src/gui/siril3.glade.h:361 +msgid "Bayer pattern from file's header if available" +msgstr "Benutze Bayer-Matrix aus dem Datei-Header, wenn verfügbar" + +#: ../src/gui/siril3.glade.h:362 +msgid "" +"If this box is checked, Siril will automatically apply the Bayer pattern " +"found in the file's header. If the result looks wrong uncheck this box and " +"choose manually your pattern in the Debayer box below." +msgstr "" +"Ist diese Option gesetzt, benutzt SIRIL automatisch das Bayer-Matrix aus dem " +"Datei-Header. Wenn das Ergebnis falsch aussieht, entfernen Sie das Häkchen " +"in dieser Box und wählen Sie das Bayer-Matrix manuell." + +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Debayern in umgekehrter Reihenfolge (unten nach oben)" + +#: ../src/gui/siril3.glade.h:364 +msgid "" +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Siril liest die Daten von unten nach oben. Wenn die Firmware die Daten von " +"oben nach unten abspeichert (normalerweise ist das der Fall), markieren Sie " +"diese Checkbox." + +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Strecke CFA FITS der DSLR auf 16bit" + +#: ../src/gui/siril3.glade.h:366 +msgid "" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"Wenn die RAW-Daten aus einer DSLR stammen und die Normalisierungs-Info aus " +"dem FITS-Header, können diese durch Setzen dieser Option auf 16bit gestreckt " +"werden." + +#: ../src/gui/siril3.glade.h:367 +msgid "" +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"Wegen Beschränkungen im Algorithmus können komplexere Debayering Algorithmen " +"im Reject-Stacking nicht verwendet werden. Zudem ergaben Tests keine " +"Verbesserung der Bildqualität bei Verwendung vieler Frames, aber dafür ein " +"Vielfaches an Rechenzeit." + +#: ../src/gui/siril3.glade.h:368 +msgid "" +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." +msgstr "" +"Achtung: bei on-the-fly Debayering wird immer der bilinieare Algorithmus " +"verwendet." + +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Wählen Sie die Bayer-Matrix Ihrer Kamera." + +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Bayer-Matrix: " + +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Wählen sie eine Interpolations-Methode für Entflechtung des Mosaiks." + +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Debayer Interpolation: " + +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilinear" + +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" + +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" + +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super Pixel" + +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayern" + +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Anders debayern" + +#: ../src/gui/siril3.glade.h:379 +msgid "A/D converter gain in electrons per ADU. Default value is 2.300." +msgstr "" +"A/D-Konverter Verstärkung in Elektronen pro A/D-Einheit. Standardwert ist " +"2.300." + +#: ../src/gui/siril3.glade.h:380 +msgid "ADC gain:" +msgstr "ADC Verstärkung:" + +#: ../src/gui/siril3.glade.h:381 +msgid "Camera" +msgstr "Kamera" + +#: ../src/gui/siril3.glade.h:382 +msgid "Inner radius: " +msgstr "Innerer Radius: " + +#: ../src/gui/siril3.glade.h:383 +msgid "Outer radius:" +msgstr "Äußerer Radius:" + +#: ../src/gui/siril3.glade.h:384 +msgid "" +"Inner radius of the annulus used to measure local background. Default value " +"is 20.00." +msgstr "" +"Innerer Radius des Annulus für die Messung des lokalen Hintergrundes. " +"Standardwert ist 20,00." + +#: ../src/gui/siril3.glade.h:385 +msgid "" +"Outer radius of the annulus used to measure local background. Default value " +"is 30.00." +msgstr "" +"Äußerer Radius des Annulus für die Messung des lokalen Hintergrundes. " +"Standardwert ist 30,00." + +#: ../src/gui/siril3.glade.h:386 +msgid "Size of the annulus for background level measurement" +msgstr "" +"Größe des Annulus für die Messung des lokalen Hintergrundes (Werte in Pixeln)" + +#: ../src/gui/siril3.glade.h:387 +msgid "Restore to Default" +msgstr "Standard wiederherstellen" + +#: ../src/gui/siril3.glade.h:388 +msgid "Restore the defaut parameters" +msgstr "Standard-Parameter wiederherstellen" + +#: ../src/gui/siril3.glade.h:389 +msgid "Photometry" +msgstr "Photometrie" + +#: ../src/gui/siril3.glade.h:390 +msgid "" +"Select an existing directory. Make sure you have write permissions and " +"enough spaces." +msgstr "" +"Wählen Sie ein existierendes Verzeichnis. Stellen Sie sicher, daß Sie über " +"die nötigen Zugriffsrechte verfügen und genügend Speicherplatz vorhanden ist." + +#: ../src/gui/siril3.glade.h:391 +msgid "Select Swap Directory" +msgstr "Wählen Sie das Swap-Verzeichnis" + +#: ../src/gui/siril3.glade.h:392 +msgid "Restore the defaut swap storage directory" +msgstr "Standard Swap-Speicher-Verzeichnis wiederherstellen" + +#: ../src/gui/siril3.glade.h:393 +msgid "Swap Storage Directory" +msgstr "Swap-Speicher Verzeichnis" + +#: ../src/gui/siril3.glade.h:394 +msgid "" +"The memory used corresponds to this value times the total of available " +"memory.\n" +"WARNING: Reducing the ratio of memory allocated to computation will degrade " +"performances." +msgstr "" +"Dieser Wert entspricht dem verwendeten Anteil des verfügbaren Gesamt-" +"Speicherplatzes.\n" +"WARNUNG: Reduzierung dieses Wertes hat eine Verlangsamung der Performance " +"zur Folge." + +#: ../src/gui/siril3.glade.h:396 +msgid "RAM ratio" +msgstr "RAM ratio" + +#: ../src/gui/siril3.glade.h:397 +msgid "Type of extension: " +msgstr "Datei-Extension Typ: " + +#: ../src/gui/siril3.glade.h:398 +msgid ".fit" +msgstr ".fit" + +#: ../src/gui/siril3.glade.h:399 +msgid ".fits" +msgstr ".FITS" + +#: ../src/gui/siril3.glade.h:400 +msgid ".fts" +msgstr ".fts" + +#: ../src/gui/siril3.glade.h:401 +msgid "FITS Format" +msgstr "FITS Format" + +#: ../src/gui/siril3.glade.h:402 +msgid "Don't ask before quitting" +msgstr "Nicht nachfragen vor dem Verlassen" + +#: ../src/gui/siril3.glade.h:403 +msgid "Confirmation dialog" +msgstr "Bestätigungs-Dialog" + +#: ../src/gui/siril3.glade.h:404 +msgid "Change the theme of the interface." +msgstr "Ändert das Erscheinungsbild des Interface." + +#: ../src/gui/siril3.glade.h:405 +msgid "Automatic" +msgstr "Automatisch" + +#: ../src/gui/siril3.glade.h:406 +msgid "Dark theme" +msgstr "Dark Theme" + +#: ../src/gui/siril3.glade.h:407 +msgid "Light theme" +msgstr "Light Theme" + +#: ../src/gui/siril3.glade.h:408 +msgid "Remember window positions" +msgstr "Behalte Fenster-Position bei" + +#: ../src/gui/siril3.glade.h:409 +msgid "" +"Remember positions of image displaying windows. This feature may not work on " +"all architectures." +msgstr "" +"Behalte Positionen der Bildanzeige-Fenster bei. Dieses Feature funktioniert " +"ggfs. nicht in allen System-Architekturen." + +#: ../src/gui/siril3.glade.h:410 +msgid "Look and feel" +msgstr "Aussehen" + +#: ../src/gui/siril3.glade.h:411 +msgid "" +"The paths written in this text box will be checked in order to load scripts " +"that have been put inside. Write a path per line with as many lines you " +"want. However you have to keep in mind that more paths are cheked the longer " +"is the startup." +msgstr "" +"Die Dateipfade in dieser Text-Box werden auf darin hinterlegte Skripte " +"überprüft. Geben Sie einen Pfad je Zeile an, benutzen Sie soviele Zeilen wie " +"sie möchten. Bedenken Sie, je mehr Pfade Sie hinterlegen, desto länger " +"dauert der Programmstart." + +#: ../src/gui/siril3.glade.h:412 +msgid "Scripts Storage Directories" +msgstr "Speicherort für Scripte" + +#: ../src/gui/siril3.glade.h:413 +msgid "Misc." +msgstr "Verschiedenes." + +#: ../src/gui/siril3.glade.h:414 +msgid "Dynamic PSF" +msgstr "Dynamisches PSF" + +#: ../src/gui/siril3.glade.h:415 +msgid "Ch." +msgstr "Kan." + +#: ../src/gui/siril3.glade.h:416 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:417 +msgid "A" +msgstr "A" + +#: ../src/gui/siril3.glade.h:418 +msgid "x0" +msgstr "x0" + +#: ../src/gui/siril3.glade.h:419 +msgid "y0" +msgstr "y0" + +#: ../src/gui/siril3.glade.h:420 +msgid "FWHMx" +msgstr "FWHMx" + +#: ../src/gui/siril3.glade.h:421 +msgid "FWHMy" +msgstr "FWHMy" + +#: ../src/gui/siril3.glade.h:422 +msgid "Mag" +msgstr "Mag" + +#: ../src/gui/siril3.glade.h:423 +msgid "r" +msgstr "r" + +#: ../src/gui/siril3.glade.h:424 +msgid "Angle" +msgstr "Winkel" + +#: ../src/gui/siril3.glade.h:425 +msgid "RMSE" +msgstr "RMSE" + +#: ../src/gui/siril3.glade.h:426 +msgid "Size in pixels of the search box." +msgstr "Größe der Such-Box in Pixeln." + +#: ../src/gui/siril3.glade.h:427 +msgid "" +"Threshold value above the noise for stars detection.\n" +"The median and standard deviation values of the image are determined, then " +"the threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00." +msgstr "" +"Schwellwert oberhalb des Rauschens zur Sternerkennung.\n" +"Zunächst werden die Werte zu Median und Standard-Abweichung bestimmt und " +"daraus dann der Schwellwert berechnet nach Median + [Schwellwert] x stdev\n" +"Standard-Schwellwert ist 1,00." + +#: ../src/gui/siril3.glade.h:430 +msgid "Radius: " +msgstr "Radius: " + +#: ../src/gui/siril3.glade.h:431 +msgid "Threshold: " +msgstr "Schwellwert: " + +#: ../src/gui/siril3.glade.h:432 +msgid "Roundness threshold:" +msgstr "Rundheits-Schwellwert:" + +#: ../src/gui/siril3.glade.h:433 +msgid "" +"Threshold value of star roundnesses. Decrease this value if your stars show " +"small trails.\n" +"\n" +"WARNING: ensure you have a good reason to change this value because it may " +"degrade the star detection." +msgstr "Schwellwert für Stern-Rundheit." + +#: ../src/gui/siril3.glade.h:436 +msgid "Export PSF parameters in an ASCII file" +msgstr "Exportiere PSF Parameter in eine ASCII-Datei" + +#: ../src/gui/siril3.glade.h:437 +msgid "Remove selected star from the list" +msgstr "Entferne ausgewählten Stern aus der Liste" + +#: ../src/gui/siril3.glade.h:438 +msgid "Remove all stars from the list" +msgstr "Entferne alle Sterne von der Liste" + +#: ../src/gui/siril3.glade.h:439 +msgid "Wavelets control" +msgstr "Wavelet Kontrolle" + +#: ../src/gui/siril3.glade.h:440 +msgid "Cancel all changes applied" +msgstr "Alle Änderungen verwerfen" + +# Wavelet mit Nutzsignal übersetzt +#: ../src/gui/siril3.glade.h:441 +msgid "Select an algorithm type to perform wavelets" +msgstr "Wählen Sie einen Algorithmus zur Wavelet-Bearbeitung" + +#: ../src/gui/siril3.glade.h:442 +msgid "Type:" +msgstr "Typ:" + +#: ../src/gui/siril3.glade.h:443 +msgid "Nb of plans:" +msgstr "Anzahl der Ebenen:" + +#: ../src/gui/siril3.glade.h:444 +msgid "Number of wavelet layers that will be used" +msgstr "Anzahl zu benutzender Wavelet-Layer" + +#: ../src/gui/siril3.glade.h:445 +msgid "Compute wavelets" +msgstr "Berechne Wavelet" + +#: ../src/gui/siril3.glade.h:446 +msgid "1st Plan:" +msgstr "1ster Plan:" + +#: ../src/gui/siril3.glade.h:447 +msgid "2nd Plan:" +msgstr "2ter Plan:" + +#: ../src/gui/siril3.glade.h:448 +msgid "3th Plan:" +msgstr "3ter Plan:" + +#: ../src/gui/siril3.glade.h:449 +msgid "4th Plan:" +msgstr "4ter Plan:" + +#: ../src/gui/siril3.glade.h:450 +msgid "5th Plan:" +msgstr "5ter Plan:" + +#: ../src/gui/siril3.glade.h:451 +msgid "6th Plan:" +msgstr "6ter Plan:" + +#: ../src/gui/siril3.glade.h:452 +msgid "Reset changes" +msgstr "Änderungen zurücksetzen" + +#: ../src/gui/siril3.glade.h:453 +msgid "Adjust" +msgstr "Einstellen" + +#: ../src/gui/siril3.glade.h:454 +msgid "Rotation" +msgstr "Rotation" + +#: ../src/gui/siril3.glade.h:455 +msgid "Angle (°): " +msgstr "Winkel (°): " + +#: ../src/gui/siril3.glade.h:456 +msgid "Checking this box will crop the output image." +msgstr "Ist das Häkchen gesetzt, wird das Ergebnisbild zurechtgeschnitten." + +#: ../src/gui/siril3.glade.h:457 +msgid "Angle in degrees. Rotation center is the center of the image." +msgstr "Winkelangaben in Grad. Drehmittelpunkt entspricht der Bildmitte." + +#: ../src/gui/siril3.glade.h:458 +msgid "Type of algorithm used for rotation" +msgstr "Algorithmus-Typ für die Rotation" + +#: ../src/gui/siril3.glade.h:459 +msgid "Siril control center" +msgstr "SIRIL Kontrollzentrum" + +#: ../src/gui/siril3.glade.h:460 +msgid "_File" +msgstr "_Datei" + +#: ../src/gui/siril3.glade.h:461 +msgid "Save as..." +msgstr "Speichern als..." + +#: ../src/gui/siril3.glade.h:462 +msgid "Informations..." +msgstr "Informationen..." + +#: ../src/gui/siril3.glade.h:463 +msgid "FITS Header..." +msgstr "FITS Header..." + +#: ../src/gui/siril3.glade.h:464 +msgid "_Edit" +msgstr "_Edit" + +#: ../src/gui/siril3.glade.h:465 +msgid "_Image Processing" +msgstr "_Bildbearbeitung" + +#: ../src/gui/siril3.glade.h:466 +msgid "Asinh Transformation..." +msgstr "Asinh Transformation..." + +#: ../src/gui/siril3.glade.h:467 +msgid "Histogram Transformation..." +msgstr "Histogramm Transformation..." + +#: ../src/gui/siril3.glade.h:468 +msgid "Color Calibration" +msgstr "Farb-Kalibrierung" + +#: ../src/gui/siril3.glade.h:469 +msgid "Color Calibration..." +msgstr "Farbkalibrierung..." + +#: ../src/gui/siril3.glade.h:470 +msgid "Photometric Color Calibration..." +msgstr "Photometrische Farbkalibrierung..." + +#: ../src/gui/siril3.glade.h:471 +msgid "Color Saturation..." +msgstr "Farbsättigung..." + +#: ../src/gui/siril3.glade.h:472 +msgid "Remove Green Noise..." +msgstr "Grün-Rauschen entfernen..." + +#: ../src/gui/siril3.glade.h:473 +msgid "Negative Transformation" +msgstr "Negative Transformation" + +# unschön, genaue Beschreibung erforderlich +#: ../src/gui/siril3.glade.h:474 +msgid "À trous Wavelets Transform..." +msgstr "Wavelet-Transformation \"auf Lücke\"..." + +#: ../src/gui/siril3.glade.h:475 +msgid "Banding Reduction..." +msgstr "Banding Reduzierung..." + +#: ../src/gui/siril3.glade.h:476 +msgid "Cosmetic Correction..." +msgstr "Kosmetische Korrekturen..." + +# ggfs auch Entflechtung? +#: ../src/gui/siril3.glade.h:477 ../src/opencv/opencv.cpp:565 +msgid "Deconvolution..." +msgstr "Dekonvolution..." + +#: ../src/gui/siril3.glade.h:478 +msgid "Fourier Transform..." +msgstr "Fourier Transformation..." + +#: ../src/gui/siril3.glade.h:479 +msgid "Median Filter..." +msgstr "Median Filter..." + +#: ../src/gui/siril3.glade.h:480 +msgid "Rotational Gradient..." +msgstr "Rotatorischer Gradient..." + +#: ../src/gui/siril3.glade.h:481 +msgid "Geometry" +msgstr "Geometrie" + +#: ../src/gui/siril3.glade.h:482 +msgid "Horizontal Mirror" +msgstr "Horizontal spiegeln" + +#: ../src/gui/siril3.glade.h:483 +msgid "Vertical Mirror" +msgstr "Vertical spiegeln" + +#: ../src/gui/siril3.glade.h:484 +msgid "Rotation..." +msgstr "Drehung..." + +#: ../src/gui/siril3.glade.h:485 +msgid "Resample..." +msgstr "Resample..." + +#: ../src/gui/siril3.glade.h:486 +msgid "Background Extraction..." +msgstr "Hintergrund-Extraktion..." + +#: ../src/gui/siril3.glade.h:487 +msgid "Extraction" +msgstr "Extraktion" + +#: ../src/gui/siril3.glade.h:488 +msgid "Channels..." +msgstr "Kanäle..." + +#: ../src/gui/siril3.glade.h:489 +msgid "Wavelet Layers..." +msgstr "Wavelet-Layer..." + +#: ../src/gui/siril3.glade.h:490 +msgid "RGB Compositing..." +msgstr "RGB Zusammensetzung..." + +#: ../src/gui/siril3.glade.h:491 +msgid "_Scripts" +msgstr "_Scripte" + +#: ../src/gui/siril3.glade.h:492 +msgid "_Analysis" +msgstr "_Analyse" + +#: ../src/gui/siril3.glade.h:493 +msgid "Dynamic PSF..." +msgstr "Dynamisches PSF..." + +#: ../src/gui/siril3.glade.h:494 +msgid "Image Plate Solver..." +msgstr "Astrometrische Auflösung (Plate Solving)..." + +#: ../src/gui/siril3.glade.h:495 +msgid "Statistics..." +msgstr "Statistik..." + +#: ../src/gui/siril3.glade.h:496 +msgid "Noise Estimation" +msgstr "Einschätzungdes Rauschens" + +#: ../src/gui/siril3.glade.h:497 +msgid "_Windows" +msgstr "_Fenster" + +#: ../src/gui/siril3.glade.h:498 +msgid "Gray Channels Images" +msgstr "Grau-Kanal Bilder" + +#: ../src/gui/siril3.glade.h:499 +msgid "Color Image" +msgstr "Farbbilder" + +#: ../src/gui/siril3.glade.h:500 +msgid "_Help" +msgstr "_Hilfe" + +#: ../src/gui/siril3.glade.h:501 +msgid "Check For Updates" +msgstr "Nach Updates suchen" + +#: ../src/gui/siril3.glade.h:502 +msgid "Get scripts" +msgstr "Scripte laden" + +#: ../src/gui/siril3.glade.h:503 +msgid "" +"This conversion tab is used to import files and convert them into a format " +"with which Siril can work: FITS or SER." +msgstr "" +"In diesem Konvertierungs-Tab können Dateien importiert und in ein Format " +"konvertiert werden, mit dem SIRIL arbeiten kann: FITS oder SER." + +#: ../src/gui/siril3.glade.h:504 +msgid "Source" +msgstr "Quelle" + +#: ../src/gui/siril3.glade.h:505 +msgid "Date" +msgstr "Datum" + +#: ../src/gui/siril3.glade.h:506 +msgid "Add files to convert" +msgstr "Dateien zum Konvertieren hinzufügen" + +#: ../src/gui/siril3.glade.h:507 +msgid "Remove selected files" +msgstr "Entferne ausgewählte Dateien" + +#: ../src/gui/siril3.glade.h:508 +msgid "Remove all files from the list" +msgstr "Entferne alle Dateien aus der Liste" + +#: ../src/gui/siril3.glade.h:509 +msgid "Destination" +msgstr "Ziel" + +#: ../src/gui/siril3.glade.h:510 +msgid "Sequence name:" +msgstr "Name für die Sequenz:" + +#: ../src/gui/siril3.glade.h:511 +msgid "" +"Enter the base name of the sequence, for example NGC_6822-L. It will create " +"images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " +"which will enable SER output format for the conversion." +msgstr "" +"Geben Sie hier den Stamm-Namen für die Sequenz an, z.B. \"NGC_6822-L\". Dann " +"werden Dateien im Namens-Format \"NGC_6822-L_00001.fit\" generiert. Dieser " +"Name kann auch mit \".ser\" enden, dann werden alle Dateien im SER-Format " +"ausgegeben." + +#: ../src/gui/siril3.glade.h:512 +msgid "Colour image target" +msgstr "Ziel für Farbbild" + +#: ../src/gui/siril3.glade.h:513 +msgid "Keep three channels" +msgstr "3 Kanäle beibehalten" + +#: ../src/gui/siril3.glade.h:514 +msgid "" +"Keep the destination image with RGB channels, do not change the channels " +"configuration." +msgstr "Erhalte RGB-Kanäle im Ziel-Bild, Kanal-Konfiguration nicht ändern." + +#: ../src/gui/siril3.glade.h:515 +msgid "Create three images" +msgstr "Erzeuge 3 Bilder" + +#: ../src/gui/siril3.glade.h:516 +msgid "Split an RGB image into three images, R, G and B." +msgstr "Erzeuge je ein Einzelbild für R, G und B aus einem RGB-Bild." + +#: ../src/gui/siril3.glade.h:517 +msgid "Keep only first channel" +msgstr "Behalte nur den ersten Kanal" + +#: ../src/gui/siril3.glade.h:518 +msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." +msgstr "" +"Erhalte nur den R-Kanal aus einem RGB-Bild. Nützlich zur Erstellung von Grau-" +"Bildern aus einem RGB-Bild." + +#: ../src/gui/siril3.glade.h:519 +msgid "" +"Indicates the start indice of your converted files. This value must be " +"included in the [1, 65535] range." +msgstr "" +"Gibt den Start-Index Ihrer konvertierten Dateien vor. Es sind nur Werte im " +"Bereich [1,65535] möglich." + +#: ../src/gui/siril3.glade.h:520 +msgid "" +"Debayer single-channel images (CFA format) using the Bayer matrix layout " +"given in the settings. Also applies to image opening, not only conversion.\n" +"Only for RAW and FITS input images and SER films.\n" +"Colour image target also applies to the debayer result for conversion." +msgstr "" +"Einkanalige Bilder (CFA-Format) de-bayern mithilfe der Bayer-Matrix aus den " +"Einstellungen. Diese wird auch beim Öffnen angewendet, nicht nur bei der " +"Konvertierung.\n" +"Nur verwendbar bei RAW- und FITS-Dateien möglich, sowie für SER-" +"Videodateien.\n" +"Die Farbbild-Ziel-Datei verwendet das Ergebnis der Konvertierung ebenfalls." + +#: ../src/gui/siril3.glade.h:523 +msgid "" +"Start conversion of all source files into the configured output files, FITS " +"or SER, with colour processing or not." +msgstr "" +"Starte die Konvertierung aller Quell-Dateien ins konfigurierte Ausgangs-" +"Format: FITS oder SER, mit oder ohne Farbe." + +#: ../src/gui/siril3.glade.h:524 +msgid "Create as many SER files as input files" +msgstr "Erstelle genauso viele SER-Dateien wie Input-Dateien" + +#: ../src/gui/siril3.glade.h:525 +msgid "" +"Tick this to create several SER files instead of a single SER file for all " +"input elements. Use this if input elements (films) don't share the same " +"image size or must not be processed together." +msgstr "" +"Wählen Sie diese Option, um mehrere SER-Dateien zu erzeugen, statt nur einer " +"(für Eingangsdaten, z.B. Filme, Videos, die nicht dasselbe Format haben oder " +"nicht gemeinsam behandelt werden sollen)." + +#: ../src/gui/siril3.glade.h:526 +msgid "Supported file types:" +msgstr "Unterstützte Datei-Formate:" + +#: ../src/gui/siril3.glade.h:527 +msgid "" +"Supported types depend on compile-time libraries availability. See " +"documentation.\n" +"RAW images are raw images from digital cameras, like CR2 files for Canon or " +"NEF for Nikon.\n" +"Films of any type can be converted as FITS or SER.\n" +"SER files are directly handled as a sequence, and are not yet available for " +"conversion." +msgstr "" +"Unterstütze Formate sind abhängig von zur Zeit der Kompilierung verfügbare " +"Bibliotheken. Siehe Dokumentation.\n" +"RAW-Bilder sind rohe Bilddaten von Digital-Kameras, z.B. das CR2-Format bei " +"Canon oder NEF-Format bei Nikon.\n" +"Filme/Videoaufnahmen können grundsätzlich in FITS oder SER umgewandelt " +"werden.\n" +"SER-Dateien werden direkt als Sequenz behandelt und können demnach nicht " +"konvertiert werden." + +#: ../src/gui/siril3.glade.h:531 +msgid "File conversion" +msgstr "Datei-Konvertierung" + +#: ../src/gui/siril3.glade.h:532 +msgid "" +"Images are manipulated in sequences. Siril can find sequences in CWD, and " +"you can filter images out." +msgstr "" +"Die Bilder werden in Sequenzen bearbeitet. SIRIL kann solche Sequenzen im " +"aktuellen Arbeitsverzeichnis finden, sodaß Sie Bilder aussortieren können." + +#: ../src/gui/siril3.glade.h:533 +msgid "Sequence selection" +msgstr "Sequenz-Auswahl" + +#: ../src/gui/siril3.glade.h:534 +msgid "Sequence:" +msgstr "Sequenz:" + +#: ../src/gui/siril3.glade.h:535 +msgid "Search sequences" +msgstr "Suche Sequenzen" + +#: ../src/gui/siril3.glade.h:536 +msgid "" +"Search current directory for sequences of FITS images, SER or film videos." +msgstr "" +"Durchsuche aktuelles Verzeichnis nach Sequnzen für FITS-Bilder bzw. SER-" +"Videos." + +#: ../src/gui/siril3.glade.h:537 +msgid "Force .seq recomputation" +msgstr ".seq-Neuberechnung erzwingen" + +#: ../src/gui/siril3.glade.h:538 +msgid "" +"By default, Siril takes the data from seq file if already computed. However " +"you can force Siril to recompute the file if some changes have not been " +"taken into account.\n" +"This button will be automatically unchecked after being used.\n" +"\n" +"WARNING: it will erase all registration and statistics data." +msgstr "" +"Standardmäßig nimmt SIRIL die Daten aus der seq-Datei, wenn sie bereits " +"berechnet wurde. Sie können SIRIL jedoch zwingen, die Datei neu zu " +"berechnen, wenn einige Änderungen nicht berücksichtigt wurden.\n" +"Dieser Button wird nach dem Gebrauch automatisch zurückgesetzt.\n" +"\n" +"ACHTUNG: Es löscht alle Registrierungs-und Statistikdaten." + +#: ../src/gui/siril3.glade.h:542 +msgid "Image selection in sequence" +msgstr "Bildauswahl in der Sequenz" + +#: ../src/gui/siril3.glade.h:543 +msgid "No sequence selected" +msgstr "Keine Sequenz ausgewählt" + +#: ../src/gui/siril3.glade.h:544 +msgid "" +"Image index in the sequence. You can also use arrow keys to browse images, " +"and the SPACE key to toggle exclude for the current image." +msgstr "" +"Laufindex eines Bildes in der Sequenz. Über die Pfeiltasten kann ebenfalls " +"durch die Bilder geblättert werden. Mit der LEERTASTE kann ein Bild aus der " +"Sequenz ausgeschlossen oder hinzugefügt werden." + +#: ../src/gui/siril3.glade.h:545 +msgid "Excluded" +msgstr "Ausgeschlossen" + +#: ../src/gui/siril3.glade.h:546 +msgid "" +"Whether or not the image is excluded from processing (the file itself is not " +"deleted)" +msgstr "" +"Definiert, ob dieses Bild vom Processing ausgeschlossen werden soll oder " +"nicht (Datei wird nicht gelöscht)" + +#: ../src/gui/siril3.glade.h:547 +msgid "Reference image" +msgstr "Referenz-Bild" + +#: ../src/gui/siril3.glade.h:548 +msgid "" +"If set, the current image will be the reference image for registration.\n" +"Only one image can be the reference image in a sequence, setting it will " +"unset the image previously set as reference.\n" +"If not set manually, the first image of the sequence is taken as reference." +msgstr "" +"Wenn diese Option gesetzt ist, wird das aktuelle Bild als Referenz für die " +"Registrierung verwendet.\n" +"Es kann immer nur ein Bild pro Sequenz ausgewählt werden. Wird ein neues " +"ausgewählt, ersetzt es das\n" +"bisherige Referenzbild. Ohne manuelle Auswahl wird automatisch das erste " +"Bild der Sequenz als Referenz festgelegt." + +#: ../src/gui/siril3.glade.h:551 +msgid "Exclude All" +msgstr "Alle ausschließen" + +#: ../src/gui/siril3.glade.h:552 +msgid "Exclude all images of the sequence from the processing schedule" +msgstr "Alle Bilder aus der Sequenz ausschließen" + +#: ../src/gui/siril3.glade.h:553 +msgid "Include All" +msgstr "Alle einbeziehen" + +#: ../src/gui/siril3.glade.h:554 +msgid "includes all images of the sequence in the processing schedule" +msgstr "Bezieht alle Bilder der Sequenz in die Bearbeitung ein" + +#: ../src/gui/siril3.glade.h:555 +msgid "Sequence export" +msgstr "Sequenz exportieren" + +#: ../src/gui/siril3.glade.h:556 +msgid "Base name:" +msgstr "Namensbasis:" + +#: ../src/gui/siril3.glade.h:557 +msgid "Base name for the exported sequence" +msgstr "Namensbasis für die exportierte Sequenz" + +#: ../src/gui/siril3.glade.h:558 +msgid "" +"Export sequence format. MP4 and WEBM replaces GIF for modern Web " +"publication, AVI is not compressed." +msgstr "" +"Format der exportierten Sequenz. MP4 und WEBM ersetzen das GIF-Format in " +"modernen Web-Publikationen, AVI wird nicht komprimiert." + +#: ../src/gui/siril3.glade.h:559 +msgid "Export sequence" +msgstr "Export-Sequenz" + +#: ../src/gui/siril3.glade.h:560 +msgid "" +"Export the loaded sequence in the selected format. It can be used to store a " +"sequence in another format, make animated movies, or store a lighter version " +"of a sequence with less images. Images of the exported selection can be " +"cropped and selected with the same criteria as the stacking image selection." +msgstr "" +"Geladene Sequenz im ausgewählten Format exportieren. Dies ermöglicht die " +"Speicherung der Sequenz in einem anderen Format, die Erstellung von " +"Animationen oder der Speicherung einer \"Light-Version\" der aktuellen " +"Sequenz mit weniger Bildern. Die Bilder der exportierten Sequenz können " +"zugeschnitten und nach denselben Kriterien ausgewählt werden wie beim " +"Stacking." + +#: ../src/gui/siril3.glade.h:561 +msgid "Normalize images" +msgstr "Normalisieren Bilder" + +#: ../src/gui/siril3.glade.h:562 +msgid "" +"Activate image normalisation for the export. This will make all images the " +"same brightness and is thus recommended for sequences with inconsistent " +"exposures or pixel values.\n" +"A first computation pass will be done on all images before exporting, it may " +"take some time, only the first export of a sequence.\n" +"\t\t\t" +msgstr "" +"Aktiviere Normalisierung beim Export. Dies sorgt für eine gleichbleibende " +"Helligkeit der Bilder, wenn sie z.B. mit unterschiedlichen Belichtungszeiten " +"aufgenommen wurden.\n" +"Alle Bilder erfahren einen ersten Berechnungsdurchlauf vor dem Export, es " +"kann also ein wenig dauern, aber nur beim ersten Export.\n" +"\t\t\t" + +#: ../src/gui/siril3.glade.h:565 +msgid "Fps:" +msgstr "Fps:" + +#: ../src/gui/siril3.glade.h:566 +msgid "Frame rate" +msgstr "Frame Rate" + +#: ../src/gui/siril3.glade.h:567 +msgid "Resize" +msgstr "Neue Größe" + +#: ../src/gui/siril3.glade.h:568 +msgid "" +"Check this box if you want to resize exported sequence. Note that this will " +"degrade image quality." +msgstr "" +"Setzen Sie dieses Häkchen, wenn die Größe der exportierten Sequenz geändert " +"werden soll (verschlechtert die Bildqualität)." + +#: ../src/gui/siril3.glade.h:569 +msgid "Width of output video" +msgstr "Breite des ausgegebenen Videos" + +#: ../src/gui/siril3.glade.h:570 +msgid "x" +msgstr "x" + +#: ../src/gui/siril3.glade.h:571 +msgid "Height of output video" +msgstr "Höhe des ausgegebenen Videos" + +#: ../src/gui/siril3.glade.h:572 +msgid "" +"Film quality: lower value will use more compression and less bitrate, also " +"resulting is smaller file size." +msgstr "" +"Video-Qualität: kleinere Werte bewirken eine stärkere Kompressionsrate, " +"reduzieren die Bit-Rate und erzeugen kleinere Dateien." + +#: ../src/gui/siril3.glade.h:573 ../src/io/sequence_export.c:482 +msgid "Select area to crop" +msgstr "Wählen Sie den Bereich für den Zuschnitt aus" + +#: ../src/gui/siril3.glade.h:574 +msgid "Image selection uses the same controls as for stacking" +msgstr "" +"Die Bildauswahl verwendet dieselben Kontrollparameter wie für's Stacking" + +#: ../src/gui/siril3.glade.h:575 +msgid "Go to the stacking tab" +msgstr "Gehe zum Stacking-Reiter" + +#: ../src/gui/siril3.glade.h:576 +msgid "Sequence" +msgstr "Sequenz" + +#: ../src/gui/siril3.glade.h:577 +msgid "Pre-processing is an optional step to apply to a sequence of images." +msgstr "" +"Pre-Processing ist ein optionaler Schritt, der auf Sequenz-Bilder angewendet " +"werden kann." + +#: ../src/gui/siril3.glade.h:578 +msgid "" +"The single file is often called the master file, which is the result of the " +"processing of several frames, for each type of master image." +msgstr "" +"Das jeweilige Master-Bild ist immer das Ergebnis eines Stacking-Prozesses " +"mehrerer zugeordneter Bilder." + +#: ../src/gui/siril3.glade.h:579 +msgid "Dark, offset (bias) and flat files can only be a single FITS file." +msgstr "Darks, Offsets (Bias) und Flats sind immer eine einzelne FITS-Datei." + +#. Flat is the kind of the picture used here. In french I +#: ../src/gui/siril3.glade.h:581 +msgid "Use flat" +msgstr "Flat-Frame benutzen" + +#: ../src/gui/siril3.glade.h:582 +msgid "" +"All images in the sequence will be divided by the master flat image (each " +"pixel value)." +msgstr "" +"Alle Bilder der Sequenz werden durch das Master-Flat dividiert (jeder Pixel-" +"Wert)." + +#: ../src/gui/siril3.glade.h:583 +msgid "" +"Enter the master flat file name here, or use the browse button.\n" +"All images in the sequence will be divided by the master flat image (each " +"pixel value)." +msgstr "" +"Geben Sie hier einen Namen für das Master-Flat an.\n" +"Alle Bilder der Sequenz werden durch das Master-Flat dividiert (jeder Pixel-" +"Wert)." + +#: ../src/gui/siril3.glade.h:585 +msgid "Browse..." +msgstr "Suche..." + +#. Dark is the kind of the picture used here. In french I +#: ../src/gui/siril3.glade.h:587 +msgid "Use dark" +msgstr "Dark-Frame benutzen" + +#: ../src/gui/siril3.glade.h:588 +msgid "The dark master image will be removed from all images in the sequence." +msgstr "Das Master-Dark wird von allen Bildern der Sequenz subtrahiert." + +#: ../src/gui/siril3.glade.h:589 +msgid "" +"Enter the master dark file name here, or use the browse button.\n" +"The dark master image will be removed from all images in the sequence." +msgstr "" +"Geben Sie hier einen Namen für das Master-Dark an.\n" +"Das Master-Dark wird von allen Bildern der Sequenz subtrahiert." + +#. Offset is the kind of the picture used here. In french I +#: ../src/gui/siril3.glade.h:592 +msgid "Use offset" +msgstr "Offest benutzen" + +#: ../src/gui/siril3.glade.h:593 +msgid "" +"The bias/offset master image will be removed from all images in the sequence." +msgstr "Das Master-Bias wird von allen Bildern der Sequenz subtrahiert." + +#: ../src/gui/siril3.glade.h:594 +msgid "" +"Enter the master bias/offset file name here, or use the browse button.\n" +"The bias/offset master image will be removed from all images in the sequence." +msgstr "" +"Geben Sie hier einen Namen für das Master-Bias an.\n" +"Das Master-Bias wird von allen Bildern der Sequenz subtrahiert." + +#: ../src/gui/siril3.glade.h:596 +msgid "Choose your own normalisation value." +msgstr "Wählen Sie einen Wert für die Normalisierung." + +#: ../src/gui/siril3.glade.h:597 +msgid "Normalisation value for flat division" +msgstr "Normalisierungswert für die Flat-Frame Division" + +#: ../src/gui/siril3.glade.h:598 +msgid "Dark optimization" +msgstr "Dark-Frame Optimierung" + +#: ../src/gui/siril3.glade.h:599 +msgid "" +"Dark subtraction can be optionally optimized so that the noise of the " +"resulting picture (light frame minus dark frame) is minimized by applying a " +"coefficient to the dark frame. This option is useful when dark frames have " +"not been taken in optimal conditions.\n" +"\n" +"WARNING: Do not apply dark optimization on master-dark if master-bias has " +"not been subtracted previously." +msgstr "" +"Optionell kann die Dark-Frame-Subtraktion optimiert werden, sodaß sich der " +"Rauschpegel im Bild verringert. Dazu gibt es einen dem Dark-Frame " +"zugeordneten Wichtungsfaktor. Dies kann helfen, wenn die Darks nicht unter " +"denselben Bedingungen aufgenommen wurden wie die Lights\n" +"\n" +"ACHTUNG: wenden Sie diese Optimierung erst auf Master-Darks an, nachdem eine " +"Bias-Frame-Subtraktion durchgeführt wurde." + +#: ../src/gui/siril3.glade.h:602 +msgid "Auto evaluate normalisation value" +msgstr "Ermittle Noramlisierungswert automatisch" + +#: ../src/gui/siril3.glade.h:603 +msgid "" +"If this box is checked, Siril will auto-evaluate the normalisation value.\n" +"This value is the mean of the master flat calibrated with the master offset." +msgstr "" +"Setzen Sie das Häkchen, um SIRIL automatisch einen Normalisierungswert " +"ermitteln zu lassen.\n" +"Dies ist der Mittelwert des über Master-Bias kalibrierten Master-Flats." + +#: ../src/gui/siril3.glade.h:605 +msgid "Equalize CFA" +msgstr "CFA ausgleichen" + +#: ../src/gui/siril3.glade.h:606 +msgid "" +"This option equalizes the mean intensity of RGB layers in a CFA flat image." +msgstr "" +"Diese Option egalisiert die mittlere Intensität der RGB-Layer in einem CFA-" +"Flat." + +#: ../src/gui/siril3.glade.h:607 +msgid "Cosmetic correction (using master-dark)" +msgstr "Kosmetische Korrektur (über Master-Dark)" + +#: ../src/gui/siril3.glade.h:608 +msgid "" +"How many times the standard deviation, the pixel value must differ to be " +"considered as defective." +msgstr "" +"Wie oft muß die Standard-Abweichung eines Pixel-Wertes abweichen, um als " +"defektes Pixel eingestuft zu werden." + +#: ../src/gui/siril3.glade.h:609 +msgid "Enable Cosmectic Correction" +msgstr "Aktiviere kosmetische Korrektur" + +#: ../src/gui/siril3.glade.h:610 +msgid "" +"Check if you want to apply a hot pixel removal.\n" +"Hot pixels are located on the master-dark." +msgstr "" +"Hot-Pixel werden entfernt, wenn Häkchen gesetzt.\n" +"Hot-Pixel sind im Master-Dark." + +#: ../src/gui/siril3.glade.h:612 +msgid "Estimate" +msgstr "Abschätzen" + +#: ../src/gui/siril3.glade.h:614 +#, no-c-format +msgid "" +"Click on this button to evaluate the number of deviant pixels. If values are " +"higher than 1% of the total of pixels, you will be encouraged to change " +"sigma values." +msgstr "" +"Klicken Sie hier, um die Anzahl der abweichenden Pixel zu ermitteln. " +"Übersteigt der Wert 1% aller Pixel, sollte der Sigma-Wert geändert werden." + +#: ../src/gui/siril3.glade.h:615 +msgid "Cold: 0 px" +msgstr "Kalt: 0 px" + +#: ../src/gui/siril3.glade.h:616 +msgid "Hot: 0 px" +msgstr "Heiß: 0 px" + +#: ../src/gui/siril3.glade.h:617 +msgid "Output sequence" +msgstr "Ausgabe Sequenz" + +#: ../src/gui/siril3.glade.h:618 +msgid "Debayer FITS images before saving" +msgstr "De-bayern Sie Bilder vor dem Speichern" + +#: ../src/gui/siril3.glade.h:619 +msgid "" +"Check this option if you want to apply a demosaicing algorithm to your FITS " +"images right after they were preprocessed. By doing this, you skip one " +"manual step which can take some time.\n" +"\n" +"WARNING: this option is only available for FITS images as SER sequence can " +"be demosaiced on-the-fly." +msgstr "" +"Benutzen Sie diese Option, wenn Sie unmittelbar nach dem Pre-Processing eine " +"(Bayer-)Matrix-Entfernung Ihres FITS-Bildes vornehmen wollen. Damit " +"überspringen Sie das manuelle Konvertieren, das erheblich Zeit kosten kann.\n" +"\n" +"ACHTUNG: diese Option gilt nur für FITS-Bilder, während eine SER-Sequenz 'On-" +"the-fly' eine Matrixentferung erfahren kann." + +#: ../src/gui/siril3.glade.h:622 +msgid "Store resulting sequence with prefix:" +msgstr "Speichere Ergebnis-Sequenz mit dem Präfix:" + +#: ../src/gui/siril3.glade.h:623 +msgid "Prefix of the image names resulting from the pre-processing." +msgstr "Präfix für die Bild-Ausgabe aus dem Pre-Processing." + +#: ../src/gui/siril3.glade.h:624 +msgid "Start pre-processing" +msgstr "Starte Pre-Processing" + +#: ../src/gui/siril3.glade.h:625 +msgid "" +"Pre-process sequence with the above master files, resulting sequence will be " +"in pp_ or another prefix given aside.\n" +"Once completed, the sequence of pre-processed images is automatically loaded " +"as the current sequence.\n" +"The next action for DSLR images would be to debayer the preprocessed images, " +"go to the Conversion tab." +msgstr "" +"Führe Pre-Processing-Sequenz mit den o.a. Mastern aus. Das Ergebnis ist eine " +"neue Sequenz mit pp_ bzw. einem beliebigen zuvor definiertem " +"Namen.\n" +"Sobald dies abgeschlossen ist, wird die erzeugte Sequenz automatisch " +"geladen.\n" +"Der nächste Schritt für DSLR-Bilder wäre die Entfernung der (Bayer-)Matrix. " +"Wechseln Sie zum Konvertierungs-Reiter." + +#: ../src/gui/siril3.glade.h:628 +msgid "Pre-processing" +msgstr "Pre-Processing" + +#: ../src/gui/siril3.glade.h:629 +msgid "" +"Registration is basically aligning the images from a sequence to be able to " +"process them afterwards." +msgstr "" +"Unter Registrierung versteht man im Wesentlichten das Ausrichten der Bilder " +"einer Sequenz für die spätere Weiterverarbeitung." + +#: ../src/gui/siril3.glade.h:630 +msgid "Image registration" +msgstr "Bild Registrierung" + +#: ../src/gui/siril3.glade.h:631 +msgid "Register all images from sequence" +msgstr "Registriere alle Bilder der Sequenz" + +#: ../src/gui/siril3.glade.h:632 +msgid "Register selected images only" +msgstr "Registriere nur die ausgewählten Bilder der Sequenz" + +#: ../src/gui/siril3.glade.h:633 +msgid "Choose registration method:" +msgstr "Wählen Sie eine Registrierungs-Methode:" + +# l'original utilise "reference" et non "registration" +# Comment choisir? +#: ../src/gui/siril3.glade.h:634 +msgid "Select registration layer:" +msgstr "Wählen Sie den Registrierungs-Layer:" + +#: ../src/gui/siril3.glade.h:635 +msgid "" +"Layer on which the registration is done. It can only be done on one layer at " +"a time, so on monochrome images.\n" +"The (*) sign appearing after the layer's name means that registration data " +"is already available for this layer.\n" +"When processing images, registration data is taken from the default layer if " +"available (for RGB images: Green, else fallback to Blue then Red)." +msgstr "" +"Layer, auf dem die Registrierung durchgeführt wird. Sie kann nur auf einem " +"Layer auf's Mal durchgeführt werden, also nur auf monochrom-Bilder.\n" +"Ein (*) zeigt an, daß in diesem Layer die Registrierungsdaten bereits " +"verfügbar sind.\n" +"Für die Bearbeitung werden die Registrierungs-Daten aus dem Default-Layer " +"entnommen (Grün, wenn verfügbar, sonst Blau, dann Rot)." + +#: ../src/gui/siril3.glade.h:638 +msgid "Prefix:" +msgstr "Präfix:" + +#: ../src/gui/siril3.glade.h:639 +msgid "Prefix of the image names resulting from the registration." +msgstr "Präfix für die Ergebnis-Bilder aus der Registrierung." + +#: ../src/gui/siril3.glade.h:640 +msgid "Algorithm: " +msgstr "Algorithmus: " + +#: ../src/gui/siril3.glade.h:641 +msgid "Match stars in selection" +msgstr "Bringe ausgewählte Sterne zur Deckung" + +#: ../src/gui/siril3.glade.h:642 +msgid "" +"Check this box if you want to perform the Global Star Alignment algorithm " +"within the selected area in the reference image. If no selection are done, " +"this option is ignored.\n" +"WARNING: Make sure to draw a selection with a sufficient number of stars." +msgstr "" +"Setzen Sie das Häkchen, wenn die 'Allgemeine Stern-Ausrichtung\" innerhalb " +"des ausgewählten Bereichs durchgeführt werden soll. Wenn keine Auswahl " +"getroffen wurde, wird diese Option ignoriert.\n" +"ACHTUNG: wählen Sie einen Bereich aus, der genügend Sterne enthält." + +#: ../src/gui/siril3.glade.h:644 +msgid "Translation only" +msgstr "Nur Translation" + +#: ../src/gui/siril3.glade.h:645 +msgid "" +"This is the only registration that can detect and apply rotations on images. " +"However, rotating images will degrade them to a certain extent. Activating " +"this will use the same image alignment algorithm but only apply \"one-pixel " +"accurate\" translations (rotation is computed, but not applied).\n" +"This is useful for image sequences with very small rotation angle.\n" +"\n" +"WARNING: no new sequence is built, registration data is stored in the " +"original sequence." +msgstr "" +"Dies ist die einzige Form der Registrierung, die einen Winkelversatz " +"erkennen und ausgleichen kann. Eine Drehung bedeutet gleichsam eine " +"geringfügige Degradation der Bildqualität. Wird diese Option aktiviert, " +"kommt derselbe Algorithmus zur Anwendung, aber nur auf 1 Pixel genau (die " +"Rotation wird berechnet, aber nicht ausgeführt).\n" +"Dies ist sinnvoll für Bilder mit sehr geringer Winkelabweichung.\n" +"\n" +"ACHTUNG: es wird keine neue Sequenz erzeugt. Die Registrierungs-Daten werden " +"auf die Original-Sequenz angewandt." + +#: ../src/gui/siril3.glade.h:649 +msgid "Pick object in #1" +msgstr "Wähle ein Objekt in #1" + +#: ../src/gui/siril3.glade.h:650 +msgid "" +"Select an area around the asteroid or the comet core in the first selected " +"image, then click on this button. The pixel coordinates of the object will " +"be computed and displayed." +msgstr "" +"Definieren Sie einen Bereich um einen Asteroiden oder den Kometen-Kern im " +"ersten ausgewählten Bild, dann klicken Sie diesen Button. Darauf werden die " +"Pixel-Koordinaten berechnet und ausgegeben." + +#: ../src/gui/siril3.glade.h:651 +msgid "Core X-coordinates of the first image." +msgstr "X-Koordinaten des Kernbereichs im ersten Bild." + +#: ../src/gui/siril3.glade.h:652 +msgid "Core Y-coordinates of the first image." +msgstr "Y-Koordinaten des Kernbereichs im ersten Bild." + +#: ../src/gui/siril3.glade.h:653 +msgid "Pick object in #2" +msgstr "Wähle ein Objekt in #2" + +#: ../src/gui/siril3.glade.h:654 +msgid "" +"Select an area around the asteroid or the comet core in the last selected " +"image, then click on this button. The pixel coordinates of the object will " +"be computed and displayed." +msgstr "" +"Definieren Sie einen Bereich um einen Asteroiden oder den Kometen-Kern im " +"letzten ausgewählten Bild, dann klicken Sie diesen Button. Darauf werden die " +"Pixel-Koordinaten berechnet und ausgegeben." + +#: ../src/gui/siril3.glade.h:655 +msgid "Core X-coordinates of the second image." +msgstr "X-Koordinaten des Kernbereichs im zweiten Bild." + +#: ../src/gui/siril3.glade.h:656 +msgid "Core Y-coordinates of the second image." +msgstr "Y-Koordinaten des Kernbereichs im zweiten Bild." + +#: ../src/gui/siril3.glade.h:657 +msgid "Comet velocity in pixel per hour." +msgstr "Relative Kometen-Geschwindigkeit in Pixel/Stunde." + +#: ../src/gui/siril3.glade.h:658 +msgid "Velocity: " +msgstr "Geschwindigkeit: " + +#: ../src/gui/siril3.glade.h:659 +msgid "Go register" +msgstr "Führe Registrierung aus" + +#: ../src/gui/siril3.glade.h:660 +msgid "" +"Start the registration process. It will register images in the loaded " +"sequence using the selected method and reference layer (loaded in the 'Image " +"sequences' tab, current sequence name is at the bottom of the window too)." +msgstr "" +"Starte die Registrierung. Die Bilder der geladenen Sequenz werden unter " +"Anwendung der ausgewählten Methode und im ausgewählten Layer registriert " +"(geladen im 'Bilder-Sequenzen'-Reiter, wobei der Name der aktuellen Sequenz " +"auch unten im Fenster ablesbar ist)." + +#: ../src/gui/siril3.glade.h:661 ../src/registration/registration.c:702 +msgid "Load a sequence first." +msgstr "Laden Sie zuerst eine Sequenz." + +#: ../src/gui/siril3.glade.h:662 +msgid "Simplified Drizzle x2" +msgstr "Vereinfachtes 2x Drizzlen" + +#: ../src/gui/siril3.glade.h:663 +msgid "" +"Activate the simplified drizzle algorithm for the processing of this " +"sequence. An up-scale (x2) will be applied to the registered frame or during " +"stacking depending on which registration is chosen, that will result in " +"higher resolution images. \n" +"This option is adapted for under-sampled images, i.e, when the telescope " +"focal length is too short for the pixel size. One may consider that the " +"system is under-sampled when FWHM is smaller than 2 pixels.\n" +"The correct name of this method should be super-resolution stacking, but for " +"a more convenient understanding we called it \"Simplified Drizzle x2\".\n" +"\n" +"WARNING: the counterpart of this technic is that the amount of memory and " +"disk space needed to create and process drizzled images is multiplied by the " +"square of the Drizzle factor." +msgstr "" +"Aktiviere das 'Vereinfachte Drizzlen' für diese Sequenz. Das Hochskalieren " +"(x2) wird während der Registrierung oder während des Stackens entsprechend " +"der ausgewählten Methode durchgeführt und bewirkt eine Erhöhung der " +"Auflösung.\n" +"Diese Option ist sinnvoll für Aufnahmen mit Undersampling (Brennweite in " +"Bezug auf die Pixelgröße zu gering). Man spricht von Under-Sampling, wenn " +"die FWHM kleiner als 2 Pixel ist.\n" +"Eigentlich sollte diese Methode \"Super-Resolution-Stacking\" genannt " +"werden, zum besseren Verständnis nannten wir sie aber \"Vereinfachtes 2x-" +"Drizzlen\".\n" +"\n" +"ACHTUNG: bei Anwendung dieser Methode erhöht sich der Speicherbedarf mit dem " +"Quadrat zum Drizzle-Faktor." + +#: ../src/gui/siril3.glade.h:668 +msgid "Cumul reg. data" +msgstr "Aufgelaufene Registrierungs-Daten" + +#: ../src/gui/siril3.glade.h:669 +msgid "" +"Check this button if you want the new registration data to be added to the " +"previous one.\n" +"This option is useful when sequence has previously been aligned using a " +"method that does not build a new sequence, but it should be unchecked when " +"the comet/asteroid algorithm is applied several times." +msgstr "" +"Setzen Sie dieses Häkchen, wenn die neuen Registrierungs-Daten den bereits " +"vorhandenen hizugefügt werden sollen.\n" +"Dies ist nützlich, wenn die zuvor benutzte Registrierung-Methode keine neue " +"Sequenz erzeugt. Allerdings sollte es ungesetzt bleiben, wenn der Kometen-/" +"Asteroiden-Algorithmus mehrfach angewandt werden soll." + +#: ../src/gui/siril3.glade.h:671 +msgid "Follow star movement" +msgstr "Folge der Sternbewegung" + +#: ../src/gui/siril3.glade.h:672 +msgid "" +"Use this option to use the position of the star found in the previous image " +"as new centre for the current image registration. This allows the selection " +"area to be smaller, registration faster, and accounts for drift or images " +"with a large number of stars.\n" +"WARNING: enabling this option requires the registration to not be " +"parallelized, it will run on one CPU core only." +msgstr "" +"Benutzen Sie diese Option, wenn die Position eines Sterns aus dem vorigen " +"Bild als Zentrum für die aktuelle Registrierung übernommen werden soll. Das " +"reduziert die benötigte Größe des Auswahlfeldes, beschleunigt die " +"Registrierung und ist günstig bei Drift-Abweichungen oder bei Bildern mit " +"hohem Sternaufkommen.\n" +"ACHTUNG: dieser Prozess kann nicht auf mehreren CPU-Kernen parallel " +"ablaufen, sondern bleibt auf einen Kern beschränkt." + +#: ../src/gui/siril3.glade.h:674 +msgid "Manual registration" +msgstr "Manuelle Registrierung" + +#: ../src/gui/siril3.glade.h:675 +msgid "Display reference image" +msgstr "Zeige Referenz-Bild" + +#: ../src/gui/siril3.glade.h:677 +#, no-c-format +msgid "" +"Display the reference image over the current image using a 50% " +"transparency.\n" +"To be enabled, the reference image must have been explicitly set and already " +"displayed once on the selected registration layer." +msgstr "" +"Lege das Referenz-Bild mit 50% Transparenz über das aktuelle Bild.\n" +"Um dies anwenden zu können, muß das Ref-Bild explizit ausgewählt worden sein " +"und mindestens bereits 1x im Registrierungs-Layer aufgerufen worden sein." + +#: ../src/gui/siril3.glade.h:679 +msgid "" +"Change this value, using mouse wheel or up and down arrows, to align the " +"image with the reference image on the X axis." +msgstr "" +"Für das Ausrichten des Bildes zum Referenz-Bild in X, verwenden Sie das " +"Mausrad oder die Hoch-/Runter-Tasten." + +#: ../src/gui/siril3.glade.h:680 +msgid "X translation:" +msgstr "X-Translation:" + +#: ../src/gui/siril3.glade.h:681 +msgid "" +"Change this value, using mouse wheel or up and down arrows, to align the " +"image with the reference image on the Y axis." +msgstr "" +"Für das Ausrichten des Bildes zum Referenz-Bild in Y, verwenden Sie das " +"Mausrad oder die Hoch-/Runter-Tasten." + +#: ../src/gui/siril3.glade.h:682 +msgid "Y translation:" +msgstr "Y-Translation:" + +#: ../src/gui/siril3.glade.h:683 +msgid "Set reference image first." +msgstr "Definieren Sie zunächst das Referenz-Bild." + +#: ../src/gui/siril3.glade.h:684 +msgid "Set first preview" +msgstr "Definieren Sie die erste Vorschau" + +#: ../src/gui/siril3.glade.h:685 +msgid "" +"Allows a preview area to be displayed just below. After clicking on this " +"button, click on the image to position the preview area's centre" +msgstr "" +"Zeigt eine Vorschau-Fenster hier unten an. Anschließend klicken Sie ins " +"Bild, um das Zentrum des Vorschaubildes festzulegen" + +#: ../src/gui/siril3.glade.h:686 +msgid "Set second preview" +msgstr "Definieren Sie die zweite Vorschau" + +#: ../src/gui/siril3.glade.h:687 +msgid "Registration" +msgstr "Registrierung" + +#: ../src/gui/siril3.glade.h:688 +msgid "Filename:" +msgstr "Dateiname:" + +#: ../src/gui/siril3.glade.h:689 +msgid "Enter the filename of the exported CSV file." +msgstr "Geben Sie einen Namen an für die zu exportierte CSV-Datei." + +#: ../src/gui/siril3.glade.h:690 +msgid "Export to CSV" +msgstr "Exportiere als CSV" + +#: ../src/gui/siril3.glade.h:691 +msgid "Export displayed plot to a CSV file." +msgstr "Exportiere die angezeigte Grafik als CSV-Datei." + +#: ../src/gui/siril3.glade.h:692 +msgid "Clear all" +msgstr "Alle zurücksetzen" + +#: ../src/gui/siril3.glade.h:693 +msgid "Clear all curves displayed in photometry." +msgstr "Alle Kurven in der Photometrie zurücksetzen." + +#: ../src/gui/siril3.glade.h:694 +msgid "Clear latest" +msgstr "Letztes zurücksetzen" + +#: ../src/gui/siril3.glade.h:695 +msgid "Clear the last curve added in photometry." +msgstr "Setze letzte Kurve der Photometrie zurück." + +#. This is the button for plotting variable star graph +#. Plotting light curve +#: ../src/gui/siril3.glade.h:697 ../src/gui/plot.c:364 +msgid "Light Curve" +msgstr "Licht Kurve" + +#: ../src/gui/siril3.glade.h:698 +msgid "" +"Plot a graph of the variable star. The variable star must be analysed in " +"first, then other PSF are applied to references. A maximum of 6 references " +"is allowed. To enable this function, choose 'Magnitude' in the type of " +"displayed graph.\n" +"WARNING: gnuplot must be installed." +msgstr "" +"Zeichne eine Kurve des Veränderlichen Sterns. Der Veränderliche muß " +"natürlich zunächst analysiert werden, erst danach werden weitere PSF auf " +"Referenz-Bilder angewandt." + +#: ../src/gui/siril3.glade.h:700 +msgid "Select the source of graph information." +msgstr "Quelle für die Graph-Information wählen." + +#: ../src/gui/siril3.glade.h:701 +msgid "Select which information to display from photometry data." +msgstr "Wählen Sie die angezeigten Photometrie-Daten aus." + +#: ../src/gui/siril3.glade.h:702 +msgid "Roundness" +msgstr "Rundheit" + +#: ../src/gui/siril3.glade.h:703 ../src/gui/plot.c:565 ../src/gui/plot.c:729 +msgid "FWHM" +msgstr "FWHM" + +#: ../src/gui/siril3.glade.h:704 ../src/gui/plot.c:732 +msgid "Amplitude" +msgstr "Amplitude" + +#: ../src/gui/siril3.glade.h:705 +msgid "Magnitude" +msgstr "Magnitude" + +#: ../src/gui/siril3.glade.h:706 +msgid "Background" +msgstr "Hintergrund" + +#: ../src/gui/siril3.glade.h:707 +msgid "X position" +msgstr "X-Position" + +#: ../src/gui/siril3.glade.h:708 +msgid "Y position" +msgstr "Y-Position" + +#: ../src/gui/siril3.glade.h:709 +msgid "Plot" +msgstr "Grafischer Plot" + +#: ../src/gui/siril3.glade.h:710 +msgid "" +"Stacking of images, either summing, median, mean with rejection or pixel " +"minimum/maximum." +msgstr "" +"Stacken der Bilder, wahlweise über Aufsummierung, Median, Durchschnittswert " +"mit Entfernung abweichender Pixel oder Pixel-Minimum/Maximum." + +#: ../src/gui/siril3.glade.h:711 +msgid "Sequence stacking" +msgstr "Sequenz Stacking" + +#: ../src/gui/siril3.glade.h:712 +msgid "Stacking Methods:" +msgstr "Stacking Methoden:" + +#: ../src/gui/siril3.glade.h:713 +msgid "" +"Sum: This is the simplest method.\n" +"Pixel values are added in an image normalized to 16-bit values.\n" +"It increases signal/noise ratio (SNR) as square root of number of images.\n" +"\n" +"Average with rejection: This method is used to reject deviant pixels " +"iteratively.\n" +"Five methods have been implemented:\n" +"- Percentile Clipping\n" +"- Sigma Clipping\n" +"- Median Sigma Clipping\n" +"- Winsorized Sigma Clipping\n" +"- Linear Fit Clipping\n" +"After pixel rejection, the mean of the stack is computed.\n" +"\n" +"Median: This method was mostly used for dark/flat/offset stacking although " +"now we recommend the use of average with rejection stacking.\n" +"The median value of the pixels in the stack is computed for each pixel.\n" +"As this method should only be used for dark/flat/offset stacking, it does " +"not take\n" +"into account shifts computed during registration.\n" +"\n" +"Pixel maximum: This case is mainly used to construct long exposure star-" +"trails images.\n" +"Pixels of the image are replaced by pixels at the same coordinates if " +"intensity is greater.\n" +"\n" +"Pixel minimum: This case could be useful to select the area to be cropped " +"after the stack operation.\n" +"Pixels of the image are replaced by pixels at the same coordinates if " +"intensity is lower." +msgstr "" +"Aufsummierung: Dies ist die einfachste Methode.\n" +"Pixel-Werte werden aufsummiert und in einem neuen Bild, auf 16-bit " +"normalisiert, dargestellt.\n" +"Dabei steigt das Signal-Rausch-Verhältnis (SNR) mit der Quadratwurzel aus " +"der Anzahl der Bilder.\n" +"\n" +"Durchschnittswert mit Entfernung abweichender Pixel: Methode zur iterativen " +"Entfernung abweichender Pixel.\n" +"Fünf Methoden sind verfügbar:\n" +"- Percentile (nach Überschreitungswahrscheinlichkeit) Clipping\n" +"- Sigma Clipping\n" +"- Median Sigma Clipping\n" +"- Winsorized Sigma Clipping\n" +"- Linear Fit Clipping\n" +"Der Stack-Durchschnittswert wird also OHNE Teilnahme der schlechten Pixel " +"berechnet.\n" +"\n" +"Median: bisher meistangewandte Methode. Inzwischen empfehlen wir die " +"Verwendung der Durchschnittswert-mit-Entfernung-Methode.\n" +"Da die Median-Methode keine Verschiebungen bei der Registierung " +"berücksichtigt, sollte sie nur für Darks, Flats und Bias benutzt werden.\n" +"\n" +"Pixel Maximum: Gut geeignet für die Erstellung langbelichteter Stern-" +"Strichspur-Aufnahmen.\n" +"Pixel werden ersetzt, wenn deren Helligkeit unter einer anderen, an selber " +"Position befindlichen Pixel, liegt.\n" +"Am Ende bleibt das hellste Pixel für diese Koordinate übrig.\n" +"\n" +"Pixel Minimum: dieser Fall ist sinnvoll, um einen Zuschnittbereich " +"auszuwählen, bevor ein erneuter Stack ausgeführt werden soll.\n" +"Pixel werden ersetzt, wenn deren Helligkeit über einer anderen, an selber " +"Position befindlichen, liegt.\n" +"Am Ende bleibt das dunkelste Pixel für diese Koordinate übrig." + +#: ../src/gui/siril3.glade.h:736 ../src/stacking/sum.c:161 +msgid "Sum stacking" +msgstr "Summen-Stacking" + +#: ../src/gui/siril3.glade.h:737 +msgid "Average stacking with rejection" +msgstr "Durchschnittswert-Stacking mit Ausschleusung" + +#: ../src/gui/siril3.glade.h:738 +msgid "Median stacking" +msgstr "Median-Stacking" + +#: ../src/gui/siril3.glade.h:739 +msgid "Pixel maximum stacking" +msgstr "Pixel Maximum Stacking" + +#: ../src/gui/siril3.glade.h:740 +msgid "Pixel minimum stacking" +msgstr "Pixel Minimum Stacking" + +#: ../src/gui/siril3.glade.h:741 +msgid "Sigma low: " +msgstr "Sigma niedrig: " + +#: ../src/gui/siril3.glade.h:742 +msgid "Sigma high: " +msgstr "Sigma hoch: " + +#: ../src/gui/siril3.glade.h:743 +msgid "" +"Five rejection algorithms are available.\n" +"- Percentile Clipping is a one-step rejection algorithm ideal for small sets " +"of data (up\n" +"to 6 images).\n" +"- Sigma Clipping is an iterative algorithm which will reject pixels whose " +"distance from\n" +"median will be farthest than two given values in sigma units.\n" +"- Median Sigma Clipping is the same algorithm except than the rejected " +"pixels are\n" +"replaced by the median value.\n" +"- Winsorized Sigma Clipping is very similar to Sigma Clipping method but it " +"uses an\n" +"algorithm based on Huber's work [1] [2].\n" +"- Linear Fit Clipping is an algorithm developed by Juan Conejero, main " +"developer of\n" +"PixInsight [2]. It fits the best straight line (y=ax+b) of the pixel stack " +"and rejects\n" +"outliers. This algorithm performs very well with large stack and images " +"containing sky\n" +"gradients with differing spatial distributions and orientations.\n" +"\n" +"[1] Peter J. Huber and E. Ronchetti (2009), Robust Statistics, 2nd Ed., " +"Wiley\n" +"[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" +msgstr "" +"Fünf Verfahren stehen zur Verfügung:\n" +"- Percentile Clipping ist ein einstufiger Ausschleusungs-Algorithmus für " +"kleine Bildsätze\n" +"(bis zu 6 Bilder).\n" +"- Sigma Clipping ist ein iterativer Algorithmus, der Pixel ausschleust, " +"deren Abweichung\n" +"vom Median-Wert größer ist als der der beiden vorgegebenen Werte.\n" +"- Median Sigma Clipping funktioniert genauso, aber Pixel werden nicht " +"verworfen,\n" +"sondern durch den Median-Wert für diese Stelle ersetzt.\n" +"- Winsorized Sigma Clipping ist dem Median Clipping sehr ähnlich, wurde " +"aber\n" +"modifiziert nach Huber [1][2].\n" +"- Linear Fit Clipping ist ein von Juan Conejero, Hauptentwickler von " +"PixInsight,\n" +"entwicklter Algorithmus [2]. Es errechnet eine Best-fit-Gerade (y=ax+b) über " +"den\n" +"gesamten Stack und schleust Ausreißer aus. Dieser Algorithmus funktioniert " +"sehr gut\n" +"für große Stacks und Bilder mit Himmels-Gradienten mit unterschiedlicher " +"räumlicher\n" +"Verteilung und Orientierung.\n" +"\n" +"[1] Peter J. Huber and E. Ronchetti (2009), Robust Statistics, 2nd Ed., " +"Wiley\n" +"[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" + +#: ../src/gui/siril3.glade.h:759 +msgid "No rejection" +msgstr "Keine Ausschleusung" + +#: ../src/gui/siril3.glade.h:760 +msgid "Percentile Clipping" +msgstr "Prozentuales Clipping" + +#: ../src/gui/siril3.glade.h:761 +msgid "Sigma Clipping" +msgstr "Sigma Clipping" + +#: ../src/gui/siril3.glade.h:762 +msgid "Median Sigma Clipping" +msgstr "Median Sigma Clipping" + +#: ../src/gui/siril3.glade.h:763 +msgid "Winsorized Sigma Clipping" +msgstr "Winsorized Sigma Clipping" + +#: ../src/gui/siril3.glade.h:764 +msgid "Linear Fit Clipping" +msgstr "Linear Fit Clipping" + +#: ../src/gui/siril3.glade.h:765 +msgid "Rejection:" +msgstr "Ausschleusung:" + +#: ../src/gui/siril3.glade.h:766 +msgid "Normalisation:" +msgstr "Normalisierung:" + +#: ../src/gui/siril3.glade.h:767 +msgid "Start stacking" +msgstr "Starte Stacking" + +#: ../src/gui/siril3.glade.h:768 +msgid "" +"Start stacking the current sequence of images, using the method and other " +"information provided above.\n" +"Siril uses a 32-bit internal image to process the stacking, which is then " +"saved to a 16-bit image whose name is given below." +msgstr "" +"Starte das Stacking der aktuellen Bild-Sequenz mit den oben ausgewählten " +"Optionen, Informationen und Methoden.\n" +"SIRIL bearbeitet den Stack intern in einem 32-bit-Prozess und gibt das unten " +"genannte Bild mit 16bit aus." + +#: ../src/gui/siril3.glade.h:770 +msgid "Store result in file:" +msgstr "Speicher das Ergebnis in Datei:" + +#: ../src/gui/siril3.glade.h:771 +msgid "Overwrite" +msgstr "Überschreiben" + +#: ../src/gui/siril3.glade.h:772 +msgid "Overwrite file without notice if it already exists." +msgstr "Überschreibe ohne Warnung, wenn der Name bereits existiert." + +#: ../src/gui/siril3.glade.h:773 +msgid "" +"If one of these items is selected, a normalisation process will be applied " +"to all input\n" +"images before stacking.\n" +"- Normalisation matches the mean background of all input images, then, the\n" +"normalisation is processed by multiplication or addition. Keep in mind that " +"both\n" +"processes generally lead to similar results but multiplicative normalisation " +"is\n" +"prefered for image which will be used for multiplication or division as flat-" +"field.\n" +"- Scale matches dispersion by weighting all input images. This tends to " +"improve\n" +"the signal-to-noise ratio and therefore this is the option used by default " +"with\n" +"the additive normalisation.\n" +"\n" +"The offset and dark masters should not be processed with normalisation.\n" +"However, multiplicative normalisation must be used with flat-field frames." +msgstr "" +"Wenn eine der Optionen in diesem Bereich gesetzt ist, wird vor dem Stacken " +"zunächst\n" +"eine Normalisierung aller Bilder durchgeführt.\n" +"- Normalisierung hebt alle Bild-Hintergründe auf gleiches Niveau. Sie wird " +"dann durch\n" +"Multiplikation oder Addition ausgeführt. Beide Verfahren liefern generell " +"ein ähnliches\n" +"Ergebnis, aber man beachte, daß multiplikative N. bevorzugt wird für Bilder, " +"die später\n" +"für die Multiplikation/Division mit Flats vrwendet werden sollen.\n" +"- Skalieren nimmt eine Einteilung vor durch Wichtung aller Eingangsbilder. " +"Diese\n" +"Option tendiert zu einer Verbesserung des SNR und ist deswegen der " +"Standardwert für\n" +"additive N.\n" +"\n" +"Master-Darks und -Bias dürfen NICHT normalisiert werden. Für Flats hingegen " +"bietet\n" +"sich die multiplikative N. an." + +#: ../src/gui/siril3.glade.h:785 +msgid "No normalisation" +msgstr "Keine Normalisierung" + +#: ../src/gui/siril3.glade.h:786 +msgid "Additive" +msgstr "Additiv" + +#: ../src/gui/siril3.glade.h:787 +msgid "Multiplicative" +msgstr "Multiplikativ" + +#: ../src/gui/siril3.glade.h:788 +msgid "Additive with scaling" +msgstr "Additiv mit Skalierung" + +#: ../src/gui/siril3.glade.h:789 +msgid "Multiplicative with scaling" +msgstr "Multiplikativ mit Skalierung" + +#: ../src/gui/siril3.glade.h:790 +msgid "Force recomputing" +msgstr "Berechnung erzwingen" + +#: ../src/gui/siril3.glade.h:791 +msgid "" +"By default, Siril takes the normalisation coefficients from seq file if " +"already computed. However you can force Siril to recompute it before " +"stacking." +msgstr "" +"Grundsätzlich verwendet SIRIL die Normalisierungs-Koeffizienten aus der seq-" +"Datei, sofern diese schon berechnet wurde. Dennoch kann man SIRIL anweisen, " +"eine erneute Berechnung durchzuführen." + +#: ../src/gui/siril3.glade.h:792 +msgid "Add another filter" +msgstr "Weiteren Filter hinzufügen" + +#: ../src/gui/siril3.glade.h:793 +msgid "Remove this filter" +msgstr "Entferne ausgewählten Filter" + +#: ../src/gui/siril3.glade.h:794 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Wählen Sie den Bildersatz zum Stacken aus:\n" +"- selected: nur die selektierten Bilder der Sequenz verwenden\n" +"- FWHM: nur Bilder mit der besten Halbwertsbandbreite verwenden " +"(ausschließlich Stern-basiert)\n" +"- Rundheit: nur Bilder mit den rundesten Sternen verwenden (ausschließlich " +"Stern-basiert)\n" +"- Qualität: nur Bilder mit der besten Qualität verwenden (Planeten-DFT oder " +"ECC Registrierung)" + +#: ../src/gui/siril3.glade.h:799 +msgid "all" +msgstr "Alle" + +#: ../src/gui/siril3.glade.h:800 +msgid "selected" +msgstr "Ausgewählter Bereich" + +#: ../src/gui/siril3.glade.h:801 +msgid "roundness" +msgstr "Rundheit" + +#: ../src/gui/siril3.glade.h:802 +msgid "Percents of the images of the sequence." +msgstr "Prozent der Bilder aus der Sequenz." + +#: ../src/gui/siril3.glade.h:803 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Wählen Sie die zu stackenden Bilder aus. Es können alle Bilder oder manuell " +"ausgewählte verwendet werden. Es ist auch möglich, einen Prozentsatz bester " +"Bilder anhand von Qualitätskriterien (planetarisch, Rundheit, FWHM) " +"vorzugeben." + +#: ../src/gui/siril3.glade.h:804 +msgid "Stack this set of images:" +msgstr "Stacke diesen Bilder-Satz:" + +#: ../src/gui/siril3.glade.h:805 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Stacke 0 Bilder aus 0 Bildern der Sequenz" + +#: ../src/gui/siril3.glade.h:806 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Normalisiere auf 16-bit\n" +"(Nicht auswählen für Master)" + +#: ../src/gui/siril3.glade.h:808 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Wenn gesetzt, wird das fertige Bild auf 16-bit pro Kanal normalisiert. Dies " +"ist wichtig, da die Eingangs-Sequenz eine Tiefe von nur 8-bit je Kanal " +"aufweist.\n" +"Für Master-Frames in 8-bit-Sequenzen sollte diese Option eher nicht gewählt " +"werden." + +#: ../src/gui/siril3.glade.h:810 +msgid "Stacking" +msgstr "Stacking" + +#: ../src/gui/siril3.glade.h:811 +msgid "" +"Siril output window, displays messages about what has been done and in " +"response to command inputs." +msgstr "" +"SIRIL Ausgabe-Fenster. Hier werden Mitteilungen von SIRIL und Reaktionen auf " +"Befehle ausgegeben." + +#: ../src/gui/siril3.glade.h:812 +msgid "Export the log" +msgstr "Exportiere Logdatei" + +#: ../src/gui/siril3.glade.h:813 +msgid "Clear the log" +msgstr "Logs zurücksetzen" + +#: ../src/gui/siril3.glade.h:814 +msgid "Output logs" +msgstr "Ausgabe Logs" + +#: ../src/gui/siril3.glade.h:815 +msgid "" +"Input command. Typing 'help' here will bring the list of supported commands." +msgstr "" +"SIRIL Console. Die Eingabe von 'help' gibt eine Liste mit verfügbaren " +"Befehle aus." + +#: ../src/gui/siril3.glade.h:816 +msgid "Type help for the list of supported commands" +msgstr "" +"Geben Sie 'help' ein, um eine Liste mit verfügbaren Befehle zu erhalten" + +#: ../src/gui/siril3.glade.h:817 +msgid "Displays manual of the command written in the console." +msgstr "Gibt eine Beschreibung der in die Console-Befehle aus." + +#: ../src/gui/siril3.glade.h:818 +msgid "Console" +msgstr "Console" + +#: ../src/gui/siril3.glade.h:819 ../src/gui/progress_and_log.c:41 +msgid "Ready." +msgstr "Fertig." + +#: ../src/gui/siril3.glade.h:820 +msgid "Current working directory:" +msgstr "Aktuelles Arbeitsverzeichnis:" + +#: ../src/gui/siril3.glade.h:821 +msgid "" +"The directory in which files will be read from and written to. Can be " +"changed with the button Change dir on the right, or with the cd command." +msgstr "" +"Verzeichnis aus dem gelesen und in das geschrieben wird. Es kann durch den " +"'Change'-Button hier rechts, oder durch den 'cd'-Befehl gewechselt werden." + +#: ../src/gui/siril3.glade.h:822 +msgid "Change dir..." +msgstr "Wechsle Verzeichnis..." + +#: ../src/gui/siril3.glade.h:823 +msgid "Change current working directory" +msgstr "Wechsle aktuelles Arbeitsverzeichnis" + +#: ../src/gui/siril3.glade.h:824 +msgid "Stop running processes" +msgstr "Laufenden Prozess anhalten" + +#: ../src/gui/siril3.glade.h:825 +msgid "Current working sequence:" +msgstr "Aktuelle Arbeits-Sequenz:" + +#: ../src/gui/siril3.glade.h:826 +msgid "" +"Set number of threads manually.\n" +"WARNING: Reducing the number of allowed processors too much will degrade " +"performances." +msgstr "" +"Lege Anzahl der Ausführungs-Threads selber fest.\n" +"ACHTUNG: Eine Rücknahme der Anzahl teilnehmender CPU-Kerne kann die " +"Performance herabsetzen." + +#: ../src/gui/siril3.glade.h:828 +msgid "Displays the amount of used RAM memory by Siril." +msgstr "Zeigt den durch SIRIL belegten RAM-Specher an." + +#: ../src/gui/siril3.glade.h:829 +msgid "" +"Displays the amount of disk space available on the file system containing " +"the working directory." +msgstr "" +"Zeigt den verfügbaren Speicherplatz der Festplatte an, auf der sich das " +"Arbeitsverzeichnis befindet." + +#. Must be short !! +#: ../src/gui/siril3.glade.h:831 +msgctxt "GUI" +msgid "Disk Space: N/A" +msgstr "Disk Space: n/v" + +#: ../src/gui/siril3.glade.h:832 +msgid "Informations" +msgstr "Informationen" + +#: ../src/gui/siril3.glade.h:833 +msgid "Focal length (mm): " +msgstr "Brennweite (mm): " + +#: ../src/gui/siril3.glade.h:834 +msgid "Pixel X dim. (micron): " +msgstr "Pixelbreite in X (µm): " + +#: ../src/gui/siril3.glade.h:835 +msgid "" +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." +msgstr "" +"Wenn das Bild gespeichert wird, nachdem alle Felder bereinigt wurden, werden " +"Daten über Pixelgröße und Brennweite nicht mit abgespeichert." + +#: ../src/gui/siril3.glade.h:836 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Wenn die Pixel-Größe in Y nicht automatisch aus dem Datei-Header entnommen " +"werden kann, können sie den Wert auch manuell eintragen." + +#: ../src/gui/siril3.glade.h:837 +msgid "Pixel Y dim. (micron): " +msgstr "Pixelbreite in Y (µm): " + +#: ../src/gui/siril3.glade.h:838 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Wenn die Brennweite nicht automatisch aus dem Datei-Header gelesen werden " +"kann, können sie den Wert auch manuell eintragen." + +#: ../src/gui/siril3.glade.h:839 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Wenn die Pixel-Größe in X nicht automatisch aus dem Datei-Header entnommen " +"werden kann, können sie den Wert auch manuell eintragen." + +#: ../src/gui/siril3.glade.h:840 +msgid "No binning in pixel size value" +msgstr "Pixel-Größen Angabe ohne Binning" + +#: ../src/gui/siril3.glade.h:841 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Diesen Button benutzen, wenn ein Binning vom Pixel-Größenwert nicht " +"berücksichtigt wurde. In diesem Fall wird der Wert aus dem Drop-Down-Menü " +"benutzt." + +#: ../src/gui/siril3.glade.h:842 +msgid "FWHM is converted into arcsec" +msgstr "FWHM wird in Bogensekunden umgerechnet" + +#: ../src/gui/siril3.glade.h:843 +msgid "Binning: " +msgstr "Binning: " + +#: ../src/gui/siril3.glade.h:844 +msgid "" +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." +msgstr "" +"Wenn das \"Binning\" nicht automatisch aus dem Datei-Header entnommen werden " +"kann, tragen Sie den Wert in dieses Eingabefeld ein." + +#: ../src/gui/siril3.glade.h:845 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Ein Satz aus 3 Farbkalibrierungs-Faktoren wird berechnet und mit jedem " +"Farbkanal multipliziert.\n" +"Vor einer Ausführung sollte eine Hintergrund-Neutralisierung durchgeführt " +"werden." + +#: ../src/gui/siril3.glade.h:847 +msgid "Background Neutralization" +msgstr "Hintergrund Neutralisation" + +#: ../src/gui/siril3.glade.h:848 +msgid "" +"Background Neutralization will compute the mean of each color channel and " +"will equalize the sky background in a neutral grey.\n" +"This step should be run before any attempt of color calibration." +msgstr "" +"Die Hintergrund Neutralisation berechnet den Mittelwert jedes Farbkanals und " +"gleicht den Hintergrund mit einem neutralen Grau aus.\n" +"Dieser Schritt sollte VOR jeglicher Farbkalibrierung durchgeführt werden." + +#: ../src/gui/siril3.glade.h:850 +msgid "Background reference" +msgstr "Hintergrund Referenz" + +#: ../src/gui/siril3.glade.h:851 +msgid "Manual White Balance" +msgstr "Manueller Weißabgleich" + +#: ../src/gui/siril3.glade.h:852 +msgid "" +"By clicking on this option, you will use your own color calibration factors. " +"This option is disabled by default." +msgstr "" +"Wählen Sie diese Option, um Ihre eigenen Farbkalibrierungs-Faktoren zu " +"verwenden. Standardmäßig ist diese Option deaktiviert." + +#: ../src/gui/siril3.glade.h:853 +msgid "Red:" +msgstr "Rot:" + +#: ../src/gui/siril3.glade.h:854 +msgid "Green:" +msgstr "Grün:" + +#: ../src/gui/siril3.glade.h:855 +msgid "Blue:" +msgstr "Blau:" + +#: ../src/gui/siril3.glade.h:856 +msgid "x coordinate of the start of the white reference selection" +msgstr "X-Koordinate des Ursprungs für die Weiß-Referenz-Auswahl" + +#: ../src/gui/siril3.glade.h:857 +msgid "y coordinate of the start of the white reference selection" +msgstr "Y-Koordinate des Ursprungs für die Weiß-Referenz-Auswahl" + +#: ../src/gui/siril3.glade.h:858 +msgid "Width of the white reference selection" +msgstr "Breite der Weiß-Referenz-Feldes" + +#: ../src/gui/siril3.glade.h:859 +msgid "Height of the white reference selection" +msgstr "Höhe der Weiß-Referenz-Feldes" + +#: ../src/gui/siril3.glade.h:860 +msgid "" +"You should specify a selection that represents an average of suitable white " +"reference.\n" +"If the selection is empty, the whole image will be used as reference." +msgstr "" +"Wählen Sie einen Bereich aus, der als Weiß-Referenz geeignet ist.\n" +"Bleibt die Auswahl leer, wird das gesamte Bild als weiß-Referenz verwendet." + +#: ../src/gui/siril3.glade.h:862 +msgid "" +"Lower rejection bound for white selection. Pixels below this value are not " +"taken into account. Black pixels are always excluded from computation." +msgstr "" +"Unterer Grenzwert für die Weiß-Auswahl. Pixel unter diesem Wert werden nicht " +"berücksichtigt. Schwarze Pixel bleiben grundsätzlich außen vor." + +#: ../src/gui/siril3.glade.h:863 +msgid "" +"Upper rejection bound for white selection. Pixels above this value are not " +"taken into account. Saturated pixels are always excluded from computation." +msgstr "" +"Oberer Grenzwert für die Weiß-Auswahl. Pixel überer diesem Wert werden nicht " +"berücksichtigt. Gesättigte Pixel bleiben grundsätzlich außen vor." + +#: ../src/gui/siril3.glade.h:864 +msgid "Lower limit: " +msgstr "Untere Grenze: " + +#: ../src/gui/siril3.glade.h:865 +msgid "Upper limit: " +msgstr "Obere Grenze: " + +#: ../src/gui/siril3.glade.h:866 +msgid "White reference" +msgstr "Weiß-Referenz" + +#: ../src/algos/background_extraction.c:112 +msgid "" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" +msgstr "" +"Zu wenig Hintrgrund-Samples. Die Hintergrund-Extraktion kann nicht berechnet " +"werden.\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Ungenügender Speicherplatz - Abbruch" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "Nicht genügend Samples." + +#: ../src/algos/colors.c:355 +msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" +msgstr "" +"SIRIL kann keine Kanäle extrahieren. Stellen Sie sicher, daß es ein RGB-Bild " +"ist.\n" + +#: ../src/algos/colors.c:362 +#, c-format +msgid "%s channel extraction: processing...\n" +msgstr "%s Kanal Extraction: in Bearbeitung...\n" + +#: ../src/algos/colors.c:469 +msgid "Saturation enhancement: processing...\n" +msgstr "Erhöhung der Sättigung: in Bearbeitung...\n" + +#: ../src/algos/colors.c:477 ../src/algos/colors.c:684 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1760 ../src/core/siril.c:626 ../src/core/siril.c:788 +#: ../src/core/siril.c:988 ../src/core/siril.c:1279 ../src/core/siril.c:1375 +#: ../src/core/siril.c:1467 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:317 ../src/gui/statistics_list.c:311 +msgid "Error: statistics computation failed.\n" +msgstr "Fehler: Statistik-Berechnung fehlgeschlagen.\n" + +#: ../src/algos/colors.c:547 +msgid "SCNR: processing...\n" +msgstr "" +"SCNR: bearbeite...\n" +"\n" + +#: ../src/algos/colors.c:606 ../src/algos/colors.c:726 +#: ../src/algos/colors.c:762 ../src/algos/colors.c:935 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:536 +#: ../src/gui/photometric_cc.c:554 +msgid "There is no selection" +msgstr "Keine Auswahl getroffen" + +#: ../src/algos/colors.c:607 ../src/algos/colors.c:727 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:537 +#: ../src/gui/photometric_cc.c:555 +msgid "Make a selection of the background area" +msgstr "Wählen Sie einen Bereich aus dem Hintergrund aus" + +#: ../src/algos/colors.c:763 ../src/algos/colors.c:947 +msgid "Make a selection of the white reference area" +msgstr "Wählen Sie einen Bereich für die Weiß-Referenz aus" + +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:313 +msgid "Background reference:\n" +msgstr "Hintergrund Referenz:\n" + +#: ../src/algos/colors.c:817 +msgid "White reference:\n" +msgstr "Weiß-Referenz:\n" + +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:300 +msgid "Color calibration factors:\n" +msgstr "Farb-Kalibrierung-Faktoren:\n" + +#: ../src/algos/colors.c:900 +msgid "Color Calibration: processing...\n" +msgstr "Farb-Kalibrierung: bearbeite...\n" + +#: ../src/algos/cosmetic_correction.c:311 +#, c-format +msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" +msgstr "Bild %d: %ld Pixels korrigiert (%ld + %ld)\n" + +#: ../src/algos/cosmetic_correction.c:359 +msgid "Cosmetic Correction: processing...\n" +msgstr "Kosmetische Korrektur: in Bearbeitung...\n" + +#: ../src/algos/cosmetic_correction.c:371 ../src/core/siril.c:832 +#: ../src/core/siril.c:886 +#, c-format +msgid "%ld pixels corrected (%ld + %ld)\n" +msgstr "%ld Pixels korrigiert (%ld + %ld)\n" + +#: ../src/algos/fft.c:268 +msgid "Fourier Transform: processing...\n" +msgstr "Fourier Transformation: in Bearbeitung...\n" + +#: ../src/algos/fft.c:323 +msgid "There is something wrong in your files\n" +msgstr "Datei vrmtl. beschädigt\n" + +#. Translator note: radii is plural for radius +#: ../src/algos/photometry.c:253 +msgid "" +"Inner and outer radii are too small. Please update values in setting box.\n" +msgstr "" +"Innere und äußere Radii sind zu klein. Bitte Werte im Eigabefeld ändern.\n" + +#: ../src/algos/photometry.c:303 +msgid "" +"Warning: There aren't enough pixels in the sky annulus. You need to make a " +"larger selection.\n" +msgstr "" +"ACHTUNG: ungenügende Anzahl Pixel im Hitergrund-Kreis. Vergrößern Sie die " +"Auswahl.\n" + +#: ../src/algos/photometry.c:353 ../src/algos/photometry.c:367 +msgid "Wrong value" +msgstr "Falscher Wert" + +#: ../src/algos/photometry.c:354 ../src/algos/photometry.c:368 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "Der innere Radiuwert muß kleiner sein als der äußere. Bitte anpassen." + +#. Matching information +#: ../src/algos/plateSolver.c:739 ../src/registration/global.c:437 +#, c-format +msgid "%d pair matches.\n" +msgstr "%d korrespondierende Paare.\n" + +#: ../src/algos/plateSolver.c:741 ../src/registration/global.c:439 +#, c-format +msgid "Inliers:%*.3f\n" +msgstr "Innerhalb liegende Werte: %*.3f\n" + +#. we assume square pixels +#: ../src/algos/plateSolver.c:747 +#, c-format +msgid "Resolution:%*.3lf arcsec/px\n" +msgstr "Auflösung:%*.3lf arcsec/px\n" + +#: ../src/algos/plateSolver.c:761 +#, c-format +msgid "Rotation:%+*.2lf deg %s\n" +msgstr "Rotation:%+*.2lf deg %s\n" + +#: ../src/algos/plateSolver.c:761 +msgid "(flipped)" +msgstr "(gespiegelt)" + +#: ../src/algos/plateSolver.c:775 +#, c-format +msgid "Focal:%*.2lf mm\n" +msgstr "Fokal:%*.2lf mm\n" + +#: ../src/algos/plateSolver.c:776 +#, c-format +msgid "Pixel size:%*.2lf µm\n" +msgstr "Pixel-Größe:%*.2lf µm\n" + +#: ../src/algos/plateSolver.c:779 +#, c-format +msgid "Field of view: %s x %s\n" +msgstr "Sichtfeld: %s x %s\n" + +#: ../src/algos/plateSolver.c:782 +#, c-format +msgid "Image center: RA: %s, DEC: %s\n" +msgstr "Bildmitte: RA: %s, DEC: %s\n" + +#: ../src/algos/plateSolver.c:817 +#, c-format +msgid "Catalog NOMAD size: %d objects\n" +msgstr "NOMAD Kataloggröße: %d objects\n" + +#: ../src/algos/plateSolver.c:851 +#, c-format +msgid "Catalog TYCHO-2 size: %d objects\n" +msgstr "TYCHO-2 Kataloggröße: %d objects\n" + +#: ../src/algos/plateSolver.c:885 +#, c-format +msgid "Catalog Gaia DR2 size: %d objects\n" +msgstr "Gaia DR2 Kataloggröße: %d objects\n" + +#: ../src/algos/plateSolver.c:919 +#, c-format +msgid "Catalog PPMXL size: %d objects\n" +msgstr "PPMXL Kataloggröße: %d objects\n" + +#: ../src/algos/plateSolver.c:954 +#, c-format +msgid "Catalog Bright stars size: %d objects\n" +msgstr "Bright Stars Kataloggröße: %d objects\n" + +#: ../src/algos/plateSolver.c:1014 +msgid "" +"Plate Solving failed. The image could not be aligned with the reference " +"stars.\n" +msgstr "" +"Plate-Solving fehlgeschlagen. Das Bild konnte nicht zur Deckung mit den " +"Referenz-Sternen gebracht werden.\n" + +#: ../src/algos/plateSolver.c:1017 +msgid "" +"This is usually because the initial parameters (pixel size, focal length, " +"initial coordinates) are too far from the real metadata of the image.\n" +"You could also try to look into another catalogue.\n" +"Finally, keep in mind that plate solving algorithm should only be applied on " +"linear image." +msgstr "" +"Dies passiert üblicherweise, wenn die Eingangs-Parameter (Pixel-Größe, " +"Brennweite, Anfangskoordinaten) zu weit entfernt von den den Metadaten des " +"Bildes liegen.\n" +"Erwägen Sie die Verwendung eines anderen Katalogs.\n" +"Behalten Sie im Hinterkopf, daß der Plate-Solving-Algorithmus nur auf " +"lineare Bilder angewendet werden sollte." + +#: ../src/algos/plateSolver.c:1066 +#, c-format +msgid "" +"There are not enough stars picked in the image. At least %d stars are needed." +msgstr "" +"Nicht genügend Sterne ausgewählt. Mindestens %d Sterne sind erforderlich." + +#: ../src/algos/plateSolver.c:1257 +msgid "There are no keywords stored in the FITS header.\n" +msgstr "Es sind keine Schlüsselbegriffe im FITS_Header gespeichert.\n" + +#: ../src/algos/plateSolver.c:1258 +msgid "No metadata" +msgstr "Keine Metadaten" + +#: ../src/algos/plateSolver.c:1325 +msgid "Astrometric solution detected" +msgstr "Astrometrische Auflösung (plate solving) erkannt" + +#: ../src/algos/plateSolver.c:1325 +msgid "" +"The astrometric solution contained in the image will be erased by the " +"geometric transformation and no undo will be possible." +msgstr "" +"Die enthaltene astrometrische Auflösung des Bildes geht durch die " +"geometrische Transformation verloren und kann durch 'undo' NICHT " +"wiederhergestellt werden." + +#: ../src/algos/PSF.c:693 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"PSF fit Ergebnis:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Winkel=%0.2f deg\n" +"Hintergrund-Wert=%0.6f\n" +"Maximale Intensität=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" + +#. only used for progress bar +#: ../src/algos/rgradient.c:69 +msgid "Rotational gradient in progress..." +msgstr "Rotatorischer Gradient: in Bearbeitung..." + +#: ../src/algos/rgradient.c:124 +msgid "Rotational gradient complete." +msgstr "Rotatorischer Gradient abgeschlossen." + +#: ../src/algos/rgradient.c:181 ../src/core/command.c:222 +#: ../src/core/command.c:460 ../src/core/command.c:783 +#: ../src/core/command.c:951 ../src/core/command.c:986 +#: ../src/core/command.c:1066 ../src/core/command.c:1418 +#: ../src/core/command.c:1545 ../src/core/command.c:1568 +#: ../src/core/command.c:1596 ../src/core/command.c:1622 +#: ../src/core/command.c:1798 ../src/core/command.c:1867 +#: ../src/core/command.c:2718 ../src/gui/callbacks.c:3939 +#: ../src/gui/callbacks.c:4147 ../src/gui/callbacks.c:4305 +#: ../src/gui/callbacks.c:4338 ../src/gui/callbacks.c:4386 +#: ../src/gui/callbacks.c:4520 ../src/gui/callbacks.c:4674 +#: ../src/gui/callbacks.c:4853 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1091 +#: ../src/stacking/stacking.c:1213 +msgid "Another task is already in progress, ignoring new request.\n" +msgstr "" +"Ein anderer Prozess ist noch in der Bearbeitung. Neue Anfrage ignoriert.\n" + +#: ../src/algos/star_finder.c:171 +msgid "Findstar: processing...\n" +msgstr "Finde Stern: in Bearbeitung...\n" + +#: ../src/algos/star_finder.c:333 +msgid "This star has already been picked !\n" +msgstr "Dieser stern wurde bereits ausgewählt!\n" + +#: ../src/algos/star_finder.c:334 +msgid "Peaker" +msgstr "Ausrichtung" + +#: ../src/algos/transform.c:212 +msgid "wavelet_transform_data: bad plane number\n" +msgstr "wavelet_transform_data: falsche Ebenen-Anzahl\n" + +#: ../src/compositing/align_rgb.c:131 ../src/compositing/compositing.c:601 +msgid "Error in layers alignment." +msgstr "Fehler in der Layer-Ausrichtung." + +#: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 +#: ../src/registration/registration.c:958 +msgid "Registration complete." +msgstr "Registrierung abgeschlossen." + +#: ../src/compositing/compositing.c:451 +msgid "ERROR" +msgstr "ERROR" + +#: ../src/compositing/compositing.c:467 +msgid "The first loaded image should have the greatest sizes for now\n" +msgstr "" +"Das zuerst geladenen Bild sollte im Augenblick den größten Umfang haben\n" + +#: ../src/compositing/compositing.c:468 +#, c-format +msgid "NOT OK %ux%u" +msgstr "NICHT OK %ux%u" + +#: ../src/compositing/compositing.c:472 +#, c-format +msgid "Resizing the loaded image from %dx%d to %dx%d\n" +msgstr "Neue Größe für das geladene Bild von %dx%d auf %dx%d\n" + +#: ../src/compositing/compositing.c:475 +#, c-format +msgid "OK upscaled from %ux%u" +msgstr "OK, hochskaliert von %ux%u" + +#: ../src/compositing/compositing.c:482 +#, c-format +msgid "OK %ux%u" +msgstr "OK %ux%u" + +#: ../src/compositing/compositing.c:515 +msgid "Compositing result image" +msgstr "Setze Ergebnisbild zusammen" + +#: ../src/compositing/compositing.c:516 +msgid "Unsaved compositing result" +msgstr "Ergebnis nicht gespeichert" + +#: ../src/compositing/compositing.c:546 +msgid "You must at least load two layers before!\n" +msgstr "Sie müssen zumindest 2 Layer laden\n" + +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4640 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 +msgid "Warning" +msgstr "Warnung" + +#. fix for the cancelling check in processing +#: ../src/compositing/compositing.c:596 +#, c-format +msgid "Starting registration using method: %s\n" +msgstr "Beginne Registrierung mit Methode: %s\n" + +#: ../src/compositing/compositing.c:692 +msgid "An image area must be selected for align" +msgstr "Es muß ein Bereich zum Ausrichten ausgewählt sein" + +#: ../src/compositing/compositing.c:698 +msgid "At least 2 channels must be loaded for align" +msgstr "Zum Ausrichten müssen mindestens 2 Layer ausgewählt sein" + +#: ../src/compositing/compositing.c:1123 +msgid "No overflow with the current colours, redrawing only\n" +msgstr "Kein Überlauf bei den aktuellen Farben\n" + +#: ../src/compositing/compositing.c:1126 +msgid "Nothing to adjust, no overflow\n" +msgstr "Nichts einzustellen, kein Überlauf\n" + +#: ../src/compositing/compositing.c:1159 +#, c-format +msgid "Readjusting layer %d to %g times bright\n" +msgstr "Neujustierung Layer %d auf %g mal heller\n" + +#: ../src/core/command.c:390 +msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" +msgstr "Multiplikation mit einem Koeffizienten = 0 ist nicht gestattet.\n" + +#: ../src/core/command.c:413 +#, c-format +msgid "Entropy: %.3lf\n" +msgstr "Entropie: %.3lf\n" + +#: ../src/core/command.c:449 +msgid "Number of iterations must be > 0.\n" +msgstr "Anzahl der Iterationen muß > 0 sein.\n" + +#: ../src/core/command.c:454 +msgid "Sigma must be > 0.\n" +msgstr "Sigma muß > 0 sein.\n" + +#: ../src/core/command.c:494 ../src/core/command.c:997 +msgid "Crop: x and y must be positive values.\n" +msgstr "Zuschnitt: X und Y müssen positiv sein.\n" + +#: ../src/core/command.c:498 ../src/core/command.c:1001 +msgid "Crop: width and height must be greater than 0.\n" +msgstr "Zuschnitt: Breite und Höhe müssen > 0 sein.\n" + +#: ../src/core/command.c:502 ../src/core/command.c:1038 +#, c-format +msgid "Crop: width and height, respectively, must be less than %d and %d.\n" +msgstr "Zuschnitt: Breite und Höhe müssen kleiner als %d und %d sein.\n" + +#: ../src/core/command.c:511 ../src/core/command.c:1010 +msgid "Crop: select a region or provide x, y, width, height\n" +msgstr "" +"Zuschnitt: wählen Sie einen Bereich aus oder geben Sie X und Y bzw. Breite " +"und Höhe an\n" + +#: ../src/core/command.c:597 ../src/core/command.c:2555 +#: ../src/gui/callbacks.c:4638 ../src/gui/wavelets.c:220 +#, c-format +msgid "Wavelet: maximum number of plans for this image size is %d\n" +msgstr "Wavelet: maximale Anzahl der Ebenen für dieses Bild ist %d\n" + +#: ../src/core/command.c:603 ../src/gui/wavelets.c:229 +#, c-format +msgid "Wavelet: type must be %d or %d\n" +msgstr "Wavelet: Typ muß %d or %d sein\n" + +#: ../src/core/command.c:672 +msgid "Cannot list files, set working directory first.\n" +msgstr "Kann keine Dateien finden, geben Sie ein Arbeitsverzeichnis an.\n" + +#: ../src/core/command.c:678 ../src/core/command.c:687 +msgid "Siril cannot open the directory.\n" +msgstr "SIRIL kann das Verzeichnis nicht öffnen.\n" + +#: ../src/core/command.c:709 +#, c-format +msgid "Link: %s\n" +msgstr "Link: %s\n" + +#: ../src/core/command.c:713 +#, c-format +msgid "Directory: %s\n" +msgstr "Verzeichnis: %s\n" + +#: ../src/core/command.c:723 ../src/core/command.c:730 +#, c-format +msgid "Sequence: %s\n" +msgstr "Sequenz: %s\n" + +#: ../src/core/command.c:726 ../src/core/command.c:728 +#, c-format +msgid "Image: %s\n" +msgstr "Bild: %s\n" + +#: ../src/core/command.c:735 ../src/core/command.c:2534 +msgid "********* END OF THE LIST *********\n" +msgstr "********* ENDE DER LISTE *********\n" + +#: ../src/core/command.c:765 +msgid "The scaling factor must be less than 5.0\n" +msgstr "Der skalierungsfaktor muß unter 5.0 liegen\n" + +#: ../src/core/command.c:835 ../src/core/command.c:933 +#: ../src/core/command.c:955 +msgid "" +"Current selection is too large. To determine the PSF, please make a " +"selection around a single star.\n" +msgstr "" +"Aktuelle Auswahl zu groß. Zur PSF-Bestimmung wählen Sie einen Bereich um " +"einen Stern aus.\n" + +#: ../src/core/command.c:839 ../src/core/command.c:937 +#: ../src/core/command.c:959 ../src/io/sequence.c:1550 +msgid "Select an area first\n" +msgstr "Wählen Sie zunächst einen Bereich aus\n" + +#: ../src/core/command.c:845 +#, c-format +msgid "" +"Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" +msgstr "" +"Relative Magnitude: %.3lf, Reale reduzierte Magnitude: %.3lf, Offset: %.3lf\n" + +#: ../src/core/command.c:861 ../src/core/command.c:916 +#: ../src/core/command.c:978 +msgid "This command can be used only when a sequence is loaded\n" +msgstr "Diese Befehl funktioniert nur bei geladener Sequenz\n" + +#: ../src/core/command.c:869 +msgid "Run a PSF for the sequence first (see seqpsf)\n" +msgstr "Führe zunächst eine PSF für die Sequenz durch (siehe seqpsf)\n" + +#: ../src/core/command.c:873 +#, c-format +msgid "" +"Reference magnitude has been set for star %d to %f and will be computed for " +"each image\n" +msgstr "Referenz Magnitude des Sterns %d wurde auf %f gesetzt\n" + +#: ../src/core/command.c:885 +#, c-format +msgid "FITS extension unknown: %s\n" +msgstr "Unbekannte FITS-Extension: %s\n" + +#: ../src/core/command.c:908 +msgid "" +"Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " +"0.9.\n" +msgstr "" +"Parameterwerte unkorrekt. Sigma muß >= 0.05 sein und die Rundheit zwischen 0 " +"and 0.9.\n" + +#: ../src/core/command.c:921 +msgid "Reference magnitude unset for sequence\n" +msgstr "Referenz Magnitude für Sequenz nicht gesetzt\n" + +#: ../src/core/command.c:973 +#, c-format +msgid "Running the PSF on the loaded sequence, layer %d\n" +msgstr "PSF läuft für geladene Sequenz auf Layer %d\n" + +#: ../src/core/command.c:1024 ../src/core/command.c:1030 +#: ../src/core/command.c:1637 ../src/core/command.c:1643 +#: ../src/core/command.c:1879 ../src/core/command.c:1886 +#: ../src/core/command.c:2139 ../src/core/command.c:2281 +#: ../src/core/command.c:2366 ../src/core/command.c:2374 +#, c-format +msgid "No sequence `%s' found.\n" +msgstr "Sequenz '%s' nicht gefunden.\n" + +#: ../src/core/command.c:1059 +#, c-format +msgid "Background value: %d\n" +msgstr "Hintergrund-Wert: %d\n" + +#: ../src/core/command.c:1114 +#, c-format +msgid "The file %s has been created for the %s layer.\n" +msgstr "Die Datei %s wurde für Layer %s generiert.\n" + +#: ../src/core/command.c:1197 +msgid "Number of layers MUST be 1 or 3\n" +msgstr "Anzahl der Layer muß 1 oder 3 betragen\n" + +#: ../src/core/command.c:1212 +msgid "new empty image" +msgstr "Neues, leeres Bild" + +#: ../src/core/command.c:1229 +#, c-format +msgid "Values must be positive and less than %d.\n" +msgstr "Werte müssen positiv und kleiner sein als %d.\n" + +#: ../src/core/command.c:1249 ../src/core/command.c:1510 +msgid "Wrong parameters.\n" +msgstr "Falsche Parameter.\n" + +#: ../src/core/command.c:1254 +msgid "Fill2: select a region or provide x, y, width, height\n" +msgstr "" +"Fill2: wählen Sie eine Region aus oder geben X, Y, Breite, Höhe direkt an\n" + +#: ../src/core/command.c:1277 ../src/gui/PSF_list.c:499 +#, c-format +msgid "Found %d stars in image, channel #%d\n" +msgstr "%d Sterne im Bild gefunden, Kanal #%d\n" + +#: ../src/core/command.c:1291 +msgid "find_hot must be applied on an one-channel master-dark frame" +msgstr "Auf ein-kanalige Master-Darks muß \"find_hot\" angewendet werden" + +#: ../src/core/command.c:1299 +#, c-format +msgid "%ld cold and %ld hot pixels\n" +msgstr "%ld kalte und %ld heiße Pixel\n" + +#: ../src/core/command.c:1304 ../src/core/command.c:1339 +#, c-format +msgid "Cannot open file: %s\n" +msgstr "Kann Datei nicht öffnen: %s\n" + +#: ../src/core/command.c:1400 +#, c-format +msgid "cosmetic correction: cosme file format error at line %d: %s\n" +msgstr "Kosmetische Korrektur: cosme-Datei Format-Fehler in Zeile %d: %s\n" + +#: ../src/core/command.c:1408 +msgid "There were some errors, please check your input file.\n" +msgstr "Es gab einige Fehler, überprüfen Sie bitte Ihre Eingabedatei.\n" + +#: ../src/core/command.c:1430 +msgid "The size of the kernel MUST be odd and greater than 1.\n" +msgstr "Die Kernel-Größe MUSS eine ungerade Zahl sein und >1.\n" + +#: ../src/core/command.c:1435 +msgid "Modulation value MUST be between 0 and 1\n" +msgstr "Modulationswert MUSS zwischen 0 und 1 liegen\n" + +#. FITS are stored bottom to top +#: ../src/core/command.c:1458 +#, c-format +msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" +msgstr "Schwerpunkt-Koordinaten: (%.3lf, %.3lf)\n" + +#: ../src/core/command.c:1573 +msgid "FFT does not work with sequences\n" +msgstr "FFT funktioniert nicht bei Sequenzen\n" + +#: ../src/core/command.c:1677 +msgid "" +"Use this command to select images in a sequence, load a sequence first.\n" +msgstr "" +"Benutzen Sie diesen Befehl für die Bildauswahl in einer Sequenz. Sequenz " +"zuerst laden.\n" + +#: ../src/core/command.c:1683 +msgid "" +"The first argument must be between 0 and the number of images minus one.\n" +msgstr "Das erste Argument muß > 0 und Anzahl-aller-Bilder minus 1 sein.\n" + +#: ../src/core/command.c:1717 +#, c-format +msgid "Selection update finished, %d images are selected in the sequence\n" +msgstr "" +"Aktualisierung des Auswahl abgeschlossen, %d Bilder sind nun in der Sequenz " +"ausgewählt\n" + +#: ../src/core/command.c:1736 +msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" +msgstr "SIRIL kann die Layer nicht trennen. Das Bild muß im RGB-Modus sein.\n" + +#: ../src/core/command.c:1780 +#, c-format +msgid "" +"%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " +"%0.1lf, Max: %0.1lf\n" +msgstr "" +"%s Layer: Mittelwert: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, Mittl." +"Abweichg.: %0.1lf, Min: %0.1lf, Max: %0.1lf\n" + +#: ../src/core/command.c:1810 ../src/io/conversion.c:601 +#, c-format +msgid "Conversion: error opening working directory %s.\n" +msgstr "Konvertierung: Fehler beim Öffnen des Verzeichnisses %s.\n" + +#: ../src/core/command.c:1829 ../src/io/conversion.c:583 +msgid "Conversion: processing...\n" +msgstr "Konvertierung: bearbeite...\n" + +#: ../src/core/command.c:1840 ../src/io/conversion.c:594 +msgid "Conversion: no working directory set.\n" +msgstr "Konvertierung: kein Arbeitsverzeichnis festgelegt.\n" + +#: ../src/core/command.c:1899 ../src/registration/registration.c:104 +msgid "Global Star Alignment (deep-sky)" +msgstr "Allgemeine Stern Ausrichtung (Deep Sky)" + +#. only TRUE for global registration. Will be updated in this case +#: ../src/core/command.c:1957 ../src/registration/registration.c:917 +#, c-format +msgid "Registration: processing using method: %s\n" +msgstr "Registrierung mit folgender Methode: %s\n" + +#: ../src/core/command.c:1976 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" +"Normalisierungs-Optionen sind in diesem Kontext nicht erlaubt. Wird " +"ignoriert.\n" + +#: ../src/core/command.c:1996 ../src/core/command.c:2014 +#: ../src/core/command.c:2032 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "Konnte Argument '%s' für Filter '%s' nicht analysieren. Abbruch.\n" + +#: ../src/core/command.c:2003 ../src/core/command.c:2021 +#: ../src/core/command.c:2039 ../src/core/command.c:2052 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Fehlender Wert für %s. Abbruch.\n" + +#: ../src/core/command.c:2058 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"Auswahl des Output-Dateinamens ist in diesem Kontext nicht erlaubt. Wird " +"ignoriert.\n" + +#: ../src/core/command.c:2062 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Unbekannter Wert für's Stacken von '%s'. Abbruch.\n" + +#: ../src/core/command.c:2079 +#, c-format +msgid "Stacking sequence %s\n" +msgstr "Stacking Sequenz %s\n" + +#: ../src/core/command.c:2089 +msgid "Not using rejection for stacking\n" +msgstr "Keine Ausschleusung beim Stacken\n" + +#: ../src/core/command.c:2132 +#, c-format +msgid "Could not save the stacking result %s\n" +msgstr "Konnte das Stacking-Ergebnis nicht speichern %s\n" + +#: ../src/core/command.c:2153 +msgid "Looking for sequences in current working directory...\n" +msgstr "Suche Sequenzen im aktuellen Arbeitsverzeichnis...\n" + +#: ../src/core/command.c:2155 +msgid "Error while searching sequences or opening the directory.\n" +msgstr "" +"Fehler bei der Suche nach Sequenzen oder beim Öffnen des Verzeichnisses.\n" + +#: ../src/core/command.c:2162 +msgid "Starting stacking of found sequences...\n" +msgstr "Beginne Stacking der gefunden Sequenzen...\n" + +#: ../src/core/command.c:2170 +#, c-format +msgid "Stacked %d sequences successfully.\n" +msgstr "%d Sequenzen wurde erfolgreich gestackt.\n" + +#: ../src/core/command.c:2210 ../src/core/command.c:2307 +msgid "" +"The average stacking with rejection uses the Winsorized rejection here and " +"requires two extra arguments: sigma low and high.\n" +msgstr "" +"Das Mittelwert-Stacking mit Ausschleusung wendet hier die \"Winsorized\"-" +"Ausschleusung an und bedarf zweier zusätzlicher Argumemte: Sigma-HI und " +"Sigma-LO.\n" + +#: ../src/core/command.c:2219 ../src/core/command.c:2316 +#, c-format +msgid "Stacking method type '%s' is invalid\n" +msgstr "Stacking-Methode '%s' is ungültig\n" + +#: ../src/core/command.c:2252 +msgid "Stacked sequence successfully.\n" +msgstr "Sequenz erfolgreich gestackt.\n" + +#: ../src/core/command.c:2441 ../src/gui/callbacks.c:3951 +msgid "Preprocessing...\n" +msgstr "Vorberechnung...\n" + +#: ../src/core/command.c:2491 +#, c-format +msgid "" +"Number of logical processors MUST be greater than 0 and lower or equal to " +"%d.\n" +msgstr "Anzahl logischer Prozessoren muß > 0 sein und =< %d.\n" + +#: ../src/core/command.c:2503 +#, c-format +msgid "Using now %d logical processors\n" +msgstr "Verwendete Prozessoren: %d\n" + +#: ../src/core/command.c:2515 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"Der zulässige Bereich für das Verhältnis von Speichernutzung is [0,05/2], " +"empfohlen werden Werte unterhalb des Maximums\n" + +#: ../src/core/command.c:2519 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Ein Verhältnis größer 1 fürs Stacken bewirkt ein Auslagern auf Festplatte. " +"Geht, ist aber sehr langsam und nicht empfehlenswert (%g angefordert)\n" + +#: ../src/core/command.c:2523 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "Speicherverfügbarkeit zum Stacken geändert auf %g\n" + +#: ../src/core/command.c:2529 +msgid "********* LIST OF AVAILABLE COMMANDS *********\n" +msgstr "********* LISTE VERFÜGBARER KOMMANDOS *********\n" + +#: ../src/core/command.c:2610 +#, c-format +msgid "Unknown command: '%s' or not implemented yet\n" +msgstr "Unbekannter Befehl: '%s' ist noch nicht implementiert\n" + +#: ../src/core/command.c:2617 +#, c-format +msgid "Usage: %s\n" +msgstr "Auslastung: %s\n" + +#: ../src/core/command.c:2624 +#, c-format +msgid "This command cannot be used in a script: %s\n" +msgstr "Dieser Befehl kann in Scripten nicht verwendet werden: %s\n" + +#. process the command +#: ../src/core/command.c:2630 +#, c-format +msgid "Running command: %s\n" +msgstr "Befehlsausführung: %s\n" + +#: ../src/core/command.c:2679 +#, c-format +msgid "Error in line %d: '%s'.\n" +msgstr "Fehler in Zeile %d: '%s'.\n" + +#: ../src/core/command.c:2680 +msgid "Exiting batch processing.\n" +msgstr "Verlasse Batch-Prozess.\n" + +#: ../src/core/command.c:2698 +msgid "Script execution finished successfully.\n" +msgstr "Script-Ausführung erfolgreich.\n" + +#: ../src/core/command.c:2700 +msgid "Total execution time" +msgstr "Gesamt Ausführungsdauer" + +#: ../src/core/command.c:2702 +msgid "Script execution failed.\n" +msgstr "Script-Ausführung fehlgeschlagen.\n" + +#: ../src/core/command.c:2728 ../src/gui/script_menu.c:173 ../src/main.c:416 +#, c-format +msgid "File [%s] does not exist\n" +msgstr "Datei [%s] existiert nicht\n" + +#. Then, run script +#: ../src/core/command.c:2736 ../src/gui/script_menu.c:182 +#, c-format +msgid "Starting script %s\n" +msgstr "Starte Script %s\n" + +#: ../src/core/command.c:2743 +msgid "Command execution failed.\n" +msgstr "Befehlsausführung fehlgeschlagen.\n" + +#: ../src/core/command.c:2868 +msgid "Can be used in a script: " +msgstr "Kann in Scripten verwendet werden: " + +#: ../src/core/command.c:2871 +msgid "YES" +msgstr "JA" + +#: ../src/core/command.c:2873 +msgid "NO" +msgstr "NEIN" + +#: ../src/core/command.c:2883 +msgid "No help for this command" +msgstr "Für diesen Befehl ist keine Hilfe verfügbar" + +#: ../src/core/command_def.h:6 +msgid "" +"Computes a new image IMG with IMG_1 and IMG_2. The pixel of IMG_1 is " +"replaced by the pixel at the same coordinates of IMG_2 if the intensity of 2 " +"is greater than 1" +msgstr "" +"Berechnet ein IMG-Bild aus IMG_1 und IMG_2. Ein Pixel in IMG_1 wird durch " +"das derselben Koordinate von IMG_2 ersetzt, wenn es heller ist als das aus " +"IMG_1" + +#: ../src/core/command_def.h:7 +msgid "" +"ASINH command stretches the image for show faint objects, while " +"simultaneously, preserve the structure of bright objects of the field" +msgstr "" +"Der ASINH-Befehl streckt die Helligkeit, um schwache Objekte hervorzuheben. " +"Hellere Objekte im Feld bleiben gleich" + +#: ../src/core/command_def.h:9 +msgid "Returns the background level of the image loaded in memory" +msgstr "Gibt den Hintergrund-Wert des im Speicher befindlichen Bildes aus" + +#: ../src/core/command_def.h:10 +msgid "Returns the background noise level" +msgstr "Gibt den Hintergrund-Rauschpegel aus" + +#: ../src/core/command_def.h:12 +msgid "" +"Set the new current working directory. The argument \"directory\" can " +"contain the ~ token, expanded as the home directory, directories with spaces " +"in the name can be protected using single or double quotes" +msgstr "" +"Legen Sie das neue Arbeitsverzeichnis fest. Der Platzhalter \"directory\" " +"kann das ~ Symbol enthalten, das anstelle des Home-Verzeichnisses gilt. " +"Verzeichnisse mit Leerzeichen im Namen bleiben erhalten, wenn sie in " +"Anführungszeichen gesetzt werden" + +#: ../src/core/command_def.h:13 +msgid "Returns the coordinates of the center of gravity of the image" +msgstr "Ermittelt die Schwerpunkt-Kordinaten des Bildes" + +#: ../src/core/command_def.h:14 +msgid "Clears the graphical output logs" +msgstr "Löscht die Logs der Grafik-Ausgabe" + +#: ../src/core/command_def.h:15 +msgid "Clear all the stars saved in memory and displayed on the screen" +msgstr "Entfernt alle Sterne im Speicher und auf dem Bildschirm" + +#: ../src/core/command_def.h:16 +msgid "Properly closes the opened image and the opened sequence, if any" +msgstr "" +"Geordnetes Schließen des Bildes und der Sequenz, sofern eine vorhanden ist" + +#: ../src/core/command_def.h:17 +msgid "" +"Convert DSLR RAW files into Siril's FITS images. The argument \"basename\" " +"is the basename of the new sequence. The option \"-debayer\" applies " +"demosaicing to images" +msgstr "" +"Konvertiert DSLR RAW-Dateien in das SIRIL-FITS-Format. Der Platzhalter " +"\"basename\" ist die Namens-Basis für die neue Sequenz. Die Option \"-debayer" +"\" entfernt das Bayer-Pattern des Bildes" + +#: ../src/core/command_def.h:18 +msgid "" +"Apply the local mean to a set of pixels on the in-memory image (cosmetic " +"correction). The coordinates of these pixels are in an ASCII file [.lst " +"file]. COSME is adapted to correct residual hot and cold pixels after " +"preprocessing" +msgstr "" +"Aktuellen Mittelwert auf eine Gruppe von Pixeln des Bildes im Speicher " +"anwenden (kosmetische Korrektur). Die Koordinaten jener Pixel werden in eine " +"ASCII-Datei geschrieben [*.lst Datei]. COSME wird auf die Korrektur der " +"verbleibenden heißen/lkalten Pixel aus der Vorverarbeitung, angepaßt" + +#: ../src/core/command_def.h:19 +msgid "Same function that COSME but applying to RAW CFA images" +msgstr "Gleiche Funktion wie COSME, aber für RAW-CFA-Bilder gedacht (Farbe)" + +#: ../src/core/command_def.h:20 +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Kann in der GUI benutzt werden: wenn ein Bereich mit der Maus selektiert " +"wurde und dann der CROP Befehl ohne Parameter angegeben wird, wird jener " +"Bereich ausgeschnitten. Ansonsten - oder auch in Scripten - müssen Werte " +"vorgegeben werden. X und Y für die obere linke Ecke, sowie Breite und Höhe" + +#: ../src/core/command_def.h:22 +msgid "" +"Performs a DDP (digital development processing) as described first by " +"Kunihiko Okano. This implementation is the one described in IRIS. It " +"combines a linear distribution on low levels (below \"level\") and a non-" +"linear on high levels. It uses a Gaussian filter of sigma \"sigma\" and " +"multiplies the resulting image by \"coef\". The typical values for \"sigma\" " +"are included between 0.7 and 2" +msgstr "" +"Führt ein DDP aus (Digitale Entwicklung des Bildes), wie erstmals von " +"Kunihiko Okano beschrieben. Diese Implementierung entspricht jener aus IRIS. " +"Diese Methode kombiniert eine lineare Verteilung bei niedrigem Pegel " +"(unterhalb von \"Level\") und eine nicht-lineare Verteilung bei höheren " +"Pegeln. Sie benutzt einen Gauss-Filter für Sigma \"sigma\" und multipliziert " +"das Bild mit \"coef\". Typische Werte für Sigma liegen zwischen 0,7 und 2" + +#: ../src/core/command_def.h:24 +msgid "" +"Computes the entropy of the opened image on the displayed layer, only in the " +"selected area if one has been selected or in the whole image. The entropy is " +"one way of measuring the noise or the details in an image" +msgstr "" +"Berechnet die Entropie des geladenen Bildes für den dargestellten Layer, " +"aber nur im Auswahlbereich - sofern einer vorhanden ist - ansonsten im " +"Gesamtbild. Entropie ist eine Möglichkeit, den Rauschpegel oder den Detail-" +"Grad eines Bildes zu bestimmen" + +#: ../src/core/command_def.h:25 +msgid "Quits the application" +msgstr "Verläßt die Anwendung" + +#: ../src/core/command_def.h:26 +msgid "Extracts \"NbPlans\" planes of wavelet domain" +msgstr "" +"Extrahiert \"NbPlans\" (Anzahl der Ebenen) aus dem Bereich der Wavelets" + +#: ../src/core/command_def.h:28 +msgid "" +"Divides the image in memory by the image given in argument. The resulting " +"image is multiplied by the value of the \"scalar\" argument. See also IDIV" +msgstr "" +"Dividiert das im Speicher befindliche Bild durch das hier angegebene. Das " +"Ergebnis daraus wird dann mit dem Wert \"scalar\" multipliziert. Siehe auch " +"IDIV" + +# encore le "module", même chose ici +#: ../src/core/command_def.h:29 +msgid "" +"Applies a Fast Fourier Transform to the image loaded in memory. \"Modulus\" " +"and \"phase\" given in argument are saved in FITS files" +msgstr "" +"Wendet eine FFT (Fast Fourier Transformation) auf das geladene Bild an. " +"\"Modul\" und \"Phase\" aus dem Argument werden in FITS-Dateien gespeichert" + +# gardons ce mot dans le colimateur... +#: ../src/core/command_def.h:30 +msgid "" +"Retrieves corrected image applying an inverse transformation. The \"modulus" +"\" and \"phase\" used are the files given in argument" +msgstr "" +"Wiederherstellung des korrigierten Bildes durch inverse Transformation. " +"\"Modul\" und \"Phase\" werden aus den Dateien im Argument gewonnen" + +#: ../src/core/command_def.h:31 +msgid "" +"Fills the whole current image (or selection) with pixels having the \"value" +"\" intensity" +msgstr "" +"Setzt alle Pixel im Bild (bzw. die Auswahl) auf den Helligkeits-Wert aus " +"\"Value\"" + +#: ../src/core/command_def.h:32 +msgid "" +"Same command than FILL but this is a symmetric fill of a region defined by " +"the mouse. Used to process an image in the Fourier (FFT) domain" +msgstr "" +"Gleicher Befehl wie \"FILL\", aber es wird symmetrisch in einem mit der Maus " +"definierten Bereich ausgeführt. Findet Verwendung im Bereich der FFT (Fast " +"Fourier Transformation)" + +#: ../src/core/command_def.h:33 +msgid "" +"Applies an automatic detection of cold and hot pixels following the " +"thresholds written in arguments" +msgstr "" +"Führt eine automatische Erkennung heißer/kalter Pixel anhand der angegebenen " +"Schwellwerte durch" + +#: ../src/core/command_def.h:34 +msgid "Same command than FIND_COSME but for monochromatic CFA images" +msgstr "Gleicher Befehl wie FIND_COSME, aber für monochrome CFA-Bilder" + +#: ../src/core/command_def.h:35 +msgid "" +"Provides a list file \"filename\" (format text) in the working directory " +"which contains the coordinates of the pixels which have an intensity " +"\"hot_sigma\" times higher and \"cold_sigma\" lower than standard deviation. " +"We generally use this command on a master-dark file" +msgstr "" +"Stellt eine Listen-Datei \"filename\" im Arbeitsverzeichnis bereit (txt " +"Format). Sie enthält die Koordinaten der Pixel, deren Helligkeit \"hot_sigma" +"\" mal höher und \"cold_sigma\" mal niedriger ist als die die Standard-" +"Abweichung. Der Befehl wird generell auf eine Master-Dark angewandt" + +#: ../src/core/command_def.h:36 +msgid "" +"Detects stars having a level greater than a threshold computed by Siril. The " +"algorithm is based on the publication of Mighell, K. J. 1999, in ASP Conf. " +"Ser., Vol. 172, Astronomical Data Analysis Software and Systems VIII, eds. " +"D. M. Mehringer, R. L. Plante, and D. A. Roberts (San Francisco: ASP), 317. " +"After that, a PSF is applied and Siril rejects all detected structures that " +"don't fulfill a set of prescribed detection criteria. Finally, a circle is " +"drawn around detected stars. See also the command CLEARSTAR" +msgstr "" +"Erkennt Sterne, deren Helligkeit größer ist als die von SIRIL berechnete " +"Schwelle. Der Algorithmus basiert auf der Veröffentlichung von Mighell, K. " +"J. 1999, in ASP Conf. Ser., Band 172, Astronomical Data Analysis Software " +"and Systems VIII, Hg. D. M. Mehringer, R. L. Plante, and D. A. Roberts (San " +"Francisco: ASP), 317. Danach wird ein PSF aufgetragen und SIRIL lehnt alle " +"erkannten Strukturen ab, die keine vorgeschriebenen Erkennungskriterien " +"erfüllen. Schließlich wird ein Kreis um erkundete Sterne gezogen. Siehe auch " +"den Befehl CLEARSTAR" + +#: ../src/core/command_def.h:37 +msgid "" +"Performs a median filter of size \"ksize\" x \"ksize\" (\"ksize\" MUST be " +"odd) to the original image with a modulation parameter \"modulation\". The " +"output pixel is computed as : out=mod x m + (1 − mod) x in, where m is the " +"median-filtered pixel value. A modulation's value of 1 will apply no " +"modulation" +msgstr "" +"Wendet einen Medianfilter der Größe \"ksize\" * \"ksize\" (\"ksize\" MUSS " +"ungerade sein) auf das Originalbild an, mit dem Modulations-Parameter " +"\"Modulation\". Das Ausgabe Pixel wird als OUT = mod * m + (1 − mod) * IN " +"berechnet, wobei m der Median-gefilterte Pixelwert ist. Ein Modulations-Wert " +"von 1 führt keine Modulation aus" + +#: ../src/core/command_def.h:38 +msgid "Multiplies the loaded image by the \"scalar\" given in argument" +msgstr "Multipliziert das geladene Bild mit dem \"Skalar\"-Wert im Argument" + +#: ../src/core/command_def.h:39 +msgid "" +"Tries to remove the canon banding. Argument \"amount\" define the amount of " +"correction. \"Sigma\" defines a protection level of the algorithm, higher " +"sigma gives higher protection" +msgstr "" +"Versucht eine Unterdrückung des \"Canon-Banding\". Das Argument \"Amount\" " +"bestimmt die Stärke der Korrektur. \"Sigma\" bestimmt den Schutz-Level des " +"Algorithmus, eine höherer Sigma-Wert bedeutet einen höheren Schutz" + +#: ../src/core/command_def.h:41 +msgid "Performs a Gaussian filter with the given \"sigma\"" +msgstr "Führt den Gauss-Filter mit gegebenem Sigma aus" + +#: ../src/core/command_def.h:42 +msgid "The function equalizes the mean intensity of RGB layers in a CFA images" +msgstr "" +"Diese Funktion gleicht die mittlere Helligkeit der RGB-Layer in CFA-Bildern " +"aus" + +#: ../src/core/command_def.h:44 +msgid "Gives the available commands" +msgstr "Zeigt die verfügbaren Befehle" + +#: ../src/core/command_def.h:45 +msgid "" +"Calculates the histogram of the image channel in memory and produces file " +"histo_[channel name].dat in the working directory" +msgstr "" +"Berechnet das Histogramm des Bildkanals im Speicher und erzeugt die Datei " +"histo _ [Kanalname] .dat im Arbeitsverzeichnis" + +#: ../src/core/command_def.h:47 +msgid "Adds the image in memory to the image given in argument" +msgstr "Addiert das Bild im Speicher zu dem Bild im Argument" + +#: ../src/core/command_def.h:48 +msgid "" +"Divides the image in memory by the image given in argument. See also FDIV" +msgstr "" +"Dividiert das Bild im Speicher durch das Bild im Argument. Siehe auch FDIV" + +#: ../src/core/command_def.h:49 +msgid "Multiplies the image in memory by the image given in argument" +msgstr "Multipliziert das Bild im Speicher mit dem Bild im Argument" + +#: ../src/core/command_def.h:50 +msgid "Subtracts the image in memory by the image given in argument" +msgstr "Subtrahiert das Bild im Argument vom Bild im Speicher" + +#: ../src/core/command_def.h:52 +msgid "" +"Loads the image \"filename\"; it first attempts to load \"filename\", then " +"\"filename\".fit and finally \"filename\".fits and after, all supported " +"format, aborting if none of these are found. These scheme is applicable to " +"every Siril command implying reading files. Fits headers MIPS-HI and MIPS-LO " +"are read and their values given to the current viewing levels. Writing a " +"known extension at the end of \"filename\" will load the image \"filename\"." +"ext: this is used when numerous files have the same name but not the same " +"extension" +msgstr "" +"Lädt die Datei \"filename\"; versucht zunächst \"filename\", danach " +"\"filename\".fit und zuletzt \"filename\".FITS. Bleiben alle Versuche " +"erfolglos, bricht der Ladevorgang ab. Dieses Schema gilt für jeden SIRIL-" +"Befehl, der das Einlesen von Dateien impliziert. Die FITS-Header MIPS-HI und " +"MIPS-LO werden gelesen und deren Werte den aktuellen Betrachtungs-Ebenen " +"zugewiesen. Das Schreiben einer bekannten Extension am Ende eines " +"Dateinamens lädt das Bild \"filename\".ext. Dies wird verwendet, wenn " +"mehrere Dateien denselben Namen haben, aber nicht dieselbe Extension" + +#: ../src/core/command_def.h:53 +msgid "Computes and applies a logarithmic scale to the current image" +msgstr "" +"Berechnet und verwendet eine logarithmische Skala für das aktuelle Bild" + +#: ../src/core/command_def.h:54 +msgid "Lists files and directories in the working directory" +msgstr "Listet Dateien und Verzeichnisse im Arbeitsverzeichnis auf" + +#: ../src/core/command_def.h:56 +msgid "Rotates the image around a vertical axis" +msgstr "Um vertikale Achse spiegeln" + +#: ../src/core/command_def.h:57 +msgid "Rotates the image around an horizontal axis" +msgstr "Um horizontale Achse spiegeln" + +#: ../src/core/command_def.h:59 +msgid "" +"Creates a new image filled with zeros with a size of \"width\" x \"height\". " +"The image is in 16-bit format, and it contains \"nb_channel\" channels, " +"\"nb_channel\" being 1 or 3. It is not saved, but displayed and can be saved " +"afterwards" +msgstr "" +"Erstellt eine neue, schwarze Bilddatei der Größe \"Breite\" mal \"Höhe\" im " +"16-bit-Format. Es enthält \"nb_channel\" Kanäle mit \"nb_channel\" = 1 oder " +"3. Es wird nicht gespeichert, kann aber anschließend abgespeichert werden" + +#: ../src/core/command_def.h:60 +msgid "" +"Replaces null values by \"level\" values. Useful before an idiv or fdiv " +"operation" +msgstr "" +"Ersetzt Null-Werte durch \"level\"-Werte. Das sit sinnvoll vor einer idiv- " +"oder fdiv-Operation" + +#: ../src/core/command_def.h:62 +msgid "" +"Adds the constant \"value\" to the current image. This constant can take a " +"negative value. As Siril uses unsigned FITS files, if the intensity of the " +"pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit " +"file) if the pixel intensity overflows" +msgstr "" +"Addiert einen konstanten \"Wert\" zum aktuellen Bild. Diese Konstante kann " +"auch negative Werte annehmen. Da SIRIL unsignierte FITS-Dateien verwendet, " +"wenn die Pixel-Helligkeit negativ werden sollte, wird dessen Wert auf 0 " +"gesetzt bzw. auf 65535 (bei 16-bit) gesetzt, wenn die Pixel-Helligkeit " +"übersteuert" + +#: ../src/core/command_def.h:64 +msgid "" +"Preprocesses the sequence \"sequencename\" using bias, dark and flat given " +"in argument. It is possible to specify if images are CFA for cosmetic " +"correction purposes with the option \"-cfa\" and also to demosaic images at " +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" +"equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " +"flat master. It is also possible to optimize the dark subtraction with \"-opt" +"\".\n" +"\n" +"Note that only hot pixels are corrected in cosmetic correction process" +msgstr "" +"Führt die Vorverarbeitung der Sequenz \"Sequenzname\" unter Verwendung der " +"angegebenen Bias, Darks und Flats durch. Es ist möglich, anzugeben, ob es " +"sich um CFA-Bilder zum Zweck der kosmetischen Korrektur handelt, und ob sie " +"am Ende des Prozesses debayert werden sollen mit \"-debayer\" (nur für DSLR-" +"Aufnahmen). Die Option \"-flip\" weist SIRIL an, beim debayern das Bild in " +"umgekehrter Reihenfolge einzulesen. Die Option \"-equalize_cfa\" gleicht die " +"durchschnittliche Helligkeit der RGB-Layer im Master-Flat an. Weiters kann " +"die Dark-Subtraktion mit \"-opt\" optimiert werden.\n" +"\n" +"Man beachte, daß die kosmetische Korrektur nur Hot-Pixel korrigiert" + +#: ../src/core/command_def.h:65 +msgid "Performs a PSF (Point Spread Function) on the selected star" +msgstr "Führt eine PSF (Point Spread Function) am ausgewählten Stern aus" + +#: ../src/core/command_def.h:67 +msgid "" +"Performs geometric transforms on images of the sequence given in argument so " +"that they may be superimposed on the reference image. The output sequence " +"name starts with the prefix \"r_\". Using stars for registration, this " +"algorithm only works with deepsky images. The option \"-norot\" performs a " +"translation only with no new sequence built while the option \"-drizzle\" " +"applies a x2 drizzle on the images" +msgstr "" +"Führt eine geometrische Transformation der Bilder einer Sequenz durch, um " +"diese anschließend deckungsgleich zum Referenzbild stacken zu können. Der " +"Name der Ausgabe-Sequenz bekommt das Präfix \"r_\". Da hier Sterne für die " +"Ausrichtung benutzt werden, funktioniert das nur bei Deep-Sky-Bildern. Die " +"Option \"-norot\" wird ausschließlich translatorische Ausgleiche vornehmen " +"ohne Drehlagenausgleich. Die Option \"-drizzle\" wendet ein 2fach-Drizzle " +"auf die Bilder an" + +#: ../src/core/command_def.h:68 +msgid "Resamples image with a factor \"factor\"" +msgstr "Berechnet das Bild neu mit dem Faktor \"factor\"" + +#: ../src/core/command_def.h:69 +msgid "" +"Creates two images, with a radial shift (\"dR\" in pixels) and a rotational " +"shift (\"dalpha\" in degrees) with respect to the point (\"xc\", \"yc\"). " +"Between these two images, the shifts have the same amplitude, but an " +"opposite sign. The two images are then added to create the final image. This " +"process is also called Larson Sekanina filter" +msgstr "" +"Erstellt 2 Bilder, einmal mit radialer Verschiebung (\"dR\" in Pixeln) und " +"einmal mit Drehlagenausgleich (\"dalpha\" in Grad), bezogen auf den Punkt " +"(\"xc\", \"yc\"). In den beiden Bildern haben die Abweichungen jeweils " +"denselben Betrag, aber unterschiedliche Vorzeichen. Aus diesen beiden " +"Bildern wird finale Bild generiert. Dieser Prozeß ist auch unter der " +"Bezeichnung \"Larson-Sekanina-Filter\" bekannt" + +#: ../src/core/command_def.h:70 +msgid "" +"Restores an image using the Richardson-Lucy method. \"Iterations\" is the " +"number of iterations to be performed (typically between 10 and 50). \"Sigma" +"\" is the size of the kernel to be applied" +msgstr "" +"Stellt ein Bild wieder her anhand der Richardson-Lucy-Methode. \"Iterationen" +"\" ist dabei die Anzahl der durchzuführenden Iterationensschritte (typisch " +"Werte von 10..50). \"Sigma\" ist dabei die Größe des Kernels" + +#: ../src/core/command_def.h:71 +msgid "" +"Chromatic noise reduction filter. It removes green noise in the current " +"image. This filter is based on PixInsight's SCNR Average Neutral algorithm " +"and it is the same filter used by HLVG plugin in Photoshop. \"Type\"=1 " +"stands for Average Neutral Protection, while \"type\"=2 stands for Maximum " +"Neutral Protection" +msgstr "" +"Chromatischer Rauschminderungs-Filter. Entfernt grünes Farbrauschen im " +"aktuellen Bild. Dieser Filter basiert auf dem SCNR-Average-Neutral-Filter " +"aus PixInsight und ist identisch mit dem bekannte HVLG (Hasta La Vista " +"Green) Plugin für Phototshop. \"Typ\"=1 steht für Average Neutral " +"Protection, \"Typ\"=2 steht für Maximum Neutral Protection" + +#: ../src/core/command_def.h:72 +msgid "Rotates the image of an angle of \"degree\" value" +msgstr "Dreht das Bild um den Winkel \"degree\"" + +#: ../src/core/command_def.h:73 +msgid "" +"Rotates the image of an angle of 180° around its center. This is equivalent " +"to the command \"ROTATE 180\" or \"ROTATE -180\"" +msgstr "" +"Dreht das Bild um 180° um dessen Mitte. Dies ist gleichwertig mit dem Befehl " +"\"ROTATE 180\" oder \"ROTATE -180\"" + +#: ../src/core/command_def.h:75 +msgid "" +"Enhances the global saturation of the image. Try iteratively to obtain best " +"results" +msgstr "" +"Verbessert die Gesamt-Sättigung des Bildes. Gehen Sie schrittweise vor, um " +"sich dem besten Ergebnis anzunähern" + +#: ../src/core/command_def.h:76 +msgid "" +"Saves current image to \"filename\".fit. Fits headers MIPS-HI and MIPS-LO " +"are added with values corresponding to the current viewing levels" +msgstr "" +"Speichert das aktuellel Bild unter \"filename\".fit. Die FITS-Header MIPS-HI " +"und MIPS-LO werden den Werten der Schieberegler hinzugefügt" + +#: ../src/core/command_def.h:77 +msgid "" +"Saves current image under the form of a bitmap file with 8-bit per channel: " +"\"filename\".bmp (BMP 24-bit)." +msgstr "" +"Speichert das aktuelle Bild als Bitmap mit 8-bit je Kanal ab: \"filename\"." +"bmp (BMP 24--bit)." + +#: ../src/core/command_def.h:78 +msgid "" +"Saves current image into a JPG file: \"filename\".jpg. You have the " +"possibility to adjust the quality of the compression. A value 100 for " +"\"quality\" parameter offers best fidelity while a low value increases the " +"compression ratio. If no value is specified, it holds a value of 100" +msgstr "" +"Speichert das aktuelle Bild als JPG im gewünschte Qualitäts-Level ab. 100 " +"erzeugt maximale Qualität, niedrigere Werte erhöhen entsprechend die " +"Kompressionsrate. Ohne Wertangabe wird ein Wert von 100 gesetzt" + +#: ../src/core/command_def.h:79 +msgid "Saves current image into a PNG file: \"filename\".png" +msgstr "Speichert das aktuelle Bild als PNG: \"filename\".png" + +#: ../src/core/command_def.h:80 +msgid "" +"Saves current image under the form of a Netpbm file format with 16-bit per " +"channel. The extension of the output will be \"filename\".ppm for RGB image " +"and \"filename\".pgm for gray-level image" +msgstr "" +"Speichert das aktuelle Bild als NetPBM mit einer Tiefe von 16-bit je Kanal " +"ab. Die Extension der Ausgabedatei wird zu \"filename\".ppm für RGB-Bilder " +"und \"filename\".pgm für monochrome Bilder" + +#: ../src/core/command_def.h:81 +msgid "" +"Saves current image under the form of a uncompressed TIFF file with 16-bit " +"per channel: \"filename\".tif" +msgstr "" +"Speichert das aktuelle Bild als unkomprimierte TIFF-Datei mit 16-bit je " +"Kanal ab: \"filename\".tif" + +#: ../src/core/command_def.h:82 +msgid "" +"Same command than SAVE_TIF but the output file is saved in 8-bit per " +"channel: \"filename\".tif" +msgstr "" +"Gleicher Befehl wie SAVE_TIF,aber mit einer Tiefe von 8-bit je Kanal: " +"\"filename\".tif" + +#: ../src/core/command_def.h:83 +msgid "" +"This command allows easy mass selection of images in the loaded sequence " +"(from \"from\" to \"to\" included)" +msgstr "" +"Dieser Befehl ermöglicht eine einfache Massenauswahl von Bildern in der " +"Sequenz von \"from\" bis \"to\"" + +#: ../src/core/command_def.h:84 +msgid "Crops the loaded sequence" +msgstr "Führt einen Zuschnitt der geladenen Sequenz durch (crop)" + +#: ../src/core/command_def.h:85 +msgid "Same command than FIND_COSME but for the sequence \"sequencename\"" +msgstr "Gleicher Befehl wie FIND_COSME, aber für die Sequenz \"sequencename\"" + +#: ../src/core/command_def.h:86 +msgid "Same command than FIND_COSME_CFA but for the sequence \"sequencename\"" +msgstr "" +"Gleicher Befehl wie FIND_COSME_CFA, aber für die Sequenz \"sequencename\"" + +#: ../src/core/command_def.h:87 +msgid "" +"Same command than PSF but works for sequences. Results are dumped in the " +"console in a form that can be used to produce brightness variation curves" +msgstr "" +"Gleicher Befehl wie PSF, aber für die Sequenzen. Die Ergebnisse werden an " +"die Console übergeben, sodaß mit diesen Helligkeits-Variations-Kurven " +"erstellt werden können" + +#: ../src/core/command_def.h:88 +msgid "" +"Defines the number of processing threads used for calculation. Can be as " +"high as the number of virtual threads existing on the system, which is the " +"number of CPU cores or twice this number if hyperthreading (Intel HT) is " +"available" +msgstr "" +"Definiert die Anzahl von Bearbeitungs-Threads für die Berechnung. Dies kann " +"die Gesamtanzahl der verfügbaren Prozessorkerne umfassen, oder die doppelte " +"Anzahl, sofern Hyper-Threading (Intel HT) verfügbar ist" + +#: ../src/core/command_def.h:89 +msgid "" +"Sets the extension used and recognized by sequences. The argument \"extension" +"\" can be \"fit\", \"fts\" or \"fits\"" +msgstr "" +"Legt die verwendetete und von Sequenzen erkannte Datei-Erweiterung fest. Das " +"Argument \"Erweiterung\" kann eines der folgenden sein: \"fit\", \"fts\" or " +"\"fits\"" + +#: ../src/core/command_def.h:90 +msgid "" +"Defines thresholds above the noise and star roundness for stars detection " +"with FINDSTAR and REGISTER commands. \"Sigma\" must be greater or equal to " +"0.05 and \"roundness\" between 0 and 0.9" +msgstr "" +"Definiert einen Schwellwert oberhalb des Rauschens und der Stern-Rundheit " +"zur Stern-Erkennung mittels FINDSTAR und REGISTER Befehlen. \"Sigma\" muß " +"dabei größer/gleich 0,05 und \"Rundheit\" zwischen 0 und 0,9 liegen" + +#: ../src/core/command_def.h:91 +msgid "" +"Calibrates the magnitude by selecting a star and giving the known apparent " +"magnitude. All PSF computations will return the calibrated apparent " +"magnitude afterwards, instead of an apparent magnitude relative to ADU " +"values. To reset the magnitude constant see UNSETMAG" +msgstr "" +"Kalibriert die Magnitude durch Auswahl eines Sterns und teilt diesem den " +"anerkannten Wert zu. Alle PSF-Berechnungen geben anschließend die " +"kalibrierte scheinbare Magnitude an, anstelle einer scheinbaren Magnitude " +"relativ zur ADU. Um die Magnituden-Konstante zurückzusetzen, siehe UNSETMAG" + +#: ../src/core/command_def.h:92 +msgid "" +"This command is only valid after having run SEQPSF or its graphical " +"counterpart (select the area around a star and launch the PSF analysis for " +"the sequence, it will appear in the graphs). This command has the same goal " +"as SETMAG but recomputes the reference magnitude for each image of the " +"sequence where the reference star has been found. When running the command, " +"the last star that has been analysed will be considered as the reference " +"star. Displaying the magnitude plot before typing the command makes it easy " +"to understand. To reset the reference star and magnitude offset, see " +"UNSETMAGSEQ" +msgstr "" +"Dieser Befehl kann erst angewandt werden, nachdem ein SEQPSF ausgeführt " +"wurde bzw. dessen graphisches Äquivalent (wählen Sie einen Bereich um einen " +"Stern aus und starten Sie die PSF-Analyse für die Sequenz. Diese taucht dann " +"in der Grafik auf). Dieser Befehl hat dieselbe Zielsetzung wie SETMAG, aber " +"berechnet die Referenz-Magnitude für jedes Bild der Sequenz neu, in dem der " +"Referenz-Stern gefunden wurde. Dabei wird der jeweils vorige Stern zur neuen " +"Referenz. Zum leichteren Verständnis lassen sie sich die Magnituden-" +"Darstellung graphisch anzeigen. Um die Referenz-Stern und die Magnituden-" +"Offstes zurückzusetzen, siehe UNSETMAGSEQ" + +#: ../src/core/command_def.h:93 +msgid "" +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0 and 1, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster" +msgstr "" +"Legt ein neues Verhältnis von verfügbarem zu genutztem Speicher fest. Der " +"Wert sollte zwischen 0 und 1 liegen, abhängig von anderen Aktivitäten des " +"Rechners. Ein höherer Wert erlaubt Siril schneller zu stacken" + +#: ../src/core/command_def.h:94 +msgid "" +"Splits the color image into three distincts files (one for each color) and " +"save them in \"r\" \"g\" and \"b\" file" +msgstr "" +"Teilt ein Farbbild in 3 einzelne Dateien auf (eine für jede Farbe) und " +"speichert diese eine \"r-\", \"g-\" und \"b-\" Datei ab" + +#: ../src/core/command_def.h:95 +msgid "" +"Stacks the \"sequencename\" sequence, using options. The allowed types are: " +"sum, max, min, med or median, and rej or mean that requires the use of " +"additional arguments \"sigma low\" and \"high\" used for the Winsorized " +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" +msgstr "" +"Stackt die Sequenz \"Sequenzname\" unter Verwendung der angegebenen " +"Optionen. Erlaubte Typen sind: sum, max, min, med oder median. Oder rej und " +"mean, die zusätzlich der Angaben von \"sigma low\" und \"high\" aus der " +"\"Winsorized Sigma Clipping Ausschleusung\" bedürfen (kann danach nicht mehr " +"verändert werden).\n" +"Erlaubt sind verschiedene Typen der Normalisierung: \"-norm=add\" für die " +"additive, \"-norm=mul\" für die multiplikative Normalisierung. Die Optionen " +"\"-norm=addscale\" und \"-norm=mulscale\" verwenden die gleiche " +"Normalisierung, aber mit Skalierung. Ist über den Sequenznamen hinaus kein " +"weiteres Argument angegeben, wird Summen-Stacking vorausgesetzt.\n" +"Der Name der Ergebnisbild-Datei kann über die \"-out=\" gesetzt werden.\n" +"Gestackte Bilder können bei einigen \"-filter-*\"auch über Filter ausgewählt " +"werden, z.B. manuelle Auswahl oder beste FWHM.\n" +"Siehe auch vollständige Dokumentation dieses Befehls" + +#: ../src/core/command_def.h:96 +msgid "" +"Opens all sequences in the CWD and stacks them with the optionally specified " +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" +msgstr "" +"Öffnet alle Sequenzen im Arbeitsverzeichnis und stackt diese mittels der " +"optionell angegebenen Stacking-Methode oder mittels Summen-Stacking. Für " +"eine Beschreibung der Optionen, siehe STACK-Befehl" + +#: ../src/core/command_def.h:97 +msgid "" +"Returns global statistics of the current image. If a selection is made, the " +"command returns statistics within the selection" +msgstr "" +"Gibt eine allgemeine Statistik des aktuellen Bildes aus. Sofern eine Auswahl " +"getroffen wurde, erfolgt die Ausgabe bezogen auf diese Auswahl" + +#: ../src/core/command_def.h:99 +msgid "Replaces values below \"level\" with \"level\"" +msgstr "Ersetzt Werte unterhalb von \"level\" durch den Wert \"level\"" + +#: ../src/core/command_def.h:100 +msgid "Replaces values above \"level\" with \"level\"" +msgstr "Ersetzt Werte oberhalb von \"level\" durch den Wert \"level\"" + +#: ../src/core/command_def.h:101 +msgid "" +"Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" +msgstr "" +"Ersetzt Werte unterhalb von \"lo\" durch den Wert \"lo\" und Werte oberhalb " +"von \"hi\" durch den Wert \"hi\"" + +#: ../src/core/command_def.h:103 +msgid "" +"Allows easy mass unselection of images in the loaded sequence (from \"from\" " +"to \"to\" included). See SELECT" +msgstr "" +"Ermöglicht die einfache Massenabwahl von Bildern in der Sequenz von \"from\" " +"bis \"to\". Vgl. SELECT" + +#: ../src/core/command_def.h:104 +msgid "Reset the magnitude calibration to 0. See SETMAG" +msgstr "Setze die Magnituden-Kalibrierung auf 0 zurück. Vgl. SETMAG" + +#: ../src/core/command_def.h:105 +msgid "" +"Resets the magnitude calibration and reference star for the sequence. See " +"SETMAGSEQ" +msgstr "" +"Setze die Magnituden-Kalibrierung und den Referenz-Stern zurück. Vgl. " +"SETMAGSEQ" + +#: ../src/core/command_def.h:106 +msgid "" +"Applies to the working image an unsharp mask with sigma \"sigma\" and " +"coefficient \"multi\"" +msgstr "" +"Wendet eine Unscharf-Maskierung auf das aktuelle Bild an mit einem Sigma von " +"\"sigma\" und einem Koeffizient von \"multi\"" + +#: ../src/core/command_def.h:108 +msgid "" +"Displays an image with \"low\" and \"high\" as the low and high threshold" +msgstr "Zeigt ein Bild an mit \"hi\" bzw. \"lo\" als Schwellwerte" + +# "a trous" alors la, j'ai besoin encore d'une explication +#: ../src/core/command_def.h:110 +msgid "" +"Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " +"or bspline (type=2) version of the 'a trous' algorithm. The result is stored " +"in a file as a structure containing the planes, ready for weighted " +"reconstruction with WRECONS" +msgstr "" +"Berechnet die Wavelet Transformation von \"nbr_plan\" Ebenen unter " +"Verwendung der linearen- (Typ=1) oder bspline- (Typ=2) Version des \"Auf-Loch" +"\" Algorithmus. Das Ergebnis wird als Struktur in einer Datei abgespeichert, " +"die die Ebenen gebrauchsfertig für eine gewichtete Rekonstruktion mit " +"WRECONS enthält" + +#: ../src/core/command_def.h:111 +msgid "" +"Reconstructs to current image from the planes previously computed with " +"wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " +"according to the number of planes used for wavelet transform" +msgstr "" +"Rekonstruiert das Bild anhand der zuvor berechneten Wavelets und mit den " +"Koeffizienten \"c1\", \"c2\", ... , \"cn\" gewichteten Ebenen entsprechend " +"der Anzahl von Ebenen, die bei der Wavelet-Transformation verwendet wurden" + +#: ../src/core/initfile.c:60 +#, c-format +msgid "Loading init file: '%s'\n" +msgstr "Lade init file: '%s'\n" + +#: ../src/core/OS_utils.c:208 +#, c-format +msgid "" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" +msgstr "" +"Nicht genug HDD-Speicher verfügbar: %sB verfügbar, aber %sB benötigt (es " +"fehlen %sB)\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "Nicht genügend Festplattenspeicher verfügbar" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "Open File" +msgstr "Öffne Datei" + +#: ../src/core/OS_utils.c:396 ../src/core/OS_utils.c:399 +msgid "_Open" +msgstr "_Open" + +#: ../src/core/OS_utils.c:396 ../src/core/OS_utils.c:399 +#: ../src/core/OS_utils.c:407 ../src/core/OS_utils.c:410 +msgid "_Cancel" +msgstr "_Cancel" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "Save File" +msgstr "Speichere Datei" + +#: ../src/core/OS_utils.c:407 ../src/core/OS_utils.c:410 +msgid "_Save" +msgstr "_Speichern" + +#: ../src/core/pipe.c:133 ../src/core/pipe.c:145 +msgid "Could not create the named pipe " +msgstr "Konnte die benannte Pipeline nicht erstellen " + +#: ../src/core/pipe.c:139 ../src/core/pipe.c:151 +msgid "The named pipe file " +msgstr "Datei der benannten Pipeline " + +# pipe-tube-Rohr... wäre Pfad adäquat? +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 +msgid "Could not open the named pipe\n" +msgstr "Konnte den genannten Pipeline nicht öffnen\n" + +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 +msgid "command too long or malformed\n" +msgstr "Befehl zu lang oder falsch geschrieben\n" + +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 +msgid "command interrupted\n" +msgstr "Befehlsausführung unterbrochen\n" + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "Kein Frame zur Bearbeitung ausgewählt. Abbruch.\n" + +#: ../src/core/processing.c:70 +msgid "Preparing sequence processing failed.\n" +msgstr "Vorbereitende Verarbeitungder Sequenz fehlgeschlagen.\n" + +#: ../src/core/processing.c:92 +#, c-format +msgid "Output index mapping failed (%d/%d).\n" +msgstr "Ausgabe Index-Mapping fehlgeschlagen (%d/%d).\n" + +#: ../src/core/processing.c:109 +msgid ": processing...\n" +msgstr ": in Bearbeitung...\n" + +#: ../src/core/processing.c:213 +#, c-format +msgid "%s. Processing image %d (%s)" +msgstr "%s. Bearbeite Bild %d (%s)" + +#: ../src/core/processing.c:219 +msgid "Sequence processing failed. Check the log." +msgstr "" +"Bearbeitung der Sequenz fehlgeschlagen. Überprüfen sie das Log-Protokoll." + +#: ../src/core/processing.c:220 +msgid "Sequence processing failed.\n" +msgstr "Bearbeitung der Sequenz fehlgeschlagen.\n" + +#: ../src/core/processing.c:225 +msgid "Sequence processing partially succeeded. Check the log." +msgstr "" +"Bearbeitung der Sequenz teilweise erfolgreich. Überprüfen Sie die Logdatei." + +#: ../src/core/processing.c:226 +#, c-format +msgid "" +"Sequence processing partially succeeded, with %d images that failed and that " +"were temporarily excluded from the sequence.\n" +msgstr "" +"Bearbeitung der Sequenz teilweise erfolgreich. Für %d Bilder leider " +"fehlgeschlagen. Diese werden vorübergehend aus der Sequenz ausgeschlossen.\n" + +#: ../src/core/processing.c:228 +msgid "Sequence processing succeeded." +msgstr "Bearbeitung der Sequenz erfolgreich." + +#: ../src/core/processing.c:229 +msgid "Sequence processing succeeded.\n" +msgstr "Bearbeitung der Sequenz erfolgreich.\n" + +#: ../src/core/processing.c:241 +msgid "Finalizing sequence processing failed.\n" +msgstr "Finale Bearbeitung der Sequenz fehlgeschlagen.\n" + +#: ../src/core/processing.c:434 +msgid "Process aborted by user\n" +msgstr "Bearbeitung durch Benutzer abgebrochen\n" + +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" +msgstr "Sequenz-Filter: Werte nur absolut oder in Prozent angeben\n" + +#: ../src/core/sequence_filtering.c:200 +#, c-format +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "" +"Verwende Filter ausgewählter Bilder: (%d/%d der Sequenz)\n" +"\n" + +#: ../src/core/sequence_filtering.c:208 +#, c-format +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Verwendung aller Bilder mit Stern-FWHM < %f\n" + +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Verwendung aller Bilder mit Stern-Rundheit > %f\n" + +#: ../src/core/sequence_filtering.c:224 +#, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Verwendung aller Bilder mit Qualitätswert < %f\n" + +#: ../src/core/sequence_filtering.c:251 +msgid "" +"Provided filtering options do not allow at least two images to be " +"processed.\n" +msgstr "" +"Die gegebenen Filter-Einstellungen erlauben nicht, mindestens 2 Bilder zu " +"bearbeiten.\n" + +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"Das Referenz-Bild ist nicht Bestandteil das ausgewählten Bildersatzes. Bitte " +"wählen Sie eines aus oder ändern Sie die Filterparameter.\n" + +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "Benutze %d als vorläufiges Referenzbild\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" +msgstr "" +"Achtung: einige der Bilder haben keine FWHM-Info für die Besten-Auswahl. " +"Verwende also nur vorhandene Daten (%d images on %d).\n" + +#: ../src/core/sequence_filtering.c:367 +#, c-format +msgid "Processing all images in the sequence (%d)\n" +msgstr "Verarbeite alle Bilder in der Sequenz (%d)\n" + +#: ../src/core/sequence_filtering.c:370 +#, c-format +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "Verarbeiten der ausgewählten Bilder in der Sequenz (%d)\n" + +#: ../src/core/sequence_filtering.c:373 +#, c-format +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "" +"Verarbeiten von Bildern in der Sequenz mit einer FWHM kleiner/gleich %g " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:378 +#, c-format +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "" +"Verarbeiten von Bildern in der Sequenz mit einer Rundheit größer/gleich %g " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:383 +#, c-format +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "" +"Verarbeiten von Bildern in der Sequenz mit einer Qualität größer/gleich %g " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:388 +#, c-format +msgid "Processing images whose output don't already exist (%d)" +msgstr "Bearbeite Bilder, für die noch kein Ergebnis vorliegt (%d)" + +#: ../src/core/sequence_filtering.c:405 +#, c-format +msgid "for a total of images processed of %d)\n" +msgstr "" +"für eine Gesamtzahl verarbeiteter Bildern von %d)\n" +"\n" + +#: ../src/core/siril.c:164 +#, c-format +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "imoper: Bilder haben nicht dieselbe Größe (w = %u|%u, h = %u|%u)\n" + +#: ../src/core/siril.c:206 +#, c-format +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" +msgstr "" +"addmax: Bilder haben nicht dieselbe Größe (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" + +#: ../src/core/siril.c:294 +msgid "Unsharp: processing...\n" +msgstr "Unscharf maskieren: in Bearbeitung...\n" + +#: ../src/core/siril.c:544 +msgid "Could not compute normalization values for the images, aborting.\n" +msgstr "Konnte Normalisierungwerte für die Bilder nicht berechnen. Abbruch.\n" + +#: ../src/core/siril.c:714 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Dark Optimierung: k0=%.3lf\n" + +#: ../src/core/siril.c:792 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Automatisch ermittelter Normalisierungswert: %.2lf\n" + +#: ../src/core/siril.c:799 +#, c-format +msgid "Pre-processing image %s" +msgstr "Vorverarbeitung von Bild %s" + +#: ../src/core/siril.c:839 ../src/core/siril.c:889 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"Die kosmetische Korrektur mittels Master-Dark wird nur für Einzel-Kanal-" +"Bilder unterstützt\n" + +#: ../src/core/siril.c:851 +#, c-format +msgid "Saving image %s" +msgstr "Speichere Bild %s" + +#: ../src/core/siril.c:905 +#, c-format +msgid "Loading and pre-processing image %d/%d (%s)" +msgstr "Laden und Vorverarbeitung von Bild %d/%d (%s)" + +#: ../src/core/siril.c:911 +#, c-format +msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgstr "" +"Konnte folgende RAW-Dateien nicht lesen: %s. Vorverarbeitung abgebrochen." + +#: ../src/core/siril.c:1052 +#, c-format +msgid "Extracting %s..." +msgstr "Extrahiere %s..." + +#: ../src/core/siril.c:1095 +msgid "Median Filter: processing...\n" +msgstr "Median Filter: in Bearbeitung...\n" + +#: ../src/core/siril.c:1104 +msgid "Median filter failed" +msgstr "Median filter fehlgeschlagen" + +#: ../src/core/siril.c:1172 +msgid "Median filter applied" +msgstr "Median filter angewandt" + +#: ../src/core/siril.c:1249 +msgid "Banding Reducing: processing...\n" +msgstr "Banding Reduzierung: in Bearbeitung...\n" + +#: ../src/core/siril.c:1418 +msgid "backgroundnoise: Error, no data computed\n" +msgstr "Hintergrund-Rauschen: Fehler, keine Daten berechnet\n" + +#: ../src/core/siril.c:1428 +msgid "backgroundnoise: does not converge\n" +msgstr "Hintergrund-Rauschen: nicht konvergent\n" + +#: ../src/core/siril.c:1458 +msgid "Noise standard deviation: calculating...\n" +msgstr "Rauschen Standard-Abweichung: berechne...\n" + +#: ../src/core/siril.c:1478 +#, c-format +msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" +msgstr "Wert Hintergrund-Rauschen (Kanal: #%d): %0.3lf(%.3e)\n" + +#: ../src/core/siril.c:1493 +msgid "Lucy-Richardson deconvolution: processing...\n" +msgstr "Lucy-Richardson Dekonvolutierung: in Bearbeitung...\n" + +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "Log files (*.log)" + +#: ../src/core/siril_update.c:259 +msgid "Unable to check updates! Please Check your network connection\n" +msgstr "" +"Suche nach Updates nicht möglich! Bitte überprüfen Sie Ihre " +"Netzwerkverbindungen\n" + +#: ../src/core/siril_update.c:263 +#, c-format +msgid "Unable to check updates! Error: %ld\n" +msgstr "Suche nach Updates nicht möglich! Fehler: %ld\n" + +#: ../src/core/siril_update.c:276 +#, c-format +msgid "" +"New version is available. You can download it at %s%d." +"%d.%d\n" +msgstr "" +"Eine neue Version ist verfügbar. Sie können sie herunterladen unter %s%d.%d.%d\n" + +#: ../src/core/siril_update.c:282 +msgid "No update check: this is a development version\n" +msgstr "Keine Suche nach Updates: dies ist eine Entwickler-Version\n" + +#: ../src/core/siril_update.c:284 +msgid "Siril is up to date\n" +msgstr "SIRIL ist up-to-date\n" + +#: ../src/core/siril_update.c:289 +msgid "Software Update" +msgstr "Software Update" + +#: ../src/core/siril_update.c:355 +#, c-format +msgid "Error: %ld. Wait %us before retry\n" +msgstr "Fehler: %ld. Warten Sie %us vor einem erneuten Versuch\n" + +#: ../src/core/siril_update.c:392 +msgid "Looking for updates..." +msgstr "Suche Updates..." + +#: ../src/core/undo.c:52 +#, c-format +msgid "File I/O Error: Unable to create swap file in %s: [%s]\n" +msgstr "Datei I/O-Fehler: Kann Swap-Datei nicht erstellen in %s: [%s]\n" + +#: ../src/core/undo.c:63 +#, c-format +msgid "File I/O Error: Unable to write swap file in %s: [%s]\n" +msgstr "Datei I/O-Fehler: schreiben in Swap-Datei nicht möglich in %s: [%s]\n" + +#: ../src/core/utils.c:296 +msgid "Unknown error\n" +msgstr "Unbekannter Fehler\n" + +#: ../src/core/utils.c:299 +msgid "No such file or directory\n" +msgstr "Unbekannter Datei- oder Verzeichnis-Name\n" + +#: ../src/core/utils.c:302 +#, c-format +msgid "\"%s\" is not a directory\n" +msgstr "\"%s\" ist kein Verzeichnis\n" + +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2890 +#, c-format +msgid "You don't have permission to write in this directory: %s\n" +msgstr "Sie haben keine Schreib-Berechtigung im Verzeichnis: %s\n" + +#: ../src/core/utils.c:318 +#, c-format +msgid "Setting CWD (Current Working Directory) to '%s'\n" +msgstr "Legen Sie das aktuelle Arbeitsverzeichnis fest '%s'\n" + +#: ../src/core/utils.c:321 +#, c-format +msgid "Could not change directory to '%s'.\n" +msgstr "Konnte nicht wechseln zu Verzeichnis '%s'.\n" + +#: ../src/core/utils.c:488 +msgid "Filename is too long, not expanding it\n" +msgstr "Dateiname zu lang\n" + +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Prüfe GTK-Version ... GTK-%d.%d\n" + +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "GTK-Version entspricht nicht den Anforderungen: (GTK-%d.%d)\n" + +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "" +"Kann CSS Style-Sheet-Datei nicht laden: %s. Bitte %s erneut installieren\n" + +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "Erfolgreich geladen '%s'\n" + +# est-ce OK de donner ton adresse email si on veut me contacter? +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Jörg Schipke, " + +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "Über SIRIL" + +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Astronomisches Bild(vor)verarbeitungsprogaramm" + +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Besuchen Sie die SIRIL Website" + +#: ../src/gui/callbacks.c:799 +#, c-format +msgid "Image %d has been unselected from sequence\n" +msgstr "Bild %d wurde aus der Sequenz ausgeschlossen\n" + +#: ../src/gui/callbacks.c:809 +#, c-format +msgid "Image %d has been selected from sequence\n" +msgstr "Bild %d wurde in die Sequenz aufgenommen\n" + +#: ../src/gui/callbacks.c:843 +msgid "Selected all images from sequence\n" +msgstr "Alle Bilder der Sequenz auswählen\n" + +#: ../src/gui/callbacks.c:847 +msgid "Unselected all images from sequence\n" +msgstr "Alle Bilder aus der Sequenz ausschließen\n" + +#: ../src/gui/callbacks.c:1056 +#, c-format +msgid "Setting MAX value for cutoff sliders adjustments\n" +msgstr "MAX-Wert über die Schieberegler vorgeben\n" + +#. there should be no other normal cases +#: ../src/gui/callbacks.c:1099 +#, c-format +msgid "setting ranges scalemin=%d, scalemax=%d\n" +msgstr "Initialisiere scalemin=%d, scalemax=%d\n" + +#: ../src/gui/callbacks.c:1205 +#, c-format +msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" +msgstr "<%%s.seq>: %%d Bilder von %%d ausgewählt, Referenz Bild ist %%d" + +#: ../src/gui/callbacks.c:1208 +#, c-format +msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" +msgstr "<%%s.seq>: %%d Bilder von %%d ausgewählt, Referenz Bild ist %%.%dd" + +#: ../src/gui/callbacks.c:1217 +#, c-format +msgid "<%s.seq>: %d images selected out of %d, no reference image set" +msgstr "<%s.seq>: %d Bilder von %d ausgewählt, kein Referenz Bild festgelegt" + +#: ../src/gui/callbacks.c:1220 +#, c-format +msgid "%s, %d images selected" +msgstr "%s, %d Bilder ausgewählt" + +#: ../src/gui/callbacks.c:1224 +#, c-format +msgid "No sequence" +msgstr "Keine Sequenz" + +#: ../src/gui/callbacks.c:1225 +#, c-format +msgid "- none -" +msgstr "- keins -" + +#: ../src/gui/callbacks.c:1308 +#, c-format +msgid "" +"redraw: maximum number of layers supported is %d (current image has %d).\n" +msgstr "" +"Redraw: maximal unterstützte Anzahl Layer ist %d (aktuelles Bild hat %d).\n" + +#: ../src/gui/callbacks.c:1604 +#, c-format +msgid "fwhm: selection is too large" +msgstr "FWHM: Auswahl zu groß" + +#: ../src/gui/callbacks.c:1606 +#, c-format +msgid "fwhm: no selection" +msgstr "FWHM: nichts ausgewählt" + +#: ../src/gui/callbacks.c:1631 +#, c-format +msgid "%s (channel 0)" +msgstr "%s (Kanal 0)" + +#: ../src/gui/callbacks.c:1636 +#, c-format +msgid "%s (channel 1)" +msgstr "%s (Kanal 1)" + +#: ../src/gui/callbacks.c:1640 +#, c-format +msgid "%s (channel 2)" +msgstr "%s (Kanal 2)" + +#: ../src/gui/callbacks.c:1667 +msgid "Unassigned" +msgstr "Nicht zugewiesen" + +#: ../src/gui/callbacks.c:1693 +#, c-format +msgid "%d: not affected yet" +msgstr "%d: noch nicht betroffen" + +#: ../src/gui/callbacks.c:1833 +msgid "Unknown zoom_value value, what is the current zoom?\n" +msgstr "Unbekannter Zoom-Wert, wie ist der aktuelle Wert?\n" + +#: ../src/gui/callbacks.c:1834 ../src/gui/callbacks.c:2891 +#: ../src/gui/callbacks.c:4536 ../src/gui/callbacks.c:4542 +#: ../src/gui/callbacks.c:4563 ../src/gui/open_dialog.c:293 +#: ../src/gui/plot.c:383 ../src/gui/plot.c:443 ../src/gui/PSF_list.c:213 +#: ../src/gui/save_dialog.c:298 ../src/io/conversion.c:602 +#: ../src/io/single_image.c:131 +msgid "Error" +msgstr "Error" + +#: ../src/gui/callbacks.c:1919 +msgid "B&W channel" +msgstr "S/W-Kanal" + +#: ../src/gui/callbacks.c:1952 +#, c-format +msgid "%d file loaded" +msgstr "%d Dateien geladen" + +#: ../src/gui/callbacks.c:1954 +#, c-format +msgid "%d files loaded" +msgstr "%d Dateien geladen" + +#: ../src/gui/callbacks.c:1959 +#, c-format +msgid "%d file selected, %s" +msgstr "%d Dateien ausgewählt, %s" + +#: ../src/gui/callbacks.c:1961 +#, c-format +msgid "%d files selected, %s" +msgstr "%d Dateien ausgewählt, %s" + +#: ../src/gui/callbacks.c:2103 +#, c-format +msgid "Mem: %ldMB" +msgstr "Speicher: %ldMB" + +#: ../src/gui/callbacks.c:2105 +#, c-format +msgid "Mem: N/A" +msgstr "Speicher: N/A" + +#: ../src/gui/callbacks.c:2113 +#, c-format +msgid "Disk Space: %s" +msgstr "HDD-Speicherplatz: %s" + +#: ../src/gui/callbacks.c:2116 +#, c-format +msgid "Disk Space: N/A" +msgstr "HDD-Speicherplatz: N/A" + +#: ../src/gui/callbacks.c:2178 +msgid "This binning is not handled yet\n" +msgstr "Dieses Binning wird noch nicht unterstützt\n" + +#: ../src/gui/callbacks.c:2703 ../src/gui/callbacks.c:2704 +#, c-format +msgid "ERROR" +msgstr "FEHLER" + +#: ../src/gui/callbacks.c:2716 +#, c-format +msgid "Cold: %ld px" +msgstr "Kalt: %ld px" + +#: ../src/gui/callbacks.c:2717 ../src/gui/callbacks.c:2729 +msgid "" +"This value may be to high. Please, consider to change sigma value or uncheck " +"the box." +msgstr "" +"Dieser Wert erscheint zu hoch. Evtl. Sigma-Wert ändern oder Checkbox " +"abklicken." + +#: ../src/gui/callbacks.c:2720 +#, c-format +msgid "Cold: %ld px" +msgstr "Kalt: %ld px" + +#: ../src/gui/callbacks.c:2728 +#, c-format +msgid "Hot: %ld px" +msgstr "Heiß: %ld px" + +#: ../src/gui/callbacks.c:2732 +#, c-format +msgid "Hot: %ld px" +msgstr "Heiß: %ld px" + +#: ../src/gui/callbacks.c:2972 +msgid "Closing application" +msgstr "Schließe Anwendung" + +#: ../src/gui/callbacks.c:2972 +msgid "Are you sure you want to quit?" +msgstr "Wirklich beenden?" + +#: ../src/gui/callbacks.c:3646 +#, c-format +msgid "new zoom value: %f\n" +msgstr "Neuer Zoom-Wert: %f\n" + +#: ../src/gui/callbacks.c:3685 +#, c-format +msgid "%g nm" +msgstr "%g nm" + +#: ../src/gui/callbacks.c:3687 +#, c-format +msgid "undefined" +msgstr "undefiniert" + +#: ../src/gui/callbacks.c:3783 +msgid "Exclude all images ?" +msgstr "Alle Bilder ausschließen ?" + +#: ../src/gui/callbacks.c:3784 ../src/gui/callbacks.c:3794 +msgid "This erases previous image selection and there's no possible undo." +msgstr "Dies löscht unwiderruflich die vorherige Bildauswahl." + +#: ../src/gui/callbacks.c:3793 +msgid "Include all images ?" +msgstr "Alle Bilder auswählen ?" + +#: ../src/gui/callbacks.c:3815 +msgid "Opening dark image..." +msgstr "Öffne Dark-Frame..." + +#: ../src/gui/callbacks.c:3818 +msgid "NOT USING DARK: cannot open the file\n" +msgstr "KEINE Dark-Frame-Benutzung: kann Datei nicht öffnen\n" + +#: ../src/gui/callbacks.c:3825 +msgid "NOT USING DARK: number of channels is different" +msgstr "KEINE Dark-Frame-Benutzung: Anzahl der Kanäle unterschiedlich" + +#: ../src/gui/callbacks.c:3863 +msgid "Opening flat image..." +msgstr "Öffne Flat-Frame..." + +#: ../src/gui/callbacks.c:3866 +msgid "NOT USING FLAT: cannot open the file\n" +msgstr "KEINE Flat-Frame-Benutzung: kann Datei nicht öffnen\n" + +#: ../src/gui/callbacks.c:3873 +msgid "NOT USING FLAT: number of channels is different" +msgstr "KEINE Flat-Frame-Benutzung: Anzahl der Kanäle unterschiedlich" + +#: ../src/gui/callbacks.c:3900 +msgid "Opening offset image..." +msgstr "Öffne Bias-Frame..." + +#: ../src/gui/callbacks.c:3903 +msgid "NOT USING OFFSET: cannot open the file\n" +msgstr "KEINE Offset-Frame-Benutzung: kann Datei nicht öffnen\n" + +#: ../src/gui/callbacks.c:3910 +msgid "NOT USING OFFSET: number of channels is different" +msgstr "KEINE Offset-Frame-Benutzung: Anzahl der Kanäle unterschiedlich" + +#: ../src/gui/callbacks.c:4007 +msgid "Error in preprocessing." +msgstr "Fehler in Vorverarbeitung." + +#: ../src/gui/callbacks.c:4084 +#, c-format +msgid "Selected %s sequence %s..." +msgstr "Sequenz %s ausgwählt %s..." + +#: ../src/gui/callbacks.c:4153 +msgid "Searching for sequences in the current working directory..." +msgstr "Suche nach Sequenzen im aktuellen Arbeitsverzeichnis..." + +#: ../src/gui/callbacks.c:4440 ../src/gui/callbacks.c:4488 +msgid "Current selection is too large" +msgstr "Aktuelle Auswahl ist zu groß" + +#: ../src/gui/callbacks.c:4441 ../src/gui/callbacks.c:4489 +msgid "To determine the PSF, please make a selection around a star." +msgstr "Um die PSF zu bestimmen, treffen Sie eine Auswahl um einen Stern." + +#: ../src/gui/callbacks.c:4453 +#, c-format +msgid "" +"Centroid Coordinates:\n" +"\t\tx0=%.2fpx\n" +"\t\ty0=%.2fpx\n" +"\n" +"Full Width Half Maximum:\n" +"\t\tFWHMx=%.2f%s\n" +"\t\tFWHMy=%.2f%s\n" +"\n" +"Angle:\n" +"\t\t%0.2fdeg\n" +"\n" +"Background Value:\n" +"\t\tB=%.6f\n" +"\n" +"Maximal Intensity:\n" +"\t\tA=%.6f\n" +"\n" +"Magnitude (%s):\n" +"\t\tm=%.4f±%.4f\n" +"\n" +"RMSE:\n" +"\t\tRMSE=%.3e" +msgstr "" +"Zentroid Koordinaten:\n" +"\t\tx0=%.2fpx\n" +"\t\ty0=%.2fpx\n" +"\n" +"Halbwertsbreite (FWHM):\n" +"\t\tFWHMx=%.2f%s\n" +"\t\tFWHMy=%.2f%s\n" +"\n" +"Winkel:\n" +"\t\t%0.2fdeg\n" +"\n" +"Hintergrund-Wert:\n" +"\t\tB=%.6f\n" +"\n" +"Maximale Intensität:\n" +"\t\tA=%.6f\n" +"\n" +"Magnitude (%s):\n" +"\t\tm=%.4f±%.4f\n" +"\n" +"RMSE:\n" +"\t\tRMSE=%.3e" + +#: ../src/gui/callbacks.c:4470 +msgid "PSF for the sequence only applies on sequences" +msgstr "Die PSF für die Sequenzen gilt ausschließlich für Sequenzen" + +#: ../src/gui/callbacks.c:4471 +msgid "Please load a sequence before trying to apply the PSF for the sequence." +msgstr "" +"Bitte laden Sie zuerst eine Sequenz, bevor Sie eine PSF darauf anwenden." + +#: ../src/gui/callbacks.c:4535 +msgid "FFT does not work with sequences !\n" +msgstr "FFT funktioniert nicht mit Sequenzen !\n" + +#: ../src/gui/callbacks.c:4541 +msgid "Open an image first !\n" +msgstr "Öffnen Sie zuerst ein Bild !\n" + +#: ../src/gui/callbacks.c:4562 +msgid "Select magnitude and phase before !\n" +msgstr "Wählen Sie zuerst Magnitude und Phase !\n" + +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Grau-Kanal" + +#: ../src/gui/message_dialog.c:185 +msgid "_Do not show this dialog again" +msgstr "_Diesen Hinweis nicht erneut anzeigen" + +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "FITS Dateien (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "RAW DSLR Kamera-Dateien" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Bilddateien (*.bmp)" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "NetPBM Dateien (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "IRIS PIC Dateien (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "SER Dateien (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Film-/Video-Dateien (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Alle unterstützten Datei-Formate" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Photometrische Farb-Kalibrierung" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Verwende Apertur Photometrie für %d Sterne.\n" + +#: ../src/gui/photometric_cc.c:423 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalisierung für %s Kanal.\n" + +#: ../src/gui/photometric_cc.c:423 +msgid "red" +msgstr "Rot" + +#: ../src/gui/photometric_cc.c:423 +msgid "green" +msgstr "Grün" + +#: ../src/gui/photometric_cc.c:423 +msgid "blue" +msgstr "blau" + +#: ../src/gui/plot.c:183 ../src/gui/plot.c:642 +msgid "Frames" +msgstr "Frames" + +#: ../src/gui/plot.c:279 +msgid "" +"Please consider to install it before trying to plot a graph of a variable " +"star.\n" +msgstr "" +"Erwägen Sie eine Installation bevor Sie den Graph eines Veränderlichen " +"plotten.\n" + +#: ../src/gui/plot.c:282 +msgid "Gnuplot is unavailable" +msgstr "Gnuplot ist nicht verfügbar" + +#: ../src/gui/plot.c:379 +#, c-format +msgid "%s has been saved.\n" +msgstr "%s wurden gespeichert.\n" + +#: ../src/gui/plot.c:380 ../src/gui/plot.c:441 +msgid "Information" +msgstr "Information" + +#: ../src/gui/plot.c:384 ../src/gui/plot.c:444 +msgid "Something went wrong while saving plot" +msgstr "Fehler beim Speichern des Plots" + +#: ../src/gui/plot.c:440 +#, c-format +msgid "%s.csv has been saved.\n" +msgstr "%s.csv wurde gespeichert.\n" + +#: ../src/gui/plot.c:568 +msgid "Quality" +msgstr "Qualität" + +#: ../src/gui/plot.c:726 +msgid "Star roundness (1 is round)" +msgstr "Stern-Rundheit (1 ist rund)" + +#: ../src/gui/plot.c:736 +msgid "Star magnitude (absolute)" +msgstr "Stern Magnitude (absolut)" + +#: ../src/gui/plot.c:738 +msgid "Star magnitude (relative, use setmag)" +msgstr "Stern Magnitude (relativ, verwenden Sie SETMAG)" + +#: ../src/gui/plot.c:741 +msgid "Background value" +msgstr "Hintergrund-Wert" + +#: ../src/gui/plot.c:744 +msgid "Star position on X axis" +msgstr "Stern-Position auf der X-Achse" + +#: ../src/gui/plot.c:747 +msgid "Star position on Y axis" +msgstr "Stern-Position auf der Y-Achse" + +#: ../src/gui/progress_and_log.c:242 +msgid "Execution time" +msgstr "Ausführungsdauer" + +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "" +"%s: %d h %02d min %.2d s.\n" +"\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Sterne müssen gleiche Einheiten haben." + +#: ../src/gui/PSF_list.c:228 +#, c-format +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"Mittelwert der Gauss'schen PSF\n" +"\n" +"N:\t%d Sterne\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Winkel:\t%.2f deg\n" +"rmse:\t%.3e\n" + +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Durchschnittliche Stern Daten" + +#: ../src/gui/PSF_list.c:261 +#, c-format +msgid "%d stars" +msgstr "%d Sterne" + +#: ../src/gui/PSF_list.c:266 +#, c-format +msgid "Star %d of %d" +msgstr "Stern %d von %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Die Datei \"stars.lst\" wurde erstellt.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "Datei mit Stern-Liste (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Abgebrochen! Laden Sie zuerst ein Bild.\n" + +#: ../src/gui/registration_preview.c:66 +#, c-format +msgid "Preview %d" +msgstr "Vorschau %d" + +#: ../src/gui/registration_preview.c:220 +msgid "Switching to the registration layer\n" +msgstr "Wechsle zum Registrierungs-Layer\n" + +#. GRAPHICS FILES +#. BMP FILES +#: ../src/gui/save_dialog.c:63 +msgid "BMP Files (*.bmp)" +msgstr "BMP-Dateien (*.bmp)" + +#: ../src/gui/save_dialog.c:66 +msgid "JPEG Files (*.jpg, *.jpeg)" +msgstr "JPEG-Dateien (*.jpg, *.jpeg)" + +#: ../src/gui/save_dialog.c:71 +msgid "PNG Files (*.png)" +msgstr "PNG-Dateien (*.png)" + +#: ../src/gui/save_dialog.c:76 +msgid "TIFF Files (*.tif, *.tiff)" +msgstr "TIFF-Dateien (*.tif, *.tiff)" + +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 +msgid "Saving BMP" +msgstr "Speichere BMP" + +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 +msgid "Saving PNG" +msgstr "Speichere PNG" + +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 +msgid "Saving Netpbm" +msgstr "Speichere NetPBM" + +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 +msgid "Saving JPG" +msgstr "Speichere JPG" + +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 +msgid "Saving TIFF" +msgstr "Speichere TIFF" + +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 +msgid "Saving FITS" +msgstr "Speichere FITS" + +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "Datei speichern fehlgeschlagen. Überprüfen Sie das Log-Protokoll." + +#: ../src/gui/save_dialog.c:395 +msgid "This type of file is not handled. Should not happen" +msgstr "Dieser Dateityp kann nicht bearbeitet werden. Sollte nicht vorkommen" + +#: ../src/gui/script_menu.c:220 +#, c-format +msgid "Searching scripts in: \"%s\"...\n" +msgstr "Suche Scripte in: \"%s\"...\n" + +#: ../src/gui/script_menu.c:232 +#, c-format +msgid "Loading script: %s\n" +msgstr "Lade Script: %s\n" + +#: ../src/gui/script_menu.c:284 +msgid "Could not show link" +msgstr "Kann nicht auf Link zugreifen" + +#: ../src/gui/script_menu.c:285 +msgid "Please go to %d)\n" +msgstr "Sequenz geladen: %s (%d->%d)\n" + +#: ../src/io/sequence.c:609 +#, c-format +msgid "%d from %s.ser" +msgstr "%d von %s.ser" + +#: ../src/io/sequence.c:639 +#, c-format +msgid "Could not load image %d from sequence %s\n" +msgstr "Konnte Bild %d aus Sequenz %s nicht laden\n" + +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 +#, c-format +msgid "Could not load frame %d from SER sequence %s\n" +msgstr "Konnte Frame %d aus SER-Sequenz %s nicht laden\n" + +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 +#, c-format +msgid "Could not load frame %d from AVI sequence %s\n" +msgstr "Konnte Frame %d aus AVI-Sequenz %s nicht laden\n" + +#: ../src/io/sequence.c:688 +#, c-format +msgid "Could not load partial image %d from sequence %s\n" +msgstr "Konnte Teilbild %d aus Sequenz %s nicht laden\n" + +#: ../src/io/sequence.c:776 +msgid "This operation is not supported on AVI sequences (seq_open_image)\n" +msgstr "" +"Diese Operation wird für AVI-Sequenzen (seq_open_image) nicht unterstützt\n" + +#: ../src/io/sequence.c:780 +msgid "" +"This operation is not supported on internal sequences (seq_open_image)\n" +msgstr "" +"Diese Operation wird für interne Sequenzen (seq_open_image) nicht " +"unterstützt\n" + +#: ../src/io/sequence.c:1115 +#, c-format +msgid "Closing sequence %s\n" +msgstr "Schließe Sequenz %s\n" + +#: ../src/io/sequence.c:1220 +msgid "internal sequence" +msgstr "Interne Sequenz" + +#: ../src/io/sequence.c:1301 +msgid "Processing..." +msgstr "In Bearbeitung..." + +#: ../src/io/sequence.c:1427 +#, c-format +msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" +msgstr "" +"Kein Stern zu finden im Auswahlbereich %d um %d,%d (größeren Bereich " +"auswählen?)\n" + +#: ../src/io/sequence.c:1431 +#, c-format +msgid "" +"No star found in the area image %d around %d,%d (use 'follow star' option?)\n" +msgstr "" +"Kein Stern zu finden im Auswahlbereich %d um %d,%d (\"Verfolge Stern\" " +"Option verwenden?)\n" + +#: ../src/io/sequence.c:1480 +msgid "" +"Star analysis does not give consistent results when exposure changes across " +"the sequence.\n" +msgstr "" +"Stern-Analyse liefert keine konsistenten Ergebnisse, wenn sich die " +"Belichtungszeit über die Sequenz ändert.\n" + +#: ../src/io/sequence.c:1554 +msgid "" +"The sequence analysis of the PSF will use a sliding selection area centred " +"on the previous found star; this disables parallel processing.\n" +msgstr "" +"Die Sequenz-Analyse der PSF benutzt einen verschiebbaren Auswahlbereich mit " +"Zentrum auf dem zuvor gefundenen Stern. Dies deaktiviert die " +"Parallelverarbeitung.\n" + +#: ../src/io/sequence.c:1556 +msgid "" +"The sequence analysis of the PSF will use registration data to move the " +"selection area for each image; this is compatible with parallel processing.\n" +msgstr "" +"Die Sequenz-Analyse der PSF benutzt die Registrierungsdaten, um den " +"Auswahlbereich für jedes Bild zurechtzurücken. Dies ist verträglich mit " +"Parallelverarbeitung.\n" + +#: ../src/io/sequence.c:1578 +msgid "PSF on area" +msgstr "PSF des Bereichs" + +#: ../src/io/sequence_export.c:80 +#, c-format +msgid "Using registration information from layer %d to export sequence\n" +msgstr "" +"Benutze Registrierungs-Informationen aus Layer %d für den Export der " +"Sequenz\n" + +#: ../src/io/sequence_export.c:125 +msgid "" +"MP4 output is not supported because siril was not compiled with ffmpeg " +"support.\n" +msgstr "" +"Die MP4-Ausgabe wird nicht unterstützt, weil SIRIL nicht mit \"ffmpeg support" +"\" compiliert wurde.\n" + +#: ../src/io/sequence_export.c:136 +msgid "" +"Film output needs to have a width that is a multiple of 32 and an even " +"height, resizing selection.\n" +msgstr "" +"Die Video-Ausgabe muß in der Breite ein Vielfaches von 32 und eine " +"geradzahlige Höhe haben, Auswahl wird neu dimensioniert.\n" + +#: ../src/io/sequence_export.c:211 +#, c-format +msgid "image %d is excluded from export\n" +msgstr "Bild %d vom Export ausgeschlossen\n" + +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:384 +msgid "Processing image " +msgstr "Verarbeite Bild " + +#: ../src/io/sequence_export.c:226 +msgid "Export: could not read frame, aborting\n" +msgstr "Export: konte Frame nicht lesen. Abbruch\n" + +#: ../src/io/sequence_export.c:374 +msgid "Sequence export failed. Check the log." +msgstr "Export der Sequenz fehlgeschlagen. Überprüfen Sie das Log-Protokoll." + +#: ../src/io/sequence_export.c:375 +msgid "Sequence export failed\n" +msgstr "Export der Sequenz fehlgeschlagen\n" + +#: ../src/io/sequence_export.c:378 +msgid "Sequence export succeeded." +msgstr "Sequenz erfolgreich exportiert." + +#: ../src/io/sequence_export.c:379 +msgid "Sequence export succeeded.\n" +msgstr "Sequenz erfolgreich exportiert.\n" + +#: ../src/io/sequence_export.c:436 +msgid "Width or height cannot be null. Not resizing.\n" +msgstr "Breite und Höhe dürfen nicht 0 sein. Keine Größenanpassung.\n" + +#: ../src/io/sequence_export.c:481 +msgid "Cropping to selection" +msgstr "Zuschnitt auf Auswahlgröße" + +#: ../src/io/ser.c:259 +#, c-format +msgid "Warning: timestamps in the SER sequence are all identical.\n" +msgstr "Achtung: Zeitstempel in der SER-Sequenz sind alle identisch.\n" + +#: ../src/io/ser.c:260 +#, c-format +msgid "Timestamps in the SER sequence are correctly ordered.\n" +msgstr "Zeitstempel in der SER-Sequenz sind in richtiger Reihenfolge.\n" + +#: ../src/io/ser.c:262 +#, c-format +msgid "Warning: timestamps in the SER sequence are not in the correct order.\n" +msgstr "" +"Achtung: Zeitstempel in der SER-Sequenz sind nicht in der richtigen " +"Reihenfolge.\n" + +#: ../src/io/ser.c:275 +#, c-format +msgid "Warning: no timestamps stored in the SER sequence.\n" +msgstr "Achtung: keine Zeitstempel in der SER-Sequenz hinterlegt.\n" + +#: ../src/io/ser.c:284 +msgid "Trying to fix broken SER file...\n" +msgstr "Versuche die beschädigte SER-Datei wiederherzustellen...\n" + +#: ../src/io/ser.c:356 +msgid "SER file has been fixed...\n" +msgstr "SER-Datei wiederhergestellt...\n" + +#: ../src/io/ser.c:444 +msgid "" +"Writing to SER files from larger than 16-bit FITS images is not yet " +"implemented\n" +msgstr "" +"Das Erstellen einer SER-Datei mit mehr 16-bit Tiefe ist noch nicht " +"implementiert\n" + +#: ../src/io/ser.c:573 +msgid "The SER sequence is being created with no image in it.\n" +msgstr "Die SER-Sequenz wird ohne Bilder erstellt.\n" + +#: ../src/io/ser.c:611 +msgid "Compacting SER file after parallel output to it...\n" +msgstr "Komprimiere SER-Datei...\n" + +#: ../src/io/ser.c:694 +#, c-format +msgid "Created SER file %s\n" +msgstr "SER-Datei %s erstellt\n" + +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 +msgid "This type of Bayer pattern is not handled yet.\n" +msgstr "Dieser Typ Bayer-Matrix kann (noch) nicht bearbeitet werden.\n" + +#: ../src/io/ser.c:1053 +msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" +msgstr "" +"Für de-bayerte Bilder müssen die Layer/Kanäle R, G oder B sein (0 bis 2).\n" + +#: ../src/io/ser.c:1140 +msgid "Trying to add an image of different size in a SER\n" +msgstr "Versuche ein Bild anderer Größe in die SER-Datei einzufügen\n" + +#: ../src/io/single_image.c:130 +#, c-format +msgid "Error opening image %s: file not found or not supported.\n" +msgstr "" +"Fehler beim Öffnen der Bilddatei %s: Datei nicht gefunden oder nicht " +"unterstützt.\n" + +#: ../src/io/single_image.c:145 +#, c-format +msgid "Opening %s failed.\n" +msgstr "Öffnen von %s fehlgeschlagen.\n" + +#: ../src/io/single_image.c:180 ../src/io/single_image.c:186 +msgid "Error opening file" +msgstr "Feheler beim Öffnen der Datei" + +#: ../src/io/single_image.c:181 +msgid "This file could not be opened because its extension is not supported." +msgstr "" +"Die Datei konnte nicht geöffnet werden, Datei-Erweiterung nicht unterstützt." + +#: ../src/io/single_image.c:187 +msgid "" +"There was an error when opening this image. See the log for more information." +msgstr "" +"Ein Fehler ist beim Öffnen der Datei aufgetreten. Schauen Sie ins Log-" +"Protokoll für weitere Informationen." + +#: ../src/main.c:225 +#, c-format +msgid "%s. Looking into another directory...\n" +msgstr "%s. Suche in anderem Verzeichnis...\n" + +#: ../src/main.c:231 +#, c-format +msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" +msgstr "" +"%s nicht gefunden oder enthält Fehler, kann in der GUI nicht dargestellt " +"werden.\n" + +#: ../src/main.c:301 +#, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "Unbekannter Befehlszeilen-Parameter '%c'\n" + +#: ../src/main.c:328 +#, c-format +msgid "Welcome to %s v%s\n" +msgstr "Wilkommen zu %s v%s\n" + +#: ../src/main.c:349 +#, c-format +msgid "Could not load or create settings file, exiting.\n" +msgstr "Konnte Settings-Datei nicht laden oder erstellen.\n" + +#. Get CPU number and set the number of threads +#: ../src/main.c:371 +#, c-format +msgid "Parallel processing %s: Using %d logical processor(s).\n" +msgstr "Parallel-Verarbeitung %s: Benutze %d logische Prozessoren.\n" + +#: ../src/main.c:373 +msgid "enabled" +msgstr "aktiviert" + +#: ../src/main.c:375 +msgid "disabled" +msgstr "deaktiviert" + +#: ../src/opencv/opencv.cpp:605 +msgid "Deconvoltuion applied" +msgstr "Dekonvolution angewandt" + +#: ../src/registration/comet.c:152 ../src/registration/comet.c:176 +msgid "There is no timestamp stored in the file" +msgstr "Es gibt keinen Zeitstempel in dieser Datei" + +#: ../src/registration/comet.c:153 ../src/registration/comet.c:177 +msgid "" +"Siril cannot perform the registration without date information in the file." +msgstr "" +"SIRIL kann die Registrierung ohne Datums-Information in der Datei nicht " +"durchführen." + +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 +msgid "Could not load reference image\n" +msgstr "Konnte Referenz-Bild nicht laden\n" + +#: ../src/registration/comet.c:301 +msgid "Moving object registration" +msgstr "Registrierung beweglicher Objekte" + +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 +msgid "Recomputing already existing registration for this layer\n" +msgstr "Neuberechnung existierender Registrierung für diesen Layer\n" + +#: ../src/registration/global.c:90 +msgid "Reference Image:\n" +msgstr "Referenz-Bild:\n" + +#: ../src/registration/global.c:98 +#, c-format +msgid "Found %d stars in reference, channel #%d\n" +msgstr "%d Sterne im Referenz-Bild gefunden, Kanal #%d\n" + +#: ../src/registration/global.c:103 +msgid "There are not enough stars in reference image to perform alignment\n" +msgstr "Es gibt nicht genügend Sterne im Referenz-Bild für eine Ausrichtung\n" + +#: ../src/registration/global.c:140 +#, c-format +msgid "Reference Image: Limiting to %d brightest stars\n" +msgstr "Referenz-Bild: begrenze auf %d hellste Sterne\n" + +#: ../src/registration/global.c:145 ../src/registration/global.c:458 +#, c-format +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx:%*.2f %s\n" + +#: ../src/registration/global.c:146 ../src/registration/global.c:459 +#, c-format +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy:%*.2f %s\n" + +#: ../src/registration/global.c:211 +#, c-format +msgid "Frame %d:\n" +msgstr "Frame %d:\n" + +#: ../src/registration/global.c:219 +#, c-format +msgid "Found %d stars in image %d, channel #%d\n" +msgstr "%d Sterne in Bild %d gefunden, Kanal #%d\n" + +#: ../src/registration/global.c:223 +#, c-format +msgid "Not enough stars. Image %d skipped\n" +msgstr "Nicht genügend Sterne. Bild %d übersprungen\n" + +#: ../src/registration/global.c:229 +#, c-format +msgid "Target Image: Limiting to %d brightest stars\n" +msgstr "Ziel-Bild: begrenze auf %d hellste Sterne\n" + +#: ../src/registration/global.c:245 +#, c-format +msgid "Cannot perform star matching: try #%d. Image %d skipped\n" +msgstr "" +"Kann Sterne nicht zur Deckung bringen: versuche #%d. Bild %d übersprungen\n" + +#: ../src/registration/global.c:336 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 +msgid "Registration finished.\n" +msgstr "Registrierung abgeschlossen.\n" + +#: ../src/registration/global.c:337 +#, c-format +msgid "%d images processed.\n" +msgstr "%d Bilder bearbeitet.\n" + +#: ../src/registration/global.c:339 +#, c-format +msgid "Total: %d failed, %d registered.\n" +msgstr "Gesamt: %d fehlgeschlagen, %d registriert.\n" + +#: ../src/registration/global.c:349 +msgid "Registration aborted.\n" +msgstr "Registrierung abgebrochen.\n" + +#: ../src/registration/global.c:375 +msgid "Global star registration" +msgstr "Globale Stern-Registrierung" + +#. Matching information +#: ../src/registration/global.c:436 +#, c-format +msgid "Matching stars in image %d: done\n" +msgstr "Bringe Sterne in Bild %d zur Deckung: erledigt\n" + +#: ../src/registration/global.c:445 +#, c-format +msgid "scaleX:%*.3f\n" +msgstr "X-Skala:%*.3f\n" + +#: ../src/registration/global.c:446 +#, c-format +msgid "scaleY:%*.3f\n" +msgstr "Y-Skala:%*.3f\n" + +#: ../src/registration/global.c:447 +#, c-format +msgid "scale:%*.3f\n" +msgstr "Skala:%*.3f\n" + +#: ../src/registration/global.c:451 +#, c-format +msgid "rotation:%+*.3f deg\n" +msgstr "Drehung: %+*.3f Grad\n" + +#: ../src/registration/global.c:456 +#, c-format +msgid "dx:%+*.2f px\n" +msgstr "dx:%+*.2f px\n" + +#: ../src/registration/global.c:457 +#, c-format +msgid "dy:%+*.2f px\n" +msgstr "dy:%+*.2f px\n" + +#: ../src/registration/registration.c:57 +msgid "" +"One Star Registration: This is the simplest method to register deep-sky " +"images. Because only one star is concerned for register, images are aligned " +"using shifting (at a fraction of pixel). No rotation or scaling are " +"performed. Shifts at pixel precision are saved in seq file." +msgstr "" +"Einzel-Stern Registrierung: dies ist die einfachste Form einer Registrierung " +"von Deep-Sky-Bildern. Da nur ein einzelner Stern verwendet wird, wird das " +"Ausrichten ausschließlich durch Verschiebung (auch im Sub-Pixel-Bereich) " +"erreicht. Es erfolgt kein Drehlagenausgleich und keine Streckung. " +"Verschiebungen werden mit Pixel-Genauigkeit in der seq-Datei gespeichert." + +#: ../src/registration/registration.c:61 +msgid "" +"Global Star Alignment: This is a more powerful and accurate algorithm (but " +"also slower) to perform deep-sky images. The global matching is based on " +"triangle similarity method for automatically identify common stars in each " +"image. A new sequence is created with the prefix of your choice (r_ by " +"default)." +msgstr "" +"Globale Stern Ausrichtung: dies ist ein leistungsfähigerer und genauerer " +"Algorithmus (aber auch langsamer). Die globale Ausrichtung basiert auf der " +"Dreiecksähnlichkleitsmethode und identifiziert automatisch herkömmliche " +"Sterne in jedem Bild.Eine neue Sequenz wird mit einem Präfix Ihrer Wahl " +"erstellt (r_ standardmäßig)." + +#: ../src/registration/registration.c:65 +msgid "" +"Image Pattern Alignment: This is a simple registration by translation method " +"using cross correlation in the spatial domain. This method is fast and is " +"used to register planetary movies. It can also be used for some deep-sky " +"images registration. Shifts at pixel precision are saved in seq file." +msgstr "" +"Bildmusterausrichtung: dies ist eine einfache Registrierung mittels " +"Translations-Methode, die Kreuzkorrelation innerhalb eines räumlichen " +"Bereichs verwendet. Diese Methode ist schnell und wird verwendet, um " +"Planetenvideos zu registrieren. Es kann auch für einige Deep-Sky-Bilder " +"verwendet werden. Verschiebungen mit Pixelgenauigkeit werden in der seq-" +"Datei gespeichert." + +#: ../src/registration/registration.c:69 +msgid "" +"Enhanced Correlation Coefficient Maximization: It is based on the enhanced " +"correlation coefficient maximization algorithm. This method is more complex " +"and slower than Image Pattern Alignment but no selection is required. It is " +"good for moon surface images registration. Only translation is taken into " +"account yet." +msgstr "" +"Verbesserte Korrelations-Koeffizienten Maximierung: sie basiert auf dem " +"erweiterten Korrelations-Koeffizienten Maximierungsalgorithmus. Diese " +"Methode ist komplexer und langsamer als die Bildmuster-Ausrichtung, aber es " +"ist keine Auswahl erforderlich. Sie ist gut für die Registrierung von " +"Mondoberflächen. Es wird noch nur die Translation berücksichtigt." + +#: ../src/registration/registration.c:73 +msgid "" +"Comet/Asteroid Registration: This algorithm is dedicated to the comet and " +"asteroid registration. It is necessary to have timestamps stored in FITS " +"header and to load a sequence of star aligned images. This methods makes a " +"translation of a certain number of pixels depending on the timestamp of each " +"images and the global shift of the object between the first and the last " +"image." +msgstr "" +"Kometen-/Asteroiden-Registrierung: dieser Algorithmus ist der Kometen-und " +"Asteroidenregistrierung gewidmet. Dazu ist es notwendig, Zeitstempel im FITS-" +"Header zu speichern und eine Sequenz von sternenorientierten Bildern zu " +"laden. Diese Methode erstellt eine Translation einer bestimmten Anzahl von " +"Pixeln, abhängig vom Zeitstempel der einzelnen Bilder und der globalen " +"Verschiebung des Objekts zwischen dem ersten und dem letzten Bild." + +#: ../src/registration/registration.c:102 +msgid "One Star Registration (deep-sky)" +msgstr "Einzel-Stern-Registrierung (Deep-Sky)" + +#: ../src/registration/registration.c:106 +msgid "Image Pattern Alignment (planetary - full disk)" +msgstr "Bildmusterausrichtung (für Planeten - gesamte Scheibe)" + +#: ../src/registration/registration.c:108 +msgid "Enhanced Correlation Coefficient (planetary - surfaces)" +msgstr "" +"Verbesserte Korrelations-Koeffizienten Maximierung (für Planetenoberflächen)" + +#: ../src/registration/registration.c:110 +msgid "Comet/Asteroid Registration" +msgstr "Kometen-/Asteroiden-Registrierung" + +#: ../src/registration/registration.c:131 +#, c-format +msgid "Added a registration method: %s\n" +msgstr "Registrierungs-Methode hinzugefügt: %s\n" + +#: ../src/registration/registration.c:225 +msgid "Register DFT: loading and processing reference frame" +msgstr "Registriere DFT: lade und bearbeite Referenz-Frame" + +#: ../src/registration/registration.c:233 +msgid "Register: could not load first image to register, aborting.\n" +msgstr "Registrierung: konnte erstes Bild nicht laden. Abbruch.\n" + +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 +#, c-format +msgid "Register: processing image %s" +msgstr "Registrierung: bearbeite Bild %s" + +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 +#, c-format +msgid "Best frame: #%d.\n" +msgstr "Bestes Frame: #%d.\n" + +#: ../src/registration/registration.c:435 +msgid "Registration PSF: failed to compute PSF for reference frame at least\n" +msgstr "" +"Registrierung PSF: Berechnung der PSF mindestens für Referenz-Frame " +"fehlgeschalgen\n" + +#: ../src/registration/registration.c:479 +#, c-format +msgid "Best frame: #%d with fwhm=%.3g.\n" +msgstr "Bestes Frame: #%d mit FWHM=%.3g.\n" + +#: ../src/registration/registration.c:571 +#, c-format +msgid "Cannot perform ECC alignment for frame %d\n" +msgstr "Kann ECC Ausrichtung für Frame %d nicht durchführen\n" + +#: ../src/registration/registration.c:623 +#, c-format +msgid "%d frames were excluded.\n" +msgstr "%d Frames wurden ausgeschlossen.\n" + +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 +msgid "Select images in the sequence." +msgstr "Wählen Sie Bilder aus der Sequenz." + +#: ../src/registration/registration.c:726 +msgid "Select an area in image first, and select images in the sequence." +msgstr "Wählen Sie einen Bereich im Bild und die Bilder in der Sequenz aus." + +#: ../src/registration/registration.c:732 +msgid "Select an area in image first." +msgstr "Wählen Sie zunächst einen Bereich im Bild aus." + +#: ../src/registration/registration.c:858 +msgid "" +"All prerequisites are not filled for registration. Select a rectangle " +"first.\n" +msgstr "" +"Nicht alle Voraussetzungen für eine Registrierung sind erfüllt. Bestimmen " +"sie zunächst ein Auswahlrechteck.\n" + +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Öffne Datei %s zum Stacken" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "" +"Stacking Fehler: Bilder mit mehr als 3 Dimensionen werden nicht unterstützt\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "Stacking Fehler: Bilder haben unterschiedliche Abmessungen\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "Stacking Fehler: Bilder haben unterschiedliche Auflösung\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Super-Pixel wird nicht unterstützt beim Stacken von SER-Sequenzen\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"Das Stacken mit Ausschleusung wird nur für FITS-Bilder und SER-Sequenzen " +"unterstützt.\n" +"Benutzen Sie stattdessen das \"Summen-Stacking\".\n" + +#: ../src/stacking/median_and_mean.c:195 +#, c-format +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "Wir haben %d parallele Blocks der Größe %d (+%d) zum Stacken.\n" + +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" +msgstr "" +"Ein Bug wurde gefunden. Kann das Bild nicht in korrekte Bearbeitungsblöcke " +"unterteilen.\n" + +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Fehler beim Einlesen eines der Bildbereiche\n" + +#: ../src/stacking/normalization.c:102 +#, c-format +msgid "" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" +msgstr "" +"Ihr System verfügt nicht über genügend Speicher, um die Bilder fürs Stacking " +"zu normalisieren (%d MB frei, %d MB benötigt)\n" + +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"Bei aktuell verfügbarem Speicherbereich- (%.2f) und eingestellter Threads-" +"Anzahl (%d) wären bis zu (%d) weitere Threads möglich\n" + +#: ../src/stacking/normalization.c:128 +msgid "Computing normalization...\n" +msgstr "Berchne Normalisierung\n" + +#: ../src/stacking/normalization.c:136 +msgid "" +"The reference image is not in the selected set of images. Please choose " +"another reference image.\n" +msgstr "" +"Das Referenzbild ist nicht in der Bilderauswahl. Bitte wählen Sie ein " +"anderes Referenzbild aus.\n" + +#: ../src/stacking/normalization.c:138 +msgid "Normalization skipped.\n" +msgstr "Normalisierung übersprungen.\n" + +#: ../src/stacking/normalization.c:145 ../src/stacking/normalization.c:158 +msgid "Normalization failed." +msgstr "Normalisierung fehlgeschlagen." + +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:576 +msgid "Select at least two frames for stacking. Aborting.\n" +msgstr "Wählen Sie mindestens 2 Frames zum Stacken aus. Abbruch.\n" + +#. no image has been loaded +#: ../src/stacking/stacking.c:123 +msgid "Median stack error: uninitialized sequence\n" +msgstr "Median Stacking Fehler: Sequenz nicht initialisiert\n" + +#: ../src/stacking/stacking.c:148 ../src/stacking/stacking.c:624 +msgid "Your version of cfitsio does not support multi-threading\n" +msgstr "Ihre Version von CFITSIO unterstützt kein Multi-Threading\n" + +#: ../src/stacking/stacking.c:157 ../src/stacking/stacking.c:633 +msgid "Processing the sequence as RGB\n" +msgstr "Bearbeite die Sequenz als RGB\n" + +#: ../src/stacking/stacking.c:200 ../src/stacking/stacking.c:698 +msgid "Starting stacking...\n" +msgstr "Starte Stacking...\n" + +#: ../src/stacking/stacking.c:201 +msgid "Median stacking in progress..." +msgstr "Median Stacking läuft..." + +#: ../src/stacking/stacking.c:293 ../src/stacking/stacking.c:468 +#: ../src/stacking/stacking.c:975 +msgid "Finalizing stacking..." +msgstr "Schließe Stacking ab..." + +#: ../src/stacking/stacking.c:322 +msgid "Median stacking failed. Check the log." +msgstr "Median Stacking fehlgeschlagen. Überprüfen Sie das Log-Protokoll." + +#: ../src/stacking/stacking.c:323 ../src/stacking/stacking.c:489 +#: ../src/stacking/stacking.c:1018 +msgid "Stacking failed.\n" +msgstr "Stacking fehlgeschlagen.\n" + +#: ../src/stacking/stacking.c:325 +msgid "Median stacking complete." +msgstr "Median Stacking abgeschlossen." + +#: ../src/stacking/stacking.c:326 +#, c-format +msgid "Median stacking complete. %d have been stacked.\n" +msgstr "Median Stacking abgeschlossen. %d wurden gestackt.\n" + +#: ../src/stacking/stacking.c:363 +msgid "No frame selected for stacking (select at least 2). Aborting.\n" +msgstr "Kein Frame zum Stacken ausgewählt (mindestens 2). Abbruch.\n" + +#: ../src/stacking/stacking.c:392 +msgid "Stacking: could not read frame, aborting\n" +msgstr "Stacking: konnte frame nicht lesen. Abbruch\n" + +#: ../src/stacking/stacking.c:415 +msgid "Stacking: image in sequence doesn't has the same dimensions\n" +msgstr "Stacking: nicht alle Bilder in der Sequenz haben dieselbe Größe\n" + +#: ../src/stacking/stacking.c:488 +msgid "Stacking failed. Check the log." +msgstr "Stacking fehlgeschlagen. Überprüfen Sie das Log-Protokoll." + +#: ../src/stacking/stacking.c:491 +msgid "Stacking complete." +msgstr "Stacking abgeschlossen." + +#. no image has been loaded +#: ../src/stacking/stacking.c:594 +msgid "Rejection stack error: uninitialized sequence\n" +msgstr "Stacken mit Ausschleusung - Fehler: Sequenz nicht initialisiert\n" + +#: ../src/stacking/stacking.c:699 +msgid "Rejection stacking in progress..." +msgstr "Stacken mit Ausschleusung: läuft..." + +#: ../src/stacking/stacking.c:979 +#, c-format +msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" +msgstr "Pixel-Ausschleusung in Kanal #%d: %.3lf%% - %.3lf%%\n" + +#: ../src/stacking/stacking.c:1017 +msgid "Rejection stacking failed. Check the log." +msgstr "" +"Stacken mit Ausschleusung fehlgeschlagen. Überprüfen Sie das Log-Protokoll." + +#: ../src/stacking/stacking.c:1020 +msgid "Rejection stacking complete." +msgstr "Stacken mit Ausschleusung abgeschlossen." + +#: ../src/stacking/stacking.c:1034 +#, c-format +msgid "" +"Your system does not allow to open more than %d files at the same time. You " +"may consider either to enhance this limit (the method depends of your " +"Operating System) or to convert your FITS sequence into a SER sequence " +"before stacking, or to stack with the \"sum\" method.\n" +msgstr "" +"Ihr System kann nicht mehr als %d Dateien gleichzeitig öffnen. Sie könnten " +"dieses Limit erhöhen (abhängig von den Möglichekeiten Ihres Betriebssystems) " +"oder konvertieren Ihre FITS-Sequenz vor dem Stacken in eine SER-Sequenz. " +"Oder Sie benutzen die Aufsummierungsmethode zum Stacken.\n" + +#: ../src/stacking/stacking.c:1112 +#, c-format +msgid "Stacking will use registration data of layer %d if some exist.\n" +msgstr "" +"Der Stacking-Prozess wird Registrierungsdaten des Layers %d benutzen, sofern " +"vorhanden.\n" + +#: ../src/stacking/stacking.c:1118 +msgid "Stacking: processing...\n" +msgstr "Stacking: in Bearbeitung...\n" + +#: ../src/stacking/stacking.c:1132 +#, c-format +msgid "Integration of %d images:\n" +msgstr "Integration von %d Bildern:\n" + +#: ../src/stacking/stacking.c:1136 +msgid "Pixel combination ......... average\n" +msgstr "Pixel-Verknüpfung ......... Durchschnitt\n" + +#: ../src/stacking/stacking.c:1138 +msgid "Pixel combination ......... normalized sum\n" +msgstr "Pixel-Verknüpfung ......... normalisierte Summe\n" + +#: ../src/stacking/stacking.c:1140 +msgid "Pixel combination ......... median\n" +msgstr "Pixel-Verknüpfung ......... Median\n" + +#: ../src/stacking/stacking.c:1142 +msgid "Pixel combination ......... minimum\n" +msgstr "Pixel-Verknüpfung ......... Minimum\n" + +#: ../src/stacking/stacking.c:1144 +msgid "Pixel combination ......... maximum\n" +msgstr "Pixel-Verknüpfung ......... Maximum\n" + +#: ../src/stacking/stacking.c:1146 +msgid "Pixel combination ......... none\n" +msgstr "Pixel-Verknüpfung ......... keine\n" + +#: ../src/stacking/stacking.c:1152 ../src/stacking/stacking.c:1157 +#: ../src/stacking/stacking.c:1186 +msgid "none" +msgstr "keine" + +#: ../src/stacking/stacking.c:1160 +msgid "additive" +msgstr "additiv" + +#: ../src/stacking/stacking.c:1163 +msgid "multiplicative" +msgstr "multiplikativ" + +#: ../src/stacking/stacking.c:1166 +msgid "additive + scaling" +msgstr "additiv + skalierend" + +#: ../src/stacking/stacking.c:1169 +msgid "multiplicative + scaling" +msgstr "multiplikativ + skalierend" + +#: ../src/stacking/stacking.c:1174 +#, c-format +msgid "Normalization ............. %s\n" +msgstr "Normalisierung ............. %s\n" + +#: ../src/stacking/stacking.c:1178 +msgid "Pixel rejection ........... none\n" +msgstr "Sigma Clipping ........... none\n" + +#: ../src/stacking/stacking.c:1179 +msgid "Rejection parameters ...... none\n" +msgstr "Ausschleusungs-Parameter ...... none\n" + +#: ../src/stacking/stacking.c:1189 +msgid "percentile clipping" +msgstr "Percentiles Clipping" + +#: ../src/stacking/stacking.c:1192 +msgid "sigma clipping" +msgstr "Sigma Clipping" + +#: ../src/stacking/stacking.c:1195 +msgid "median sigma clipping" +msgstr "Median Sigma Clipping" + +#: ../src/stacking/stacking.c:1198 +msgid "Winsorized sigma clipping" +msgstr "Winsorized Sigma Clipping" + +#: ../src/stacking/stacking.c:1201 +msgid "linear fit clipping" +msgstr "Linear Fit Clipping" + +#: ../src/stacking/stacking.c:1204 +#, c-format +msgid "Pixel rejection ........... %s\n" +msgstr "Pixel-Ausschleusung ........... %s\n" + +#: ../src/stacking/stacking.c:1205 +#, c-format +msgid "Rejection parameters ...... low=%.3f high=%.3f\n" +msgstr "Ausschleusungs-Parameter ...... low=%.3f high=%.3f\n" + +#: ../src/stacking/stacking.c:1252 +msgid "Stacking result image" +msgstr "Stacking Ergebnis Bild" + +#: ../src/stacking/stacking.c:1275 ../src/stacking/stacking.c:1280 +msgid "Unsaved stacking result" +msgstr "Nicht gespeichertes Stacking-Ergebnis" + +#: ../src/stacking/stacking.c:1403 +#, c-format +msgid "Using %d MB memory maximum for stacking\n" +msgstr "Verwende höchstens %d MB Speicher zum Satcken\n" + +#: ../src/stacking/stacking.c:1651 +#, c-format +msgid "Stacking %d images of the %d of the sequence" +msgstr "Stacke %d von %d Bildern aus der Sequenz" + +#: ../src/stacking/upscaling.c:109 +#, c-format +msgid "" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" +msgstr "" +"Ihr System verfügt nicht über genügend Speicher für die Hochskalierung durch " +"\"Drizzle\" (%d MB frei, %d MB benötigt)\n" + +#: ../src/stacking/upscaling.c:116 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" +msgstr "" +"Bei aktuell verfügbarem Speicherbereich- (%.2f) und eingestellter Threads-" +"Anzahl (%d) wären bis zu (%d) weitere Threads möglich\n" +"\n" + +#: ../src/stacking/upscaling.c:153 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "Das Stacken erfolgt ohne Hochskalierung (ohne 'Drizzle')\n" + +#: ../src/stacking/upscaling.c:186 +msgid "Up-scaling sequence for stacking" +msgstr "Skaliere Sequenz für's Stacken" + +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "Manuell ausgewählte Bilder in der Sequenz" + +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "Beste Bilder, automatisch anhand von Registrierungs-Daten ausgewählt (PSF " +#~ "- FWHM)" + +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "Beste Bilder, automatisch anhand von Registrierungs-Daten ausgewählt (PSF " +#~ "- Rundheit)" + +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "Beste Bilder, automatisch anhand von Registrierungs-Daten ausgewählt " +#~ "(planetarisch)" + +#~ msgid "Based on FWHM" +#~ msgstr "FWHM-basiert" + +#~ msgid "Stack best:" +#~ msgstr "Stacken der besten Bilder:" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "Der vorgeschlagene Stacking_typ ist unbekannt (%s).\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "Median Stacking wird nur für FITS-Bilder und SER-Sequenzen unterstützt.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Median Stacking: öffne Bild %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Stacken mit Ausschleusung: öffne Bild %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Stacken mit Ausschleusung - Fehler: Bilder mit >3 Dimensionen werden " +#~ "nicht unterstützt\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "" +#~ "Stacken mit Ausschleusung - Fehler: nicht alle Bilder in der Sequenz " +#~ "haben dieselbe Größe\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Fehler bei der Sortierung nach Qualität: manchen Bilder haben nicht alle " +#~ "notwendigen Informationen im Kanal #%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Basierend auf FWHM < %.2f (%d Bilder)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Basierend auf Rundheit > %.2f (%d Bilder)" + +#~ msgid "Based on roundness" +#~ msgstr "Basierend auf Rundheit" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Basierend auf Qualität > %.2f (%d images)" + +#~ msgid "Based on quality" +#~ msgstr "Basierend auf Qualität" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Information" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Polar (Amplitude + Phase)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "ACHTUNG: diese Felder werden automatisch beim Öffnen aus der FITS-Datei " +#~ "gelesen. Hier vorgenommene Änderungen gelten ausschließlich für das " +#~ "aktuell geladene Bild." + +#~ msgid "Camera and Optics" +#~ msgstr "Kamera and Optik" + +#~ msgid "Camera & Optics" +#~ msgstr "Kamera and Optik" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Kehre zurück zum ursprünglichen Arbeitsverzeichnis, da das gespeicherte " +#~ "nicht mehr verfügbar ist\n" + +#~ msgid "BMP images, " +#~ msgstr "BMP Bilder, " + +#~ msgid "autoStretch" +#~ msgstr "Auto-Stretch" + +#~ msgid "Negative view" +#~ msgstr "Negativ Ansicht" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "Speicher-Verwaltung" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Benutze \"Dark GTK\" Theme\n" +#~ "(ggfs. Neustart erforderlich)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Manche Dialoge in SIRIL haben nicht-standardmäßig helle Farben. Beim Dark-" +#~ "Theme würde hellerer Text dort unlesbar sein. Durch Setzen des Häkchens " +#~ "ändert sich die Darstellung zugunsten besserer Lesbarkeit." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Wieviel des verfügbaren Speicherplatzes soll verwendet werden: " + +#~ msgid "Siril message" +#~ msgstr "Nachrichtvon SIRIL" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "Behalte Kompatibilität zu Bildern, die in\n" +#~ "umgekehrter Reihenfolge angelegt sind\n" +#~ "(KSTARS, EKOS, PixInsight, etc...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Ist diese Option gesetzt, versucht SIRIL die FITS-Datei in umgekehrter " +#~ "Reihenfolge auszulesen, um kompatibel zu KSTARS, PixInsight und ähnlichen " +#~ "zu bleiben." + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Bilder haben nicht dieselbe Größe (w = %d|%d, h = %d|%d)\n" + +#~ msgid "Manual" +#~ msgstr "Manuell" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "" +#~ "Klicken Sie auf das Bild, um Ihre eigenen Hintergrund-Stichproben zu " +#~ "nehmen." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "SIRIL nimmt automatisch Hintergrund-Stichproben." + +#~ msgid "Clear background samples." +#~ msgstr "Verwerfe Hintergrund-Stichproben." + +#~ msgid "Draw samples" +#~ msgstr "Stichproben einzeichnen" + +#~ msgid "Type of Extraction" +#~ msgstr "Art der Extraktion" + +#~ msgid "Box radius:" +#~ msgstr "Box-Radius:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "" +#~ "Dies ist der Abstand in Pixeln zwischen zwei angrenzenden Hintergrund-" +#~ "Stichproben-Boxen." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "Dies ist der Radius in Pixeln einer Hintergrund-Stichproben-Box. Mal 2 " +#~ "ergibt die Länge einer Box." + +#~ msgid "Sample Generation" +#~ msgstr "Stichproben-Erstellung" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Dieser Parameter gibt den Toleranzwert für die lokale Ausschleusung einer " +#~ "Stichprobe in Sigma-Einheiten an." + +#~ msgid "Local Rejection" +#~ msgstr "Lokale Ausschleusung" + +#~ msgid "Deviation: " +#~ msgstr "Abweichung: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "" +#~ "Toleranzwert der globalen Ausschleusung in Stichproben, in Sigma-" +#~ "Einheiten." + +#~ msgid "Unbalance:" +#~ msgstr "Ungleichgewicht:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Dieser Faktor wird mit dem Abweichungs-Parameter multipliziert, um mehr " +#~ "dunkle Pixel in die Hintergrund-Gradienten-Evaluierung einzubeziehen." + +#~ msgid "Global Rejection" +#~ msgstr "Globale Ausschleusung" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Anzahl der Stichproben-Boxen in einer Reihe." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Dieser Faktor wird mit dem Abweichungs-Parameter multipliziert, um mehr " +#~ "dunkle Pixel in die Hintergrund-Gradienten-Evaluierung einzubeziehen" + +#~ msgid "Interpolation" +#~ msgstr "Interpolation" + +#~ msgid "Show Image" +#~ msgstr "Zeige Bild" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Klicken Sie hier, um das Billd anzuzeigen." + +#~ msgid "Show Background" +#~ msgstr "Zeige Hintergrund-Gradient" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "" +#~ "Klicken Sie hier, um den berechneten Hintergrund-Gradienten anzuzeigen." + +#~ msgid "Compute" +#~ msgstr "Berechne" + +#~ msgid "Apply" +#~ msgstr "Anwenden" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Wendet die ausgewählte Korrektur an." + +#~ msgid "Star detection" +#~ msgstr "Stern-Erkennung" + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Kanal #%d: Hintergrund-Extraktion abgeschlossen.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Hintergrund-Extraktion: in Bearbeitung...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Nicht genügend Hintergrund Stichproben.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Der Hintergrund kann nicht aus sich selbst extrahiert werden. Klicken Sie " +#~ "auf \"\"Zeige Bild\"\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "" +#~ "Die Korrektur wird auf das Bild angewandt, indem Sie auf \"Zeige Bild\" " +#~ "klicken\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Subtraction durchgeführt...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "Division durchgeführt...\n" diff -Nru siril-0.9.10/po/el.po siril-0.9.11/po/el.po --- siril-0.9.10/po/el.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/el.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-14 09:33+0100\n" -"PO-Revision-Date: 2019-01-14 09:39+0200\n" +"POT-Creation-Date: 2019-04-26 11:31+0200\n" +"PO-Revision-Date: 2019-05-08 16:02+0300\n" "Last-Translator: Konstantinos Stavropoulos \n" "Language-Team: \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/gui/siril3.glade.h:1 @@ -219,10 +219,6 @@ msgstr "Εγγραφή ενός αστεριού (βαθύ ουρανού)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Περιστροφή 90 μοιρών, αριστερόστροφα" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -235,70 +231,74 @@ "όσο πιο ψηλά τόσο το καλύτερο. Οι στήλες Χ και Υ είναι η μετατόπιση σχετικά " "με την εικόνα αναφοράς." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "αρχείο" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "επιλεγμένο" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "ποιότητα" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:71 msgid "Red" msgstr "Κόκκινο" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "τρέχων κόκκινο αρχείο" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1922 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Κόκκινο κανάλι" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:72 msgid "Green" msgstr "Πράσινο" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "τρέχων πράσινο αρχείο" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Πράσινο κανάλι" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:73 msgid "Blue" msgstr "Μπλέ" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "Η αποθηκευμένη τιμή των επιλεγμένων εικονοστοιχείων θα εμφανιστεί εδώ." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "τρέχων μπλέ αρχείο" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Μπλέ κανάλι" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Περιστροφή 90 μοιρών, αριστερόστροφα" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Περιστροφή 90 μοιρών, δεξιόστροφα" @@ -321,8 +321,8 @@ "Εμφάνιση/Απόκρυψη της λίστας εικόνων στην αλληλουχία με δεδομένα εγγραφής" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Αρνητική προβολή" +msgid "Switch to normal and negative view" +msgstr "Μετάβαση σε κανονική και αρνητική προβολή" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -412,261 +412,61 @@ msgid "User" msgstr "Χρήστης" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Εξαγωγή Υποβάθρου" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Επίλυση Εικόνας" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Κλείσιμο παραθύρου." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Πολυωνυμική Παρεμβολή" +msgid "Start the plate solving algorithm." +msgstr "Εκκίνηση του αλγόριθμου επίλυσης εικόνας." #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Χειροκίνητα" +msgid "Start the photometric color calibration algorithm." +msgstr "Εκκίνηση του φωτομετρικού αλγόριθμου βαθμονόμησης χρώματος." #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "" -"Πρέπει να κάνετε κλικ στην εικόνα για να διαλέξετε τα δικά σας δείγματα " -"υποβάθρου." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Αυτόματο" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Το Sirl επιλέγει αυτόματα τα δείγματα υποβάθρου." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Καθαρισμός των δειγμάτων υποβάθρου." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Εμφάνιση δειγμάτων" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Τύπος Εξαγωγής" - -#: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "Ακτίνα κουτιού:" - -#: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "Διαχωρισμός κουτιού: " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "" -"Αυτή είναι η απόσταση σε εικονοστοιχεία ανάμεσα σε δυο γειτονικά κουτιά " -"δείγματος υποβάθρου." - -#: ../src/gui/siril3.glade.h:100 -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"Αυτή είναι η ακτίνα σε εικονοστοιχεία ενός κουτιού δείγματος υποβάθρου. " -"Πολλαπλασιάστε με το 2 για να έχετε το μήκος του κουτιού." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Δημιουργία Δειγμάτων" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Ανοχή: " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Αυτή η παράμετρος δείχνει την ανοχή της τοπικής απόρριψης δειγμάτων, σε " -"μονάδες σίγμα." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Τοπική απόρριψη" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Απόκλιση: " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "Ανοχή της καθολικής απόρριψης δειγμάτων, σε μονάδες σίγμα." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Aνισορροπία:" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Αυτός είναι ο παράγοντας πολλαπλασιασμένος με την παράμετρο απόκλισης έτσι " -"ώστε να συμπεριληφθούν περισσότερα σκοτεινά εικονοστοιχεία στην εκτίμηση " -"υποβάθρου." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Καθολική απόρριψη" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Δείγματα ανά σειρά: " - -#: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "Αυτός είναι ο αριθμός των κουτιών δείγματος σε μια σειρά." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"Αυτός είναι ο παράγοντας πολλαπλασιασμένος με την παράμετρο απόκλισης έτσι " -"ώστε να συμπεριληφθούν περισσότερα σκοτεινά εικονοστοιχεία στην εκτίμηση " -"υποβάθρου" - -#: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "Βαθμος Τάξης: " - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Επιλέξτε τον βαθμό της τάξης της πολυωνιμικής συνάρτησης που χρησιμοποιηθεί " -"στο fit.\n" -"Η αρχική τιμή είναι το 4.\n" -"Όσο μεγαλύτερος είναι ο βαθμός τάξης, τόσο πιο έντονη θα είναι η αφαίρεση " -"του βαθμιδωτού θορύβου." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Παρεμβολή" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Προβολή Εικόνας" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Κάντε κλικ σε αυτό το κουμπί για να δείτε την εικόνα." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Προβολή Υποβάθρου" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Κάντε κλικ σε αυτό το κουμπί για να δείτε το υπολογισμένο υπόβαθρο." - -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." -msgstr "" -"Επιλέξτε τον τύπο της διόρθωσης που θέλετε να εφαρμόσετε:\n" -"Αφαιρετική: χρησιμοποιείται κυρίως για την διόρθωση προσθετικών επιδράσεων, " -"όπως βαθμιδωτού θορύβου που προκαλούνται από φωτορύπανση ή το Φεγγάρι.\n" -"Διαιρετική: χρησιμοποιείται κυρίως για την διόρθωση πολλαπλασιαστικών " -"φαινομένων, όπως για παράδειγμα το βινιετάρισμα ή η διαφορική ατμοσφαιρική " -"απορόφηση. Όμως αυτός ο τύπος της λειτουργίας θα έπρεπε να να γίνεται με " -"διόρθωση Κυρίως-flat." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Αφαιρετική" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "Διαιρετική" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Διόρθωση" - -#: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "Υπολογισμός" - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "Αυτό θα υπολογίσει το συνθετικό υπόβαθρο." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Εφαρμογή" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "Αυτό θα εφαρμόσει την επιλεγμένη διόρθωση." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "Επίλυση Εικόνας" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "Εκκίνηση του αλγόριθμου επίλυσης εικόνας." - -#: ../src/gui/siril3.glade.h:134 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" "Αρχικές ισημερινές συντεταγμένες. Η εισαγόμενη τιμή πρέπει να είναι στην " "εικόνα." -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 msgid "0" msgstr "0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "Ορθή Αναφορά: " -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 msgid "Declination: " msgstr "Απόκλιση: " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "S" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "" "Το κουμπί αυτό είναι επιλεγμένο για αρνητική απόκλιση (νότιο ημισφαίριο)." -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" "Εισάγετε το αναγνωριστικό ή το όνομα του αντικειμένου το οποίο πρέπει να " "είναι στην εικόνα." -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 msgid "Start searching." msgstr "Έναρξη αναζήτησης." -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -677,25 +477,25 @@ "εισαγόμενη τιμή δεν είναι ακριβής, προσπαθήστε να δώσετε μια τιμή με σφάλμα " "το οποίο να μην ξεπερνά το 20%." -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" "Μέγεθος εικονοστοιχείου σε μικρόμετρα. Η εικόνα θεωρείται ότι έχει τετράγωνα " "εικονοστοιχεία." -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 msgid "Focal distance (mm):" msgstr "Εστιακή απόσταση (mm):" -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 msgid "Pixel size (µm):" msgstr "Μέγεθος εικονοστοιχείου (μm):" -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 msgid "Resolution: " msgstr "Ανάλυση: " -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." @@ -703,11 +503,11 @@ "Η ανάλυση της εικόνας θα καθοριστεί αυτόματα από τις τιμές της εστιακής " "απόστασης και του μεγέθους του εικονοστοιχείου." -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "Αποκτήστε μετα-δεδομένα από την εικόνα" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." @@ -715,23 +515,23 @@ "Κάντε κλικ σε αυτό το κουμπί για να πάρετε εστιακή και τιμή εικονοστοιχείου " "από την κεφαλίδα του αρχείου, εάν υπάρχουν." -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "Αναστροφέας" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Όνομα" -#: ../src/gui/siril3.glade.h:153 -msgid "Image Parameters" -msgstr "Παράμετροι Εικόνας" +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Παράμετροι Εικόνας" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "Κατάλογος Περιορισμού Μεγέθους: " -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." @@ -739,11 +539,11 @@ "Μέγιστο μέγεθος αστεριού που χρησιμοποιείται στην αναζήτηση των καταλόγων. " "Όσο πιο ευρύ το πεδίο, τόσο πιο χαμηλή είναι η τιμή." -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 msgid "Auto" msgstr "Αυτόματο" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." @@ -751,18 +551,19 @@ "Ο περιορισμός του μεγεθους προσδιορίζεται αυτόματα με την προσέγγιση του " "οπτικού πεδίου." -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "Online " -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -773,26 +574,27 @@ "stellar magnitude 6.5 or brighter, which is roughly every star visible to " "the naked eye from Earth. The catalog contains 9,110 objects." msgstr "" -"Επιλέξτε τον online κατάλογο εναντίον ενός άλλου που θέλετε να συγκρίνετε " -"την εικόνα.\n" +"Επιλέξτε τον online κατάλογο με τον οποίο θέλετε να συγκρίνετε την εικόνα.\n" "* Ο κατάλογος TYCHO-2 περιέχει θέσεις, κατάλληλες κινήσεις και φωτομετρικά " "δεδομένα δύο χρωμάτων για 2.539.913 από τα φωτεινότερα αστέρια του γαλαξία " "μας.\n" -"* Ο NOMAD είναι μια απλή συγχώνευση δεδομένων από τους καταλόγους " -"Hipparcos, Tycho-2, UCAC-2 και USNO-B1, που συμπληρώνονται με φωτομετρικά " -"στοιχεία από την τελική κυκλοφορία του καταλόγου 2MASS πηγαίων σημείων.\n" +"* Ο NOMAD είναι μια απλή συγχώνευση δεδομένων από τους καταλόγους Hipparcos, " +"Tycho-2, UCAC2, Yellow-Blue 6 και USNO-B, για αστρομετρία και οπτική " +"φωτομετρία και συμπληρώνονται με το 2MASS στο σχεδόν υπέρυθρο. Η σχεδόν 100 " +"GB βάση δεδομένων περιέχει αστρομετρικά και φωτομετρικά δεδομένα για σχεδόν " +"1.1 δισεκατομμύρια αστέρια.\n" "* Το Gaia Data Release 2 κυκλοφόρησε στις 25 Απριλίου 2018. Η αστρομετρική " "λύση των πέντε παραμέτρων, οι θέσεις στον ουρανό (α, δ), οι παράλλαξες, και " "οι κατάλληλες κινήσεις, δίνονται για περισσότερες από 1.300.000.000 πηγές, " "με περιορισμό μεγέθους G = 21.\n" -"* Το PPMXL είναι ένας κατάλογος των θέσεων, κατάλληλωνς κινήσεων, 2MASS-και " +"* Το PPMXL είναι ένας κατάλογος των θέσεων, κατάλληλων κινήσεων, 2MASS-και " "οπτική φωτομετρία των 900.000.000 αστεριών και γαλαξιών.\n" "* Ο Κατάλογος Φωτεινών Αστέρων είναι ένας κατάλογος αστεριών που απαριθμεί " "όλα τα αστέρια αστρικού μεγέθους 6,5 ή φωτεινότερου, το οποίο είναι περίπου " "κάθε αστέρι ορατό στο γυμνό μάτι από την Γη. Ο κατάλογος περιέχει 9.110 " "αντικείμενα." -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." @@ -800,15 +602,15 @@ "Ο online κατάλογος καθορίζεται αυτόματα με την προσέγγιση του οπτικού πεδίου " "και του μεγέθους." -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "Παράμετροι Καταλόγου" +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Παράμετροι Καταλόγου" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 msgid "Manual detection" msgstr "Χειροκίνητη ανίχνευση" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " @@ -819,15 +621,85 @@ "αρκετά αστέρια. Παρακαλώ, προσπαθήστε να επιλέξετε τα πιο φωτεινά αστέρια " "στην εικόνα." -#: ../src/gui/siril3.glade.h:169 -msgid "Star detection" -msgstr "Ανίχνευση Αστεριού" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Ανίχνευση Αστεριού" -#: ../src/gui/siril3.glade.h:170 +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Αυτόματη ανίχνευση" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Αποεπιλέξτε αυτό το κουμπί αν θέλετε να επιλέξετε την αναφορά υποβάθρου " +"μόνοι σας. Θα μπορούσε να είναι χρήσιμο όταν τα νεφελώματα καλύπτουν σχεδόν " +"όλη την εικόνα." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "x συντεταγμένη της αρχής για την επιλογή του υποβάθρου" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "y συντεταγμένη της αρχής για την επιλογή του υποβάθρου" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Πλάτος της επιλογής υποβάθρου" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Ύψος της επιλογής υποβάθρου" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Επιλεγμένη περιοχή" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Χρήση τρέχουσας επιλογής" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Πρέπει να ορίσετε μια επιλογή η οποία αναπαριστά το πραγματικό υπόβαθρο της " +"εικόνας, προσπαθώντας να μην συμπεριλάβετε όλα τα αστέρια ή άλλα αστρικά " +"αντικείμενα." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Αναφορά Υποβάθρου" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "Αυτή η επιλογή καθορίζει σε ποιο κανάλι ομαλοποιουνται οι παράγοντες." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "Στην υψηλότερη" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "Στη μεσαία" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "Στη χαμηλότερη" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Παράγοντας Ομαλοποίησης καναλιού" + +#: ../src/gui/siril3.glade.h:142 msgid "Median Filter" msgstr "Φίλτρο Διαμέσου" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:143 msgid "" "Kernel Size. This is the odd size of the neighborhood considered for each " "pixel." @@ -835,11 +707,11 @@ "Μέγεθος πυρήνα. Αυτό είναι το μονό μέγεθος της γειτονικής περιοχής που " "λαμβάνεται υπόψη για κάθε εικονοστοιχείο." -#: ../src/gui/siril3.glade.h:172 +#: ../src/gui/siril3.glade.h:144 msgid "Modulation:" msgstr "Διαμόρφωση:" -#: ../src/gui/siril3.glade.h:173 +#: ../src/gui/siril3.glade.h:145 msgid "" "Modulation parameter set in the [0, 1] range.\n" "When this parameter is equal to 1, no modulation is applied.\n" @@ -849,15 +721,15 @@ "Όταν αυτή η παράμετρος είναι ίση με το 1, τότε δεν εφαρμόζεται διαμόρφωση.\n" "Αν αυτή η παράμετρος είναι κενή, δεν εφαρμόζεται φίλτρο." -#: ../src/gui/siril3.glade.h:176 +#: ../src/gui/siril3.glade.h:148 msgid "Kernel Size: " msgstr "Μέγεθος πυρήνα: " -#: ../src/gui/siril3.glade.h:177 +#: ../src/gui/siril3.glade.h:149 msgid "Iterations:" msgstr "Επαναλήψεις:" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -867,73 +739,178 @@ "Είναι χρήσιμο όταν η παράμετρος διαμόρφωσης είναι διαφορετική του 1 " "βοηθόντας την όλη διαδικασία να συγκλίνει σε καλύτερο αποτέλεσμα." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Χρήση φωτεινότητας" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Εκτέλεση στατιστικού υπολογισμού" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Κλείσιμο παραθύρου" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 msgid "Normalized Real [0, 1]" msgstr "Ομαλοποιημένος Πραγματικός [0, 1]" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Δεν έχει γίνει επιλογή" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 msgid "Asinh Transformation" msgstr "Μετασχηματισμός Asinh" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "Παράγοντας τεντώματος: " -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "" "H παράμετρος του συντελεστή τεντώματος επιτρέπει να ρυθμίσετε το μη γραμμικό " "συντελεστή." -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "Μαύρο Σημείο: " -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "Σταθερή τιμή που αφαιρείται από την εικόνα." -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "Χρήση χώρου εργασίας RGB" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Εξαγωγή Υποβάθρου" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Αυτό θα υπολογίσει το συνθετικό υπόβαθρο και θα εφαρμόσει την επιλεγμένη " +"διόρθωση." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Βαθμος Τάξης: " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Επιλέξτε τον βαθμό της τάξης της πολυωνιμικής συνάρτησης που χρησιμοποιείτε " +"στο fit.\n" +"Η αρχική τιμή είναι το 4.\n" +"Όσο μεγαλύτερος είναι ο βαθμός τάξης, τόσο πιο έντονη θα είναι η αφαίρεση " +"του βαθμιδωτού θορύβου." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Δείγματα ανά σειρά: " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Αριθμός των δειγμάτων ανά γραμμή τα οποία θα τοποθετηθούν αυτόματα." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Ανοχή της ολικής απόρριψης δείγματος, σε μονάδες σίγμα. Μειώνοντας αυτή την " +"τιμή, το Siril θα είναι πιο περιοριστικό για την επιλογή δειγμάτων υποβάθρου." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Ανοχή: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Δημιουργία" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Κάντε κλικ εδώ για να δημιουργήσετε αυτόματα καθορισμένα δείγματα." + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Κάντε κλικ εδώ για να καθαρίσετε όλα τα δείγματα." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"Μπορείτε επίσης να ορίσετε δείγματα με χειροκίνητο τρόπο.\n" +"Με αριστερό κλικ προσθέτει δείγματα ενώ με το δεξί κλικ τα αφαιρεί." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Πολυωνυμική Παρεμβολή" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Διόρθωση: " + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Επιλέξτε τον τύπο της διόρθωσης που θέλετε να εφαρμόσετε:\n" +"Αφαιρετική: χρησιμοποιείται κυρίως για την διόρθωση προσθετικών επιδράσεων, " +"όπως βαθμιδωτού θορύβου που προκαλούνται από φωτορύπανση ή το Φεγγάρι.\n" +"Διαιρετική: χρησιμοποιείται κυρίως για την διόρθωση πολλαπλασιαστικών " +"φαινομένων, όπως για παράδειγμα το βινιετάρισμα ή η διαφορική ατμοσφαιρική " +"απορόφηση. Όμως αυτός ο τύπος της λειτουργίας θα έπρεπε να να γίνεται με " +"διόρθωση Κυρίως-flat." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Αφαιρετική" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Διαιρετική" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Διόρθωση" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:835 msgid "Banding Reduction" msgstr "Μείωση Λωρίδων" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "Προστασία από Ανοιχτούς Τόνους" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "Κάθετες λωρίδες" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Επιλέξτε αυτό το κουτί αν οι λωρίδες είναι κάθετες." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Εφαρμογή στην αλληλουχία" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -941,43 +918,43 @@ "Εάν μια αλληλουχία έχει φορτωθείκαι αυτό είναι ενεργοποιημένο, τότε θα γίνει " "επεξεργασία σε όλες τις εικόνες της αλληλουχίας." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Πρόθεμα εξόδου:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "" "Πρόθεμα του ονόματος των εικόνων που προκύπτουν από την διαδικασία μείωσης " "λωρίδων." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "1/Παράγοντα Σίγμα" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Σύνθεση εικόνας" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Σύνθεση εικόνας πολλαπλών επιπέδων" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Ευθυγραμμίσεις επιπέδου" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "δεν φορτώθηκε" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Ρύθμιση φωτεινότητας επιπέδων" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -987,11 +964,11 @@ "ώστε να μην υπερχειλίσουν όταν γίνεται σύνθεση (βασίζεται στην μέγιστη τιμή " "κάθε εικόνας). Η απόχρωση των χρωμάτων δεν αλλάζει." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Οριστικοποίηση ισσορπίας χρώματος" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -1004,7 +981,7 @@ "Μεταβάλλοντας τις παραμέτρους σε αυτό το παράθυρο μετά, θα ακυρώσει την " "ισορροπία χρωμάτων, και θα πρέπει να ξαναγίνει." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -1012,19 +989,19 @@ "Τύπος σύνθεσης χρώματος βασισμένος στο Lumminance. Αντιπροσωπεύουν τον τρόπο " "προσθήκης πληροφοριών χρώματος στα δεδομένα Lumminance." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "Σύνθεση HSL" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "Σύνθεση HSV" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "Σύνθεση CIE L*a*b*" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -1032,52 +1009,52 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Δεν πρέπει να κάνετε συνδιασμό LRGB με γραμμικές εικόνες. " "Επεξεργαστείτε πρώτα τις εικόνες." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Ευθυγράμμιση επιπέδων με αυτό το επίπεδο αναφοράς:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Ευθυγράμμιση" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "Αυτόματη ευθυγράμμιση χρησιμοποιώντας την επιλεγμένη μέθοδο εγγραφής." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Περικοπή εικόνας σε κοινή περιοχή μετά την ευθυγράμμιση" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "και χρησιμοποιόντας αυτή την μέθοδο ευθυγράμμισης:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "Για σύνθεση LRGB, το επίπεδο αναφοράς θα πρέπει να είναι Luminance." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:70 msgid "Luminance" msgstr "Luminance" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Αισθητική Διόρθωση" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Κλείσιμο τρέχοντος παραθύρου" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Εφαρμογή Αισθητικής Διόρθωσης" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1085,18 +1062,18 @@ "Επιλέξτε αν τα καρέ του στόχου είναι εικόνες CFA.\n" "Αποεπιλέξτε αν οι εικόνες προέρχονται από μονόχρωμο αισθητήρα." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "" "Πρόθεμα του ονόματος των εικόνων που προκύπτουν από την διαδικασία " "αισθητικής διόρθωσης." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "Ψυχρό Σίγμα:" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1105,11 +1082,11 @@ "πρέπει να διαφέρει από την τιμή των γειτονικών ώστε να θεωρηθεί ψυχρό " "εικονοστοιχείο." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "Θερμό Σίγμα:" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1118,28 +1095,28 @@ "πρέπει να διαφέρει από την τιμή των γειτονικών ώστε να θεωρηθεί θερμό " "εικονοστοιχείο." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Αυτόματη ανίχνευση" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "Περικοπής αληλουχίας" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "" "Πρόθεμα του ονόματος των εικόνων που προκύπτουν από την διαδικασία περικοπής." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Deconvolution" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Σίγμα:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." @@ -1147,150 +1124,133 @@ "Αυτό αναπαριστά το μέγεθος του γκαουσιανού πυρήνα που εφαρμόζεται. Όσο πιο " "μεγάλη η τιμή τόσο πιο ισχυρή είναι η επίδραση." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Αλγόριθμος:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Αριθμός επαναλήψεων." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Μήνυμα Siril" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Μετασχηματισμός Fourier" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "Όνομα του αρχείου του μεγέθους: " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "Όνομα του αρχείου φάσης: " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "Βαθμός: " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Τύπος: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "modulus" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "φάση" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Κεντραρισμένο" -# where does this string appear? -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Κανονικό" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "Πολικό (Μέγεθος + Φάση)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "Άμεσος Μετασχηματισμός" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "Μέγεθος της εικόνας: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Φάση της εικόνας: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "Επιλέξτε Μέγεθος" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "Επιλέξτε Φάση" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Αντίστροφος Μετασχηματισμός" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Εξαγωγή Καναλιού" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Όνομα αρχείου για το πρώτο αρχείο FITS που θα σωθεί." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Όνομα αρχείου για το δεύτερο αρχείο FITS που θα σωθεί." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Όνομα αρχείου για το τρίτο αρχείο FITS που θα σωθεί." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Κανάλι #1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Κανάλι #2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Κανάλι #3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "" "Επιλέξτε τη χρωματική λειτουργία που αντιστοιχεί με τις τρεις εξαγόμενες " "εικόνες" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Χρωματική Λειτουργία:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Εξαγωγή Επιπέδων Κυματιδίων" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Κλείσιμο" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Εφαρμογή εξαγωγής κυματιδίου." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." @@ -1298,289 +1258,273 @@ "Αριθμός επιπέδων κυματιδίου. Μπορείτε να επιλέξετε μέχρι 6 επίπεδα για " "υπολογισμό κυματιδίων." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Τύπος αλγόριθμου" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "BSpline" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Αρ. Επιπέδων: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Αλγόριθμος Παρεμβολής:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Ιστόγραμμα" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Οριζόντια μεγέθυνση" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Επαναφορά μεγέθυνσης στο 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Λογαριθμική κλίμακα" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Ισσοροπία Ενδιάμεσων τόνων" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "Αποκοπή Σκοτεινών τόνων" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "Αποκοπή Ανοιχτών τόνων" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 msgid "Show grids" msgstr "Προβολή πλεγμάτων" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "Προβολή καμπύλης MTF" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Εφαρμογή αυτόματου τεντώματος στην εικόνα" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "Τέντωμα" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "Ανοιχτοί τόνοι: " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "Ενδιάμεσοι τόνοι: " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Σκοτεινοί τόνοι: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Αποκοπή (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Αριθμός αποκομένων εικονοστοιχείων (σκοτεινοί τόνοι)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "Αριθμός αποκομένων εικονοστοιχείων (ανοιχτοί τόνοι)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Επαναφορά" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Εφαρμογή μετασχηματισμού ιστογράμματος" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "Αναδειγματοληψία" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "Κλίμακα X (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Κλίμακα Y (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Διατήρηση Λόγου Διαστάσεων" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Τύπος αλγόριθμου που θα χρησιμοποιηθεί για αναδειγματοληψία" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Κοντινότερο Γειτονικό" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Διγραμμική παρεμβολή (προεπιλεγμένο)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Σχέση Περιοχής Εικονοστοιχείου" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Δικυβική" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "Φίλτρο Βαθμιδωτής Περιστροφής" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "Θα εφαρμοστεί Φίλτρο Βαθμιδωτής Περιστροφής." -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " msgstr "Ακτινωτή μετατόπιση:" -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "" "Η ακτινική μετατόπιση χρησιμοποιείται για τον υπολογισμό της βαθμιδωτής " "περιστροφής." -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " msgstr "Μετατόπιση περιστροφής:" -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "" "Μετατόπιση περιστροφής που χρησιμοποιείται για τον υπολογισμό της βαθμιδωτής " "περιστροφής" -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." msgstr "Συντεταγμένη X του κέντρου των πολικών συντεταγμένων." -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." msgstr "Συντεταγμένη X του κέντρου των πολικών συντεταγμένων." -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "Κέντρο Χ:" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "Κέντρο Y:" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "όνομα βάσης των εικόνων που έχουν μετατραπεί (o 'προορισμός' στο " "dest1.fit)" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "όνομα βάσης των εικόνων που έχουν μετατραπεί (ο 'προορισμός' στο dest1.fit)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Όνομα Αρχείου" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "Ακέραιος 8-bit χωρίς πρόσημο" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "Ακέραιος 16-bit χωρίς πρόσημο" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Τύπος Δείγματος" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Κανένα" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "Συμπίεση deflate" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Συμπίεση" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Περιγραφή Εικόνας" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Πνευματικά δικαιώματα εικόνας" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Ποιότητα: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "Δεν είναι διαθέσιμο" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "Ακέραιος 16-bit με πρόσημο" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Τύπος Δείγματος" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Αποθήκευση τιμών MIPS-HI και MIPS-LO" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "Ενσωματωμένα Δεδομένα" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Ρυθμίσεις" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Χρήση αυτόματου πολλαπλασιαστή φωτός ημέρας" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1589,7 +1533,7 @@ "υπολογίζονται αυτόματα. Μπορείτε να επιλέξετε τον δικό σας πολλαπλασιαστή με " "το να αποεπιλέξετε αυτό το κουτί." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." @@ -1597,7 +1541,7 @@ "Ορίστε την ισορροπία λευκού στο RAW. Η τιμή για την Κόκκινη κλίμακα είναι " "σχετική με Πράσινη." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." @@ -1605,19 +1549,19 @@ "Ορίστε την ισορροπία λευκού στο RAW. Η τιμή για την Μπλε κλίμακα είναι " "σχετική με Πράσινη." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Φωτεινότητα" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Διαίρεση του άσπρου επιπέδου με αυτό τον αριθμό." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Να μην γίνει διόρθωση μαύρου σημείου" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1625,62 +1569,62 @@ "Όταν αυτή η επιλογή ενεργοποιηθεί, δεν εφαρμόζεται διόρθωση μαύρου σημείου " "στις εικόνες RAW." -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "Ρύθμιση Χρώματος Εικόνας" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "" "Επιλέξτε μια μέθοδο παρεμβολής για την εκτέλεση demosaic πριν το άνοιγμα της " "εικόνας." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Υψηλής ταχύτητας, διγραμμική χαμηλής ποιότητας" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Adaptive Homogeneity-Directed (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Variable Number of Gradients (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Patterned Pixel Grouping (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Παρεμβολή Πίνακα Εικόνας" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "Δεν έχει εφαρμοστεί διόρθωση γάμμα στην εικόνα." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "Καμπύλη BT.709" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Εφαρμόστε μια συγκεκριμένη καμπύλη γάμμα στην εικόνα." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "Καμπύλη sRGB" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Εφαρμόστε μια συγκεκριμένη καμπύλη γάμμα στην εικόνα" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Διρόρθωση Γάμμα Εικόνας" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" @@ -1688,7 +1632,7 @@ "Χρήση ισορροπίας άσπρου,\n" "καθορισμένη από την κάμερα" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1699,7 +1643,7 @@ "κουτί, το libraw θα προσπαθήσει να χρησιμοποιήσει δεδομένα καθορισμένα από " "την κάμερα σας." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1707,7 +1651,7 @@ "Υπολογισμός της ισορροπίας άσπρου με υπολογισμό\n" " του μέσου όρου ολόκληρης της εικόνας" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1718,56 +1662,24 @@ "κουτί, το libraw θα υπολογίσει την λευκή ισορροπία υπολογίζοντας τον μέσο " "όρο ολόκληρης της εικόνας." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Ισορροπία Άσπρου εικόνας" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "" "Αποκωδικοποιητής τύπου αρχείων DSLR RAW βασισμένος στην βιβλιοθήκη libraw." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "Debayer DSLR RAW" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Επιλέξτε τη διάταξη Bayer της κάμερας σας." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Διάταξη Bayer/mosaic: " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Επιλέξτε μια μέθοδο παρεμβολής για την εκτέλεση demosaic." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Παρεμβολή Debayer: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Διγραμμική" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Υπερ-εικονοστοιχείο" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Διάταξη Βayer από την επικεφαλίδα του αρχείου αν είναι διαθέσιμη" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1778,146 +1690,116 @@ "λάθος αποεπιλέξτε αυτό το κουτί και διαλέξτε χειροκίνητα την διάταξη Bayer " "από το παρακάτω κουτί." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"Βεβαιώστε τη συμβατότητα με τις αποθηκευμένες εικόνες\n" -"σε πάνω-κάτω προσανατολισμό (KSTARS/EKOS, \n" -"PixInsight, και πιθανώς άλλα...)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Debayer με προσανατολισμό από κάτω προς τα πάνω" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." -msgstr "" -"Αν το κουτί επιλεχθεί, το Siril θα προσπαθήσει να διασφαλίσει συμβατότητα " -"KSTARS (και PixInsight) με την ανάγνωση εικόνων FITS με ταξινόμηση από πάνω " -"προς τα κάτω." - -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Άλλο debayer" +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Το Siril διαβάζει δεδομένα με προσανατολισμό από κάτω προς τα πάνω. Εάν το " +"λογισμικό λήψης αποθήκευσε δεδομένα με προσανατολισμό από κάτω προς τα πάνω " +"(όπως συνήθως κάνουν), πρέπει να επιλέξετε αυτό το κουτί ώστε να γίνει το " +"debayer του αρχείου με τον σωστό προσανατολισμό." -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Εστιακή απόσταση (mm): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Τέντωμα του CFA FITS από DSLR σε 16-bit" -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Διάσταση Χ εικονοστοιχείου (μικρά): " +#: ../src/gui/siril3.glade.h:366 +msgid "" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"Εάν τα δεδομένα RAW προέρχονται από DSLR κάμερα και εάν οι πληροφορίες " +"ομαλοποίησης ήταν αποθηκευμένες στην κεφαλίδα του FITS, τότε επιλέγοντας " +"αυτή την επιλογή θα γινει τεντώμα της εικόνας σε 16-bit." -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:367 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." -msgstr "" -"Καθαρισμός όλων των πεδίων. Αν σώσετε την εικόνα αργότερα, η επικεφαλίδα δεν " -"θα περιέχει δεδομένα σχετικά με την εστιακή απόσταση ή το μέγεθος του " -"αισθητήρα." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"Λόγω περιορισμών του αλγορίθμου πιο σύνθετοι αλγόριθμοι demosaic δεν μπορούν " +"να χρησιμοποιηθούν στην σώρευση απόρριψης. Οι δοκιμές μας έδειξαν επίσης ότι " +"δεν υπάρχει κέρδος στην ποιότητα όταν χρησιμοποιούνται πολλές εικόνες, ενώ ο " +"χρόνος επεξεργασίας αυξάνεται 20 φορές." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Αν η διάσταση του εικονοστοιχείου Y δεν φορτωθεί αυτόματα, χρησιμοποιώντας " -"την επικεφαλίδα του αρχείου, μπορείτε να ενημερώσετε το πεδίο αυτό." - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Διάσταση Y εικονοστοιχείου (μικρά): " +"Προειδοποίηση: για τo SER demosaic της στιγμής, χρησιμοποιείται πάντα ο " +"διγραμμικός αλγόριθμος." -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "Ομαδοποίηση: " +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Επιλέξτε τη διάταξη Bayer της κάμερας σας." -#: ../src/gui/siril3.glade.h:396 -msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." -msgstr "" -"Αν η ομαδοποίηση δεν φορτωθεί αυτόματα, μπορείτε να ενημερώσετε αυτό το " -"σύνθετο πλαίσιο, χρησιμοποιώντας την επικεφαλίδα του αρχείου." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Διάταξη Bayer/mosaic: " -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "Το FWHM θα μετατραπεί σε arcsec" +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Επιλέξτε μια μέθοδο παρεμβολής για την εκτέλεση demosaic." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Αν η εστιακή απόσταση δεν φορτωθεί αυτόματα, χρησιμοποιώντας την επικεφαλίδα " -"του αρχείου, μπορείτε να ενημερώσετε το πεδίο." +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Παρεμβολή Debayer: " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Αν η διάσταση εικονοστοιχείου Χ δεν φορτωθεί αυτόματα, χρησιμοποιώντας την " -"επικεφαλίδα του αρχείου, μπορείτε να ενημερώσετε το πεδίο αυτό." +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Διγραμμική" -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "Η ομαδοποίηση δεν είναι στην τιμή του μεγέθους του εικονοστοιχείου" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" -"Επιλέξτε αυτό το κουμπί αν η ομαδοποίηση δεν θα ληφθεί υπόψη στην τιμή " -"μεγέθους του εικονοστοιχείου. Σε αυτή την περίπτωση, θα χρησιμοποιηθεί η " -"τιμή της ομαδοποίησης στο παρακάτω κουτί συνδυασμού." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Κάμερα και Οπτικά" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Υπερ-εικονοστοιχείο" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αυτά τα πεδία διαβάζονται αυτόματα από το αρχείο FITS με το " -"άνοιγμα του και ρυθμίζοντας τα εδώ θα δουλέψουν μόνο για το τρέχων φορτωμένο " -"αρχείο." +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Κάμερα & Οπτικά" +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Άλλο debayer" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "" "Κέρδος μετατροπέα A/D σε ηλεκτρόνια ανά ADU. Προεπιλεγμένη τιμή είναι 2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "Κέρδος ADC:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Κάμερα" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Εσωτερική ακτίνα: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Εξωτερική ακτίνα:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." @@ -1925,7 +1807,7 @@ "Εσωτερική ακτίνα του δακτυλίου που χρησιμοποιείται για τη μέτρηση του " "τοπικού υποβάθρου. Προεπιλεγμένη τιμή είναι 20,00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." @@ -1933,32 +1815,23 @@ "Εξωτερική ακτίνα του δακτυλίου χρησιμοποιείται για τη μέτρηση του τοπικού " "υποβάθρου. Προεπιλεγμένη τιμή είναι 30,00." -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "" -"Μέγεθος του δακτυλίου μέτρησης του επιπέδου υποβάθρου (εικονοστοιχεία):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Υπόβαθρο" +#: ../src/gui/siril3.glade.h:386 +msgid "Size of the annulus for background level measurement" +msgstr "Μέγεθος του δακτυλίου για την μέτρηση του επιπέδου του υποβάθρου" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Επαναφορά των προεπιλογών" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Επαναφορά των προεπιλεγμένων παραμέτρων" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 msgid "Photometry" msgstr "Φωτομετρία" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "Επαναφορά του προεπιλεγμένου καταλόγου αποθήκευσης αναίρεσης" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:390 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1966,85 +1839,86 @@ "Επιλέξτε ένα υπάρχων κατάλογο. Σιγουρευτείτε ότι έχετε άδειες εγγραφής και " "αρκετό χώρο." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:391 msgid "Select Swap Directory" msgstr "Επιλέξτε κατάλογο αποθήκευσης αναίρεσης" -#: ../src/gui/siril3.glade.h:420 +#: ../src/gui/siril3.glade.h:392 +msgid "Restore the defaut swap storage directory" +msgstr "Επαναφορά του προεπιλεγμένου καταλόγου αποθήκευσης αναίρεσης" + +#: ../src/gui/siril3.glade.h:393 msgid "Swap Storage Directory" msgstr "Κατάλογος Αποθήκευσης Αναίρεσης" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Αναλογία της διαθέσιμης μνήμης που χρησιμοποιείται: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:394 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." -msgstr "" -"Η μνήμη που χρησιμοποιείται αντιστοιχεί σε αυτή την τιμή επί την συνολική " -"διαθέσιμη μνήμη.\n" -"ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Μειώνοντας τον λόγο της διαθέσιμης μνήμης για τους " -"υπολογισμούς θα μειώσει τις επιδόσεις." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" +msgstr "" +"Ορίζει ένα νέο λόγο της ελεύθερης μνήμης στη μνήμη που χρησιμοποιείται για " +"τη σώρευση. Η τιμή πρέπει να είναι μεταξύ 0.05 και 2, ανάλογα με τις άλλες " +"δραστηριότητες του μηχανήματος. Ένας υψηλότερος λόγος θα πρέπει θα επιτρέψει " +"στο Siril να σωρεύσει γρηγορότερα, αλλά θέτοντας τον λόγο της μνήμης που " +"χρησιμοποιείται για σώρευση πάνω από 1 θα απαιτήσει τη χρήση της μνήμης από " +"τον δίσκο, η οποία είναι πολύ αργή και δεν συνιστάται" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Διαχείρηση Μνήμης" +#: ../src/gui/siril3.glade.h:395 +msgid "RAM ratio" +msgstr "Αναλογία RAM" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:396 msgid "Type of extension: " msgstr "Τύπος προέκτασης: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:397 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:398 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:399 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:400 msgid "FITS Format" msgstr "Τύπος Αρχείου FITS" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:401 msgid "Don't ask before quitting" msgstr "Να μην ρωτηθώ πριν την έξοδο" -#: ../src/gui/siril3.glade.h:431 +#: ../src/gui/siril3.glade.h:402 msgid "Confirmation dialog" msgstr "Διάλογος επικύρωσης" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"Γίνεται χρήση σκοτεινού θέματος GTK\n" -"(μπορεί να χρειαστεί επανεκκίνηση)" +#: ../src/gui/siril3.glade.h:403 +msgid "Change the theme of the interface." +msgstr "Αλλαγή του θέματος της επιφάνειας εργασίας." -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Μερικοί διάλογοι του Siril έχουν μη τυποποιημένα φωτεινά χρώματα. Με ένα " -"σκοτεινό θέμα, όπου το κείμενο είναι επίσης φωτεινό, δεν είναι αναγνώσιμο. " -"Επιλέγοντας εδώ θα αλλάξει τα μη τυποποιημένα χρώματα σε σκοτεινά." +#: ../src/gui/siril3.glade.h:404 +msgid "Automatic" +msgstr "Αυτόματο" + +#: ../src/gui/siril3.glade.h:405 +msgid "Dark theme" +msgstr "Σκοτεινό θέμα" + +#: ../src/gui/siril3.glade.h:406 +msgid "Light theme" +msgstr "Φωτεινό θέμα" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:407 msgid "Remember window positions" msgstr "Αποθήκευση θέσεων των παραθύρων" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:408 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." @@ -2052,11 +1926,11 @@ "Θυμάται τις θέσεις των παραθύρων προβολής. Αυτή η δυνατότητα ενδέχεται να " "μην λειτουργεί σε όλες τις αρχιτεκτονικές." -#: ../src/gui/siril3.glade.h:437 +#: ../src/gui/siril3.glade.h:409 msgid "Look and feel" msgstr "Look and feel" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:410 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2068,361 +1942,385 @@ "διαδρομή ανά γραμμή με όσες γραμμές θέλετε. Ωστόσο, θα πρέπει να έχετε υπόψη " "ότι όσο περισσότερα μονοπάτια ελέγχονται τόσο αργότερη είναι η εκκίνηση." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:411 msgid "Scripts Storage Directories" msgstr "Κατάλογοι Αποθήκευσης Δεσμών Ενεργειών" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:412 msgid "Misc." msgstr "Διάφορα" -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:413 msgid "Dynamic PSF" msgstr "Δυναμικό PSF" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:414 msgid "Ch." msgstr "Κανάλι " -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:415 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:416 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:417 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:418 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:419 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:420 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:421 msgid "Mag" msgstr "Μέγεθος" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:422 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:423 msgid "Angle" msgstr "Γωνία" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:424 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:425 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" +"Θα πρέπει να γίνει δοκιμή αλλάζοντας αυτές τις τρεις τιμές σε μια " +"αντιπροσωπευτική εικόνα πριν από τη χρήση τους για εγγραφή." + +#: ../src/gui/siril3.glade.h:426 msgid "Size in pixels of the search box." msgstr "Μέγεθος σε εικονοστοιχεία του κουτιού αναζήτησης." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:427 msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." msgstr "" -"Κατώφλι τιμής πάνω από τον θόρυβο για την ανίχνευση αστεριών.\n" -"Οι τιμές μέσης και τυπικής απόκλισης της εικόνας καθορίζονται, μετά το " +"Τιμή κατωφλίου πάνω από τον θόρυβο για την ανίχνευση αστεριών.\n" +"Υπολογίζονται οι τιμές μέσης και τυπικής απόκλισης της εικόνας, μετά το " "κατώφλι είναι: μέση + [κατώφλι] x τυπική απόκλιση.\n" -"Η προκαθορισμένη τιμή για το κατώφλι είναι 1.00." +"Η προκαθορισμένη τιμή για το κατώφλι είναι 1.00. Αυξάνοντας αυτή την τιμή θα " +"ανιχνευτούν πιο αχνά αστέρια, το οποίο θα πρέπει να γίνει μόνο όταν οι " +"εικόνες έχουν πολύ σήμα ή χαμηλό θόρυβο (υψηλό S/N)" -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:430 msgid "Radius: " msgstr "Ακτίνα: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:431 msgid "Threshold: " msgstr "Κατώφλι: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:432 msgid "Roundness threshold:" msgstr "Κατώφλι Στρογγυλότητας:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:433 msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." msgstr "" "Τιμή κατωφλίου στρογγυλότητας αστεριού. Μειώστε αυτή την τιμή αν τα αστέρια " -"σας έχουν μικρά ίχνη.\n" -"\n" -"ΠΡΟΕΙΔΟΠΟΙΗΣΗ: βεβαιωθείτε ότι έχετε καλό λόγο για να αλλάξετε αυτή την τιμή " -"επειδή μπορεί να υποβαθμίσει την ανίχνευση αστεριών." - -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Ανίχνευση Αστεριού" +"σας έχουν μικρά ίχνη, αντιστρόφως, αυξήστε την αν είναι πολύ στρογγυλά για " +"αποφύγετε ψεύτικα θετικά.\n" +"Η προκαθορισμένη τιμή είναι το 0.5, κατάλληλο για αστέρια τα οποία είναι " +"διπλάσια στην μια κατεύθυνση από την άλλη." -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:435 +msgid "Export PSF parameters in an ASCII file" msgstr "Εξαγωγή παραμέτρων PSF σε αρχείο ASCII" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:436 msgid "Remove selected star from the list" msgstr "Αφαίρεση του επιλεγμένου αστεριού από την λίστα" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:437 msgid "Remove all stars from the list" msgstr "Αφαίρεση όλων των αστεριών από την λίστα" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:438 msgid "Wavelets control" msgstr "Έλεγχος κυματιδίων" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:439 msgid "Cancel all changes applied" msgstr "Ακύρωση όλων των εφαρμοσμένων αλλαγών" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:440 msgid "Select an algorithm type to perform wavelets" msgstr "Επιλέξτε ένα τύπο αλγόριθμου για την εκτέλεση κυματιδίων" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:441 msgid "Type:" msgstr "Τύπος:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:442 msgid "Nb of plans:" msgstr "Αρ. σχεδίων:" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:443 msgid "Number of wavelet layers that will be used" msgstr "Αριθμός των επιπέδων κυματιδίων που θα χρησιμοποιηθούν" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:444 msgid "Compute wavelets" msgstr "Υπολογισμός κυματιδίων" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:445 msgid "1st Plan:" msgstr "1ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:446 msgid "2nd Plan:" msgstr "2ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:447 msgid "3th Plan:" msgstr "3ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:448 msgid "4th Plan:" msgstr "4ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:449 msgid "5th Plan:" msgstr "5ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:450 msgid "6th Plan:" msgstr "6ο Σχέδιο:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:451 msgid "Reset changes" msgstr "Επαναφορά αλλαγών" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:452 msgid "Adjust" msgstr "Ρύθμιση" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:453 msgid "Rotation" msgstr "Περιστροφή" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:454 msgid "Angle (°): " msgstr "Γωνία (°): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:455 msgid "Checking this box will crop the output image." msgstr "Επιλέγοντας αυτό το κουτί η εικόνα εξόδου θα περικοπεί." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:456 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Γωνία σε μοίρες. Το κέντρο περιστροφής είναι το κέντρο της εικόνας." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:457 msgid "Type of algorithm used for rotation" msgstr "Τύπος αλγόριθμου που θα χρησιμοποιηθεί για την περιστροφή" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:458 msgid "Siril control center" msgstr "Κέντρο ελέγχου Siril" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:459 msgid "_File" msgstr "_Αρχείο" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:460 msgid "Save as..." msgstr "Αποθήκευση ως..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:461 +msgid "Informations..." +msgstr "Πληροφορίες..." + +#: ../src/gui/siril3.glade.h:462 msgid "FITS Header..." msgstr "Επικεφαλίδα FITS..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:463 msgid "_Edit" msgstr "_Επεξεργασία" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:464 msgid "_Image Processing" msgstr "_Επεξεργασία Εικόνας" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:465 msgid "Asinh Transformation..." msgstr "Μετασχηματισμός Asinh..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:466 msgid "Histogram Transformation..." msgstr "Μετασχηματισμός Ιστογράμματος..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:467 +msgid "Color Calibration" +msgstr "Βαθμονόμηση Χρώματος" + +#: ../src/gui/siril3.glade.h:468 msgid "Color Calibration..." msgstr "Βαθμονόμηση Χρώματος..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:469 +msgid "Photometric Color Calibration..." +msgstr "Φωτομετρική Βαθμονόμηση Χρώματος..." + +#: ../src/gui/siril3.glade.h:470 msgid "Color Saturation..." msgstr "Κορεσμός χρώματος..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:471 msgid "Remove Green Noise..." msgstr "Αφαίρεση Πράσινου Θορύβου..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:472 msgid "Negative Transformation" msgstr "Αρνητικός Μετασχηματισμός" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:473 msgid "À trous Wavelets Transform..." msgstr "Μετασχηματισμός Κυματιδίων À trous..." -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:474 msgid "Banding Reduction..." msgstr "Μείωση Λωρίδων..." -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:475 msgid "Cosmetic Correction..." msgstr "Αισθητική Διόρθωση..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:476 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Γίνεται Deconvolution..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:477 msgid "Fourier Transform..." msgstr "Μετασχηματισμός Fourier..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:478 msgid "Median Filter..." msgstr "Φίλτρο Διαμέσου..." -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:479 msgid "Rotational Gradient..." msgstr "Φίλτρο Βαθμιδωτής Περιστροφής..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:480 msgid "Geometry" msgstr "Γεωμετρία" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:481 msgid "Horizontal Mirror" msgstr "Οριζόντια αναστροφή" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:482 msgid "Vertical Mirror" msgstr "Κατακόρυφη αναστροφή" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:483 msgid "Rotation..." msgstr "Περιστροφή..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:484 msgid "Resample..." msgstr "Αναδειγματοληψία..." -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:485 msgid "Background Extraction..." msgstr "Εξαγωγή Υποβάθρου..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:486 msgid "Extraction" msgstr "Εξαγωγή" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:487 msgid "Channels..." msgstr "Κανάλια..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:488 msgid "Wavelet Layers..." msgstr "Επίπεδα Κυματιδίου..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:489 msgid "RGB Compositing..." msgstr "Σύνθεση RGB..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:490 msgid "_Scripts" msgstr "_Δέσμες Ενεργειών" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:491 msgid "_Analysis" msgstr "_Ανάλυση" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:492 msgid "Dynamic PSF..." msgstr "Δυναμικό PSF..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:493 msgid "Image Plate Solver..." msgstr "Επίλυση Εικόνας..." -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:494 msgid "Statistics..." msgstr "Στατιστικά..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:495 msgid "Noise Estimation" msgstr "Εκτίμηση Θορύβου" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:496 msgid "_Windows" msgstr "_Παράθυρα" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:497 msgid "Gray Channels Images" msgstr "Εικόνες Καναλιών Γκρι Τόνων" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:498 msgid "Color Image" msgstr "Έγχρωμη Εικόνα" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:499 msgid "_Help" msgstr "_Βοήθεια" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:500 msgid "Check For Updates" msgstr "Έλεγχος ενημερώσεων" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:501 msgid "Get scripts" msgstr "Ανάκτηση δεσμών ενεργειών" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:502 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2431,35 +2329,35 @@ "μετατροπής τους σε μορφή αρχείου με το οποίο το Siril μπορεί να δουλέψει: " "FITS ή SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:503 msgid "Source" msgstr "Πηγή" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:504 msgid "Date" msgstr "Ημερομηνία" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:505 msgid "Add files to convert" msgstr "Προσθήκη αρχείων για μετατροπή" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:506 msgid "Remove selected files" msgstr "Αφαίρεση επιλεγμένων αρχείων" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:507 msgid "Remove all files from the list" msgstr "Αφαίρεση όλων των αρχείων από την λίστα" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:508 msgid "Destination" msgstr "Προορισμός" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:509 msgid "Sequence name:" msgstr "Όνομα αλληλουχίας:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:510 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2470,15 +2368,15 @@ "να τελειώνει με .ser το οποίο θα ενεργοποιήσει την μορφή εξόδου SER για την " "μετατροπή." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:511 msgid "Colour image target" msgstr "Στόχος έγχρωμης εικόνας" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:512 msgid "Keep three channels" msgstr "Διατήρηση τριών καναλιών" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:513 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." @@ -2486,25 +2384,25 @@ "Διατήρηση της εικόνας προορισμού με κανάλια RGB, να μην αλλαχτεί η " "διαμόρφωση των καναλιών." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:514 msgid "Create three images" msgstr "Δημιουργία τριών εικόνων" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:515 msgid "Split an RGB image into three images, R, G and B." msgstr "Διαχωρισμός εικόνας RGB σε τρεις εικόνες, R,G και Β." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:516 msgid "Keep only first channel" msgstr "Διατήρηση μόνο του πρώτου καναλιού" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:517 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "Για μια εικόνα RGB, να κρατηθεί μόνο το R. Χρήσιμο για εικόνες γκρι τόνων " "αποθηκευμένες σαν RGB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:518 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2512,7 +2410,7 @@ "Υποδηλώνει την αρχή του δείκτη των αρχείων που έχουν μετατραπεί. Αυτή η τιμή " "πρέπει να είναι στην περιοχή [1,65535]." -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:519 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2526,7 +2424,7 @@ "Ο στόχος της έγχρωμης εικόνας εφαρμόζεται επίσης και στο αποτέλεσμα debayer " "για μετατροπή." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:522 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2534,11 +2432,11 @@ "Να ξεκινήσει η μετατροπή όλων των πηγαίων αρχείων στα προκαθορισμένα αρχεία " "εξόδου, FITS ή SER, με ή χωρίς έγχρωμη επεξεργασία." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:523 msgid "Create as many SER files as input files" msgstr "Να δημιουργηθούν τόσα αρχεία SER όσο και τα εισαγώμενα αρχεία" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:524 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2549,11 +2447,11 @@ "στοιχεία εισόδου (ταινίες) δεν μοιράζονται το ίδιο μέγεθος εικόνας ή δεν " "πρέπει να επεξεργαστούν μαζί." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:525 msgid "Supported file types:" msgstr "Τύποι αρχείων που υποστηρίζονται:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:526 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2571,11 +2469,11 @@ "Τα αρχεία SER μπορούν να χειριστούν απευθείας σαν μια αλληλουχία, και δεν " "είναι ακόμα διαθέσιμα για μετατροπή." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:530 msgid "File conversion" msgstr "Μετατροπή αρχείου" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:531 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2583,29 +2481,29 @@ "Οι εικόνες χειρίζονται σαν αλληλουχίες. Το Siril μπορεί να βρει αλληλουχίες " "σε CWD, και μπορείτε να φιλτράρετε τις εικόνες." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:532 msgid "Sequence selection" msgstr "Επιλογή αλληλουχίας" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:533 msgid "Sequence:" msgstr "Αλληλουχία:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:534 msgid "Search sequences" msgstr "Αναζήτηση αλληλουχιών" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:535 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "" "Επιλέξτε τον τρέχων κατάλογο για αλληλουχίες εικόνων FITS, SER ή ταινιών." -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:536 msgid "Force .seq recomputation" msgstr "Εξαναγκασμός επαναϋπολογισμού .seq" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:537 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2621,15 +2519,15 @@ "\n" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: θα σβήσει όλα τα στατιστικά δεδομένα και δεδομένα εγγραφής." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:541 msgid "Image selection in sequence" msgstr "Επιλογή εικόνων στην αλληλουχία" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:542 msgid "No sequence selected" msgstr "Δεν έχει επιλεχθεί αλληλουχία" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:543 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2639,22 +2537,22 @@ "όχι την τρέχουσα εικόνα." # is it singular or plural? -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:544 msgid "Excluded" msgstr "Eξαιρέθηκε" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:545 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" msgstr "" "Αν η εικόνα εξαιρέθηκε ή όχι από την επεξεργασία (το αρχείο δεν διαγράφετε)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:546 msgid "Reference image" msgstr "Εικόνα αναφοράς" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:547 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2667,37 +2565,37 @@ "Αν δεν οριστεί χειροκίνητα, η πρώτη εικόνα της αλληλουχίας θα οριστεί σαν " "εικόνα αναφοράς." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:550 msgid "Exclude All" msgstr "Εξαίρεση όλων" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:551 msgid "Exclude all images of the sequence from the processing schedule" msgstr "" "Να εξαιρεθούν όλες οι εικόνες της αλληλουχίας από το πρόγραμμα επεξεργασίας" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:552 msgid "Include All" msgstr "Να συμπερηληφθούν όλα" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:553 msgid "includes all images of the sequence in the processing schedule" msgstr "" "συμπεριλαμβάνει όλες τις εικόνες της αλληλουχίας στο πρόγραμμα επεξεργασίας" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:554 msgid "Sequence export" msgstr "Εξαγωγή αλληλουχίας" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:555 msgid "Base name:" msgstr "Όνομα βάσης:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:556 msgid "Base name for the exported sequence" msgstr "Όνομα βάσης για την εξαγόμενη αλληλουχία" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:557 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2705,11 +2603,11 @@ "Αλληλουχία εξαγωγής τύπου αρχείου. Τα MP4 και WEBM αντικαθιστούν το GIF για " "σύγχρονη έκδοση στο Web, το AVI δεν συμπιέζεται." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:558 msgid "Export sequence" msgstr "Εξαγωγή αλληλουχίας" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:559 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2723,11 +2621,11 @@ "να περικοπούν και να επιλεχθούν με τα ίδια κριτήρια όπως στην επιλογή " "σώρευσης εικόνας." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:560 msgid "Normalize images" msgstr "Κανονικοποίηση εικόνων" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:561 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2744,19 +2642,19 @@ "αλληλουχίας.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:564 msgid "Fps:" msgstr "Fps:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:565 msgid "Frame rate" msgstr "Ρυθμός καρέ" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:566 msgid "Resize" msgstr "Αλλαγή διαστάσεων" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:567 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2764,19 +2662,19 @@ "Επιλέξτε αυτό το κουτί αν θέλετε να αλλάξετε τις διαστάσεις της εξαγόμενης " "αλληλουχίας. Σημειώστε ότι αυτό θα μειώσει την ποιότητα της εικόνας." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:568 msgid "Width of output video" msgstr "Πλάτος βίντεο εξόδου" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:569 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:570 msgid "Height of output video" msgstr "Ύψος βίντεο εξόδου" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:571 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2784,29 +2682,29 @@ "Ποιότητα ταινίας: μια χαμηλή τιμή θα χρησιμοποιήσει περισσότερη συμπίεση και " "λιγότερο bitrate, επίσης θα προκύψει σε μικρότερο μέγεθος αρχείου." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:572 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Επιλέξτε περιοχή για περικοπή" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:573 msgid "Image selection uses the same controls as for stacking" msgstr "Η επιλογή εικόνας χρησιμοποιεί τον ίδιο έλεγχο όπως η σώρευση" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:574 msgid "Go to the stacking tab" msgstr "Μετάβαση στη καρτέλα σώρευσης" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:575 msgid "Sequence" msgstr "Αλληλουχία" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:576 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "" "Η προ-επεξεργασία είναι ένα προαιρετικό βήμα εφαρμογής σε μια αλληλουχία " "εικόνων." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:577 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2815,17 +2713,17 @@ "αποτέλεσμα της επεξεργασίας αρκετών καρέ, για τον κάθε τύπο της κύριας " "εικόνας." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:578 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "Τα αρχεία dark, offset (bias) και flat μπορούν να είναι ένα αρχείο FITS." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:580 msgid "Use flat" msgstr "Χρήση flat" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:581 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2833,7 +2731,7 @@ "Όλες οι εικόνες της αλληλουχίας θα διαιρεθούν με την εικόνα του κυρίως flat " "(κάθε τιμή εικονοστοιχείων)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:582 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2844,21 +2742,21 @@ "Όλες οι εικόνες της αλληλουχίας θα διαιρεθούν με την εικόνα του κυρίως flat " "(κάθε τιμή εικονοστοιχείων)." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:584 msgid "Browse..." msgstr "Προεπισκόπηση..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:586 msgid "Use dark" msgstr "Χρήση dark" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:587 msgid "The dark master image will be removed from all images in the sequence." msgstr "" "Η εικόνα του Κυρίως-dark θα αφαιρεθεί από όλες τις εικόνες της αλληλουχίας." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:588 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2868,18 +2766,18 @@ "Η εικόνα του Κυρίως-dark θα αφαιρεθεί από όλες τις εικόνες της αλληλουχίας." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:591 msgid "Use offset" msgstr "Χρήση offset" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:592 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "" "Η εικόνα του Κυρίως-bias/offset θα αφαιρεθεί από όλες τις εικόνες της " "αλληλουχίας." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2889,19 +2787,19 @@ "Η εικόνα του Κυρίως-bias/offset θα αφαιρεθεί από όλες τις εικόνες της " "αλληλουχίας." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:595 msgid "Choose your own normalisation value." msgstr "Επιλέξτε την δική σας τιμή ομαλοποίησης." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:596 msgid "Normalisation value for flat division" msgstr "Τιμή ομαλοποίησης για διαίρεση flat" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:597 msgid "Dark optimization" msgstr "Βελτιστοποίηση dark" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:598 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2919,11 +2817,11 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Μην εφαρμόσετε βελτιστοποίηση dark στο Κυρίως-dark αν " "προηγουμένως δεν έχει αφαιρεθεί το Κυρίως-bias." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:601 msgid "Auto evaluate normalisation value" msgstr "Αυτόματη αξιολόγηση της τιμής ομαλοποίησης" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:602 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2933,22 +2831,22 @@ "Αυτή η τιμή είναι ο μέσος όρος του Κυρίως-flat βαθμονομημένο με το Κυρίως-" "offset." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:604 msgid "Equalize CFA" msgstr "Εξίσωση CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:605 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" "Αυτή η επιλογή εξισώνει τη μέση ένταση των επιπέδων RGB σε μια επίπεδη " "εικόνα CFA." -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:606 msgid "Cosmetic correction (using master-dark)" msgstr "Αισθητική διόρθωση (χρησιμοποιώντας το Κυρίως-dark)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:607 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2956,11 +2854,11 @@ "Πόσες φορές της τυπικής απόκλισης, η τιμή του εικονοστοιχείου πρέπει να " "διαφέρει ώστε να θεωρηθεί ελαττωματικό." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:608 msgid "Enable Cosmectic Correction" msgstr "Ενεργοποίηση Αισθητικής Διόρθωσης" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:609 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2968,11 +2866,11 @@ "Επιλέξτε αν θέλετε να εφαρμόσετε αφαίρεση θερμού εικονοστοιχείου.\n" "Τα θερμά εικονοστοιχεία εντοπίζονται στο Κυρίως-dark." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:611 msgid "Estimate" msgstr "Εκτίμηση" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:613 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2983,23 +2881,23 @@ "εικονοστοιχείων. Αν οι τιμές είναι πάνω από 1% των συνολικών " "εικονοστοιχείων, τότε θα σας προταθεί να αλλάξετε τις τιμές σίγμα." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:614 msgid "Cold: 0 px" msgstr "Ψυχρό: 0 εικονοστοιχεία" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:615 msgid "Hot: 0 px" msgstr "Θερμό: 0 εικονοστοιχεία" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:616 msgid "Output sequence" msgstr "Εξαγωγή αλληλουχίας" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:617 msgid "Debayer FITS images before saving" msgstr "Πραγματοποιείται debayer στις εικόνες FITS πριν την αποθήκευση" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:618 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -3015,20 +2913,20 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αυτή η επιλογή είναι διαθέσιμη μόνο για εικόνες FITS καθώς " "στις αλληλουχίες SER μπορεί να γίνει demosaic στη στιγμή." -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:621 msgid "Store resulting sequence with prefix:" msgstr "Αποθήκευση της επακόλουθης αλληλουχίας με πρόθεμα:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:622 msgid "Prefix of the image names resulting from the pre-processing." msgstr "" "Πρόθεμα του ονόματος των εικόνων που προκύπτουν από την προ-επεξεργασία." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:623 msgid "Start pre-processing" msgstr "Έναρξη προ-επεξεργασίας" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:624 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -3044,11 +2942,11 @@ "Η επόμενη ενέργεια για εικόνες από DSLR θα είναι να γίνει debayer των πρεο-" "επεξεργασμένων εικόνων, πηγαίνετε στην καρτέλα Μετατροπή." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:627 msgid "Pre-processing" msgstr "Προ-επεξεργασία" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:628 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -3056,21 +2954,29 @@ "Η εγγραφή βασικά είναι η ευθυγράμμιση των εικόνων από μια αλληλουχία για την " "δυνατότητα επεξεργασίας τους μετά." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:629 msgid "Image registration" msgstr "Εγγραφή εικόνας" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:630 +msgid "Register all images from sequence" +msgstr "Εγγραφή όλων των εικόνων από την αλληλουχία" + +#: ../src/gui/siril3.glade.h:631 +msgid "Register selected images only" +msgstr "Εγγραφή μόνο των επιλεγμένων εικόνων" + +#: ../src/gui/siril3.glade.h:632 msgid "Choose registration method:" msgstr "Επιλέξτε μέθοδο εγγραφής:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:633 msgid "Select registration layer:" msgstr "Επιλέξτε επίπεδο εγγραφής:" # It can only be done on one layer at a time, so on monochrome images # Do you mean: It can only be done on one layer at a time, on monochrome images -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:634 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3087,31 +2993,23 @@ "προεπιλεγμένο επίπεδο αν είναι διαθέσιμα (για εικόνες RGB: το Πράσινο, " "εναλλακτικά το Μπλε μετά το Κόκκινο)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Εγγραφή όλων των εικόνων από την αλληλουχία" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Εγγραφή μόνο των επιλεγμένων εικόνων" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:637 msgid "Prefix:" msgstr "Πρόθεμα:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:638 msgid "Prefix of the image names resulting from the registration." msgstr "Πρόθεμα του ονόματος των εικόνων που προκύπτουν από την εγγραφή." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:639 msgid "Algorithm: " msgstr "Αλγόριθμος: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:640 msgid "Match stars in selection" msgstr "Ταίριασμα αστεριών στην επιλογή" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:641 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3124,11 +3022,11 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Σιγουρευτείτε να σχεδιάσετε μια επιλογή με αρκετό αριθμό " "αστεριών." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:643 msgid "Translation only" msgstr "Μόνο μετατόπιση" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:644 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3149,11 +3047,11 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: δεν δημιουργείται νέα αλληλουχία, μόνο τα στοιχεία εγγραφής " "αποθηκεύονται στην αρχική αλληλουχία." -#: ../src/gui/siril3.glade.h:673 +#: ../src/gui/siril3.glade.h:648 msgid "Pick object in #1" msgstr "Επιλέξτε ένα αντικείμενο στο #1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:649 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3164,19 +3062,19 @@ "συντεταγμένες του εικονοστοιχείου του αντικειμένου θα υπολογιστούν και θα " "εμφανιστούν." -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:650 msgid "Core X-coordinates of the first image." msgstr "Συντεταγμένες Χ του πυρήνα της πρώτης εικόνας." -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:651 msgid "Core Y-coordinates of the first image." msgstr "Συντεταγμένες Υ του πυρήνα της πρώτης εικόνας." -#: ../src/gui/siril3.glade.h:677 +#: ../src/gui/siril3.glade.h:652 msgid "Pick object in #2" msgstr "Επιλέξτε ένα αντικείμενο στο #2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:653 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3187,27 +3085,27 @@ "συντεταγμένες του εικονοστοιχείου του αντικειμένου θα υπολογιστούν και θα " "εμφανιστούν." -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:654 msgid "Core X-coordinates of the second image." msgstr "Συντεταγμένες Χ του πυρήνα της δεύτερης εικόνας." -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:655 msgid "Core Y-coordinates of the second image." msgstr "Συντεταγμένες Υ του πυρήνα της δεύτερης εικόνας." -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:656 msgid "Comet velocity in pixel per hour." msgstr "Ταχύτητα κομήτη σε εικονοστοιχεία ανά ώρα." -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:657 msgid "Velocity: " msgstr "Ταχύτητα: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:658 msgid "Go register" msgstr "Εκκίνηση εγγραφής" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:659 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3218,16 +3116,16 @@ "αναφοράς (φορτωμένο στην καρτέλα 'Αλληλουχίες Εικόνων', το τρέχων όνομα της " "αλληλουχίας είναι επίσης στο κάτω μέρος του παραθύρου)." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:660 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Φορτώστε πρώτα μια αληλλουχία." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:661 msgid "Simplified Drizzle x2" msgstr "Απολοποιημένο Drizzle x2" # counterpart, do you mean the drawback of this method? -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:662 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3259,11 +3157,11 @@ "επεξεργασία των εικόνων drizzle πολλαπλασιάζεται με το τετράγωνο του " "παράγοντα drizzle." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:667 msgid "Cumul reg. data" msgstr "Σωρευτικά δεδομένα εγγραφής" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:668 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3278,11 +3176,11 @@ "πρέπει να μην είναι επιλεγμένη όταν ο αλγόριθμος κομήτη/αστεροειδή " "εφαρμόζεται αρκετές φορές." -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:670 msgid "Follow star movement" msgstr "Ακολούθηση κίνησης αστεριού" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:671 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3299,15 +3197,15 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: ενεργοποιώντας αυτή την επιλογή απαιτείται η εγγραφή να μην " "είναι παράλληλη, θα τρέξει μόνο σε ένα πυρήνα του επεξεργαστή." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:673 msgid "Manual registration" msgstr "Χειροκίνητη εγγραφή" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:674 msgid "Display reference image" msgstr "Προβολή εικόνας αναφοράς" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:676 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3320,7 +3218,7 @@ "Για να ενεργοποιηθεί, η εικόνα αναφοράς πρέπει να έχει οριστεί και να φανεί " "μια φορά στο επιλεγμένο επίπεδο εγγραφής." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:678 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3329,11 +3227,11 @@ "κάτω βέλος, για να ευθυγραμμίσετε την εικόνα με την εικόνα αναφοράς στον " "άξονα Χ." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:679 msgid "X translation:" msgstr "Χ μετατόπιση:" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:680 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3342,19 +3240,19 @@ "κάτω βέλος, για να ευθυγραμμίσετε την εικόνα με την εικόνα αναφοράς στον " "άξονα Υ." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:681 msgid "Y translation:" msgstr "Y μετατόπιση:" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:682 msgid "Set reference image first." msgstr "Ορίστε πρώτα την εικόνα αναφοράς." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:683 msgid "Set first preview" msgstr "Ορίστε την πρώτη προεπισκόπηση" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:684 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3363,53 +3261,53 @@ "κλικ σε αυτό το κουμπί, κάντε κλικ στην εικόνα για να τοποθετήσετε το κέντρο " "της περιοχής προεπισκόπησης" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:685 msgid "Set second preview" msgstr "Ορίστε την δεύτερη προεπισκόπηση" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:686 msgid "Registration" msgstr "Εγγραφή" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:687 msgid "Filename:" msgstr "Όνομα αρχείου:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:688 msgid "Enter the filename of the exported CSV file." msgstr "Εισάγετε το όνομα του εξαγώμενου αρχείου CSV." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:689 msgid "Export to CSV" msgstr "Εξαγωγή σε CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:690 msgid "Export displayed plot to a CSV file." msgstr "Εξαγωγή του τρέχοντος διαγράμματος σε αρχείο CSV." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:691 msgid "Clear all" msgstr "Καθαρισμός όλων" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:692 msgid "Clear all curves displayed in photometry." msgstr "Καθαρισμός όλων των καμπυλών που προβάλλονται στη φωτομετρία." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:693 msgid "Clear latest" msgstr "Καθαρισμός του τελευταίου" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:694 msgid "Clear the last curve added in photometry." msgstr "Καθαρισμός της τελευταίας καμπύλης που προστέθηκε στη φωτομετρία." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:364 +#: ../src/gui/siril3.glade.h:696 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Καμπύλη Φωτός" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:697 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3423,43 +3321,47 @@ "\"Μέγεθος\" στον τύπο του εμφανιζόμενου διαγράμματος.\n" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το gnuplot πρέπει να είναι εγκατεστημένο." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:699 msgid "Select the source of graph information." msgstr "Επιλέξτε την πηγή των πληροφοριών του γραφήματος." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:700 msgid "Select which information to display from photometry data." msgstr "Επιλέξτε ποιές πληροφορίες θα εμφανιστούν από δεδομένα φωτομετρίας." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:701 msgid "Roundness" msgstr "Στρογγυλότητα" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:565 ../src/gui/plot.c:727 +#: ../src/gui/siril3.glade.h:702 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:730 +#: ../src/gui/siril3.glade.h:703 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Πλάτος" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:704 msgid "Magnitude" msgstr "Μέγεθος" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:705 +msgid "Background" +msgstr "Υπόβαθρο" + +#: ../src/gui/siril3.glade.h:706 msgid "X position" msgstr "Θέση Χ" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:707 msgid "Y position" msgstr "Θέση Υ" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:708 msgid "Plot" msgstr "Σχεδιασμός" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:709 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3467,19 +3369,15 @@ "Σώρευση εικόνων, είτε αθροιστικά, διαμέσου, μέσου όρου με απόρριψη ή μέγιστο/" "ελάχιστο εικονοστοιχείο." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:710 msgid "Sequence stacking" msgstr "Αλληλουχία σώρευσης" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:711 msgid "Stacking Methods:" msgstr "Μέθοδοι Σώρευσης:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Να γίνει σώρευση αυτής της σειράς εικόνων:" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:712 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3546,83 +3444,35 @@ "Τα εικονοστοιχεία στην εικόνα αντικαθιστώνται από εικονοστοιχεία στις ίδιες " "συντεταγμένες αν η ένταση είναι χαμηλότερη." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:735 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Αθροιστική σώρευση" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:736 msgid "Average stacking with rejection" msgstr "Σώρευση μέσου όρου με απόρριψη" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:737 msgid "Median stacking" msgstr "Σώρευση διαμέσου" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:738 msgid "Pixel maximum stacking" msgstr "Σώρευση μέγιστου εικονοστοιχείου" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:739 msgid "Pixel minimum stacking" msgstr "Σώρευση ελάχιστου εικονοστοιχείου" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Επιλογή της σειράς των εικόνων που πρόκειται να σωρευτούν. Μπορούν να " -"χρησιμοποιηθούν όλες οι εικόνες ή μόνο οι επιλεγμένες εικόνες. Αλλά είναι " -"δυνατό να επιλέξετε μόνο το ποσοστό των καλύτερων εικόνων σύμφωνα με τα " -"κριτήρια ποιότητας (πλανητικό στρογγυλότητα ή fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "όλες οι εικόνες τις αλληλουχίας" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "εικόνες που επιλέχθηκαν χειροκίνητα από την αλληλουχία" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής (PSF - FWHM)" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής (PSF - " -"στρογγυλότητα)" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής (Πλανητική)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Βασισμένο στο FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Σώρευση καλύτερων:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:740 msgid "Sigma low: " msgstr "Κάτω Σίγμα: " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:741 msgid "Sigma high: " msgstr "Άνω Σίγμα: " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:742 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3673,70 +3523,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:758 msgid "No rejection" msgstr "Χωρίς απόρριψη" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:759 msgid "Percentile Clipping" msgstr "Εκατοστιαία αποκοπή" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:760 msgid "Sigma Clipping" msgstr "Αποκοπή Σίγμα" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:761 msgid "Median Sigma Clipping" msgstr "Αποκοπή Διαμέσου Σίγμα" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:762 msgid "Winsorized Sigma Clipping" msgstr "Αποκοπή Σίγμα Winsor" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:763 msgid "Linear Fit Clipping" msgstr "Αποκοπή Γραμμικού Fit" -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"Κανονικοποίηση σε 16-bit\n" -"(να μην γίνει έλεγχος για Κύρια αρχεία)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"Αν επιλέξετε αυτό το κουμπί, η τελική εικόνα θα ομαλοποιηθεί σε 16-bit ανά " -"κανάλι. Αυτό είναι σημαντικό όταν η αλληλουχία εισόδου έχει βάθος 8-bit ανά " -"κανάλι.\n" -"Όμως αν θέλετε μπορείτε να απενεργοποιήσετε αυτή την επιλογή όταν " -"δημιουργείτε master frames αλληλουχιών 8-bit." - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:764 msgid "Rejection:" msgstr "Απόρριψη:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:765 msgid "Normalisation:" msgstr "Ομαλοποίηση:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:766 msgid "Start stacking" msgstr "Έναρξη σώρευσης" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:767 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3749,19 +3572,19 @@ "σώρευση, η οποία μετά αποθηκεύεται σε μια 16-bit εικόνα της οποίας το όνομα " "δίνεται παρακάτω." -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:769 msgid "Store result in file:" msgstr "Το αποτέλεσμα να αποθκευτεί στο αρχείο:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:770 msgid "Overwrite" msgstr "Αντικατάσταση αρχείου" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:771 msgid "Overwrite file without notice if it already exists." msgstr "Να γίνει αντικατάσταση του αρχείου χωρίς προειδοποίηση αν υπάρχει ήδη." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:772 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3804,31 +3627,31 @@ "Όμως, η πολλαπλασιαστική ομαλοποίηση θα πρέπει να χρησιμοποιηθεί με flat " "καρέ." -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:784 msgid "No normalisation" msgstr "Χωρίς ομαλοποίηση" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:785 msgid "Additive" msgstr "Προσθετική" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:786 msgid "Multiplicative" msgstr "Πολλαπλασιαστική" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:787 msgid "Additive with scaling" msgstr "Προσθετική με κλιμάκωση" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:788 msgid "Multiplicative with scaling" msgstr "Πολλαπλασιαστική με κλιμάκωση" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:789 msgid "Force recomputing" msgstr "Εξαναγκασμός επαναϋπολιγσμού" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:790 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3838,11 +3661,92 @@ "έχουν υπολογιστεί. Όμως μπορείτε να εξαναγκάσετε το Siril να τις " "επαναϋπολογίσει πριν την σώρευση." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:791 +msgid "Add another filter" +msgstr "Προσθήκη φίλτρου" + +#: ../src/gui/siril3.glade.h:792 +msgid "Remove this filter" +msgstr "Αφαίρεση αυτού του φίλτρου" + +#: ../src/gui/siril3.glade.h:793 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Επιλέξτε τις εικόνες που θα σωρευτούν:\n" +"-επιλεγμένες: χρησιμοποιείστε εικόνες που δεν έχουν επιλεχθεί από την " +"ακολουθία\n" +"-FWHM: εικόνες με το καλύτερο υπολογισμένο FWHM (εγγραφή με βάση το άστρο)\n" +"-στρογγυλότητα: εικόνες με την καλύτερη στρογγυλότητα αστεριών (εγγραφή με " +"βάση το άστρο)\n" +"-ποιότητα: εικόνες με βέλτιστη ποιότητα (πλανητικές καταχωρίσεις DFT ή ECC)" + +#: ../src/gui/siril3.glade.h:798 +msgid "all" +msgstr "όλα" + +#: ../src/gui/siril3.glade.h:799 +msgid "selected" +msgstr "επιλέχθηκαν" + +#: ../src/gui/siril3.glade.h:800 +msgid "roundness" +msgstr "στρογγυλότητα" + +#: ../src/gui/siril3.glade.h:801 +msgid "Percents of the images of the sequence." +msgstr "Ποσόστοση των εικόνων της ακολουθίας." + +#: ../src/gui/siril3.glade.h:802 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Επιλογή της σειράς των εικόνων που πρόκειται να σωρευτούν. Μπορούν να " +"χρησιμοποιηθούν όλες οι εικόνες ή μόνο οι επιλεγμένες εικόνες. Αλλά είναι " +"δυνατό να επιλέξετε μόνο το ποσοστό των καλύτερων εικόνων σύμφωνα με τα " +"κριτήρια ποιότητας (πλανητικό στρογγυλότητα ή fwhm)." + +#: ../src/gui/siril3.glade.h:803 +msgid "Stack this set of images:" +msgstr "Να γίνει σώρευση αυτής της σειράς εικόνων:" + +#: ../src/gui/siril3.glade.h:804 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Γίνεται σώρευση 0 εικόνων από 0 της αλληλουχίας" + +#: ../src/gui/siril3.glade.h:805 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Κανονικοποίηση σε 16-bit\n" +"(να μην γίνει έλεγχος για Κύρια αρχεία)" + +#: ../src/gui/siril3.glade.h:807 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Αν επιλέξετε αυτό το κουμπί, η τελική εικόνα θα ομαλοποιηθεί σε 16-bit ανά " +"κανάλι. Αυτό είναι σημαντικό όταν η αλληλουχία εισόδου έχει βάθος 8-bit ανά " +"κανάλι.\n" +"Όμως αν θέλετε μπορείτε να απενεργοποιήσετε αυτή την επιλογή όταν " +"δημιουργείτε master frames αλληλουχιών 8-bit." + +#: ../src/gui/siril3.glade.h:809 msgid "Stacking" msgstr "Σώρευση" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:810 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3850,38 +3754,46 @@ "Παράθυρο εξόδου Siril, εμφανίζει μηνύματα σχετικά με το τι έχει γίνει καθώς " "και σε ανταπόκριση εντολών εισόδου." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:811 +msgid "Export the log" +msgstr "Εξαγωγή του αρχείου καταγραφής" + +#: ../src/gui/siril3.glade.h:812 +msgid "Clear the log" +msgstr "Καθαρισμός του αρχείου καταγραφής" + +#: ../src/gui/siril3.glade.h:813 msgid "Output logs" msgstr "Αρχεία καταγραφής εξόδου" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:814 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "" "Εντολή εισόδου. Γράφοντας `help' εδώ θα εμφανιστεί μια λίστα με τις " "υποστηριζόμενες εντολές." -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:815 msgid "Type help for the list of supported commands" msgstr "Γράψτε help για την λίστα των υποστηριζόμενων εντολών" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:816 msgid "Displays manual of the command written in the console." msgstr "Προβολή του εγχειριδίου της εντολής που γράφτηκε στην κονσόλα." -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:817 msgid "Console" msgstr "Κονσόλα" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:818 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Έτοιμο." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:819 msgid "Current working directory:" msgstr "Τρέχων κατάλος εργασίας:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:820 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3889,23 +3801,23 @@ "Ο κατάλογος στον οποίο τα αρχεία θα διαβάζονται και γράφονται. Μπορεί να " "αλλαχτεί με το κουμπί Αλλαγή καταλόγου στα δεξιά, ή με την εντολή cd." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:821 msgid "Change dir..." msgstr "Αλλαγή καταλόγου..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:822 msgid "Change current working directory" msgstr "Αλλάζει τον τρέχων κατάλογο εργασίας" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:823 msgid "Stop running processes" msgstr "Να σταματήσει η εκτέλση της διαδικασίας" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:824 msgid "Current working sequence:" msgstr "Τρέχουσα αλληλουχία:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:825 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3915,11 +3827,11 @@ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Μειώνοντας τον αριθμό των επιτρεπόμενων επεξεργαστών πάρα " "πολύ θα μειωθούν οι επιδόσεις." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:827 msgid "Displays the amount of used RAM memory by Siril." msgstr "Δείχνει την ποσότητα της μνήμης RAM που χρησιμοποιεί το Siril." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:828 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3928,64 +3840,105 @@ "λειτουργίας." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:830 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Μέγεθος Δίσκου: Δεν είναι διαθέσιμο" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Βαθμονόμηση Χρώματος" +#: ../src/gui/siril3.glade.h:831 +msgid "Informations" +msgstr "Πληροφορίες" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:832 +msgid "Focal length (mm): " +msgstr "Εστιακή απόσταση (mm): " + +#: ../src/gui/siril3.glade.h:833 +msgid "Pixel X dim. (micron): " +msgstr "Διάσταση Χ εικονοστοιχείου (μικρά): " + +#: ../src/gui/siril3.glade.h:834 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." msgstr "" -"Ένα σετ από τρεις παράγοντες βαθμονόμησης χρώματος θα υπολογιστεί και θα " -"πολλαπλασιαστεί με κάθε κανάλι χρώματος.\n" -"Η Ουδετεροποίηση Υποβάθρου θα πρέπει να εφαρμοστεί πριν από αυτή την " -"λειτουργία." +"Καθαρισμός όλων των πεδίων. Αν σώσετε την εικόνα αργότερα, η επικεφαλίδα δεν " +"θα περιέχει δεδομένα σχετικά με την εστιακή απόσταση ή το μέγεθος του " +"αισθητήρα." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "x συντεταγμένη της αρχής για την επιλογή του υποβάθρου" +#: ../src/gui/siril3.glade.h:835 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Αν η διάσταση του εικονοστοιχείου Y δεν φορτωθεί αυτόματα, χρησιμοποιώντας " +"την επικεφαλίδα του αρχείου, μπορείτε να ενημερώσετε το πεδίο αυτό." -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "y συντεταγμένη της αρχής για την επιλογή του υποβάθρου" +#: ../src/gui/siril3.glade.h:836 +msgid "Pixel Y dim. (micron): " +msgstr "Διάσταση Y εικονοστοιχείου (μικρά): " -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Πλάτος της επιλογής υποβάθρου" +#: ../src/gui/siril3.glade.h:837 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Αν η εστιακή απόσταση δεν φορτωθεί αυτόματα, χρησιμοποιώντας την επικεφαλίδα " +"του αρχείου, μπορείτε να ενημερώσετε το πεδίο." -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Ύψος της επιλογής υποβάθρου" +#: ../src/gui/siril3.glade.h:838 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Αν η διάσταση εικονοστοιχείου Χ δεν φορτωθεί αυτόματα, χρησιμοποιώντας την " +"επικεφαλίδα του αρχείου, μπορείτε να ενημερώσετε το πεδίο αυτό." -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Επιλεγμένη περιοχή" +#: ../src/gui/siril3.glade.h:839 +msgid "No binning in pixel size value" +msgstr "Δεν υπάρχει ομαδοποίηση στην τιμή του μεγέθους του εικονοστοιχείου" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Χρήση τρέχουσας επιλογής" +#: ../src/gui/siril3.glade.h:840 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Επιλέξτε αυτό το κουμπί αν η ομαδοποίηση δεν θα ληφθεί υπόψη στην τιμή " +"μεγέθους του εικονοστοιχείου. Σε αυτή την περίπτωση, θα χρησιμοποιηθεί η " +"τιμή της ομαδοποίησης στο παρακάτω κουτί συνδυασμού." -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:841 +msgid "FWHM is converted into arcsec" +msgstr "Το FWHM μετατρέπεται σε arcsec" + +#: ../src/gui/siril3.glade.h:842 +msgid "Binning: " +msgstr "Ομαδοποίηση: " + +#: ../src/gui/siril3.glade.h:843 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." msgstr "" -"Πρέπει να ορίσετε μια επιλογή η οποία αναπαριστά το πραγματικό υπόβαθρο της " -"εικόνας, προσπαθώντας να μην συμπεριλάβετε όλα τα αστέρια ή άλλα αστρικά " -"αντικείμενα." +"Αν η ομαδοποίηση δεν φορτωθεί αυτόματα, μπορείτε να ενημερώσετε αυτό το " +"σύνθετο πλαίσιο, χρησιμοποιώντας την επικεφαλίδα του αρχείου." + +#: ../src/gui/siril3.glade.h:844 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Ένα σετ από τρεις παράγοντες βαθμονόμησης χρώματος θα υπολογιστεί και θα " +"πολλαπλασιαστεί με κάθε κανάλι χρώματος.\n" +"Η Ουδετεροποίηση Υποβάθρου θα πρέπει να εφαρμοστεί πριν από αυτή την " +"λειτουργία." -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:846 msgid "Background Neutralization" msgstr "Ουδετεροποίηση Υποβάθρου" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:847 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3996,15 +3949,15 @@ "Αυτό το βήμα δεν θα πρέπει να γίνει πριν από κάθε απόπειρα βαθμονόμησης " "χρώματος." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:849 msgid "Background reference" msgstr "Αναφορά υποβάθρου" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:850 msgid "Manual White Balance" msgstr "Χειροκίνητη Ισσοροπία Άσπρου" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:851 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -4012,35 +3965,35 @@ "Κάνοντας κλικ σε αυτή την επιλογή, θα χρησιμοποιήσετε τους δικούς σας " "παράγοντες βαθμονόμησης χρώματος. Αυτή η επιλογή είναι απενεργοποιημένη." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:852 msgid "Red:" msgstr "Κόκκινο:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:853 msgid "Green:" msgstr "Πράσινο:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:854 msgid "Blue:" msgstr "Μπλέ:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:855 msgid "x coordinate of the start of the white reference selection" msgstr "x συντεταγμένη της αρχής της επιλογής της αναφοράς του άσπρου" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:856 msgid "y coordinate of the start of the white reference selection" msgstr "y συντεταγμένη της αρχής της επιλογής της αναφοράς του άσπρου" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:857 msgid "Width of the white reference selection" msgstr "Πλάτος της επιλογής της αναφοράς του άσπρου" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:858 msgid "Height of the white reference selection" msgstr "Ύψος της επιλογής της αναφοράς του άσπρου" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:859 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -4051,7 +4004,7 @@ "Αν αυτή η επιλογή είναι κενή, τότε ολόκληρη η εικόνα θα χρησιμοποιηθεί σαν " "αναφορά." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:861 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." @@ -4060,7 +4013,7 @@ "αυτή την τιμή δεν θα ληφθούν υπόψη. Τα μαύρα εικονοστοιχεία εξαιρούνται " "πάντα από τον υπολογισμό." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:862 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." @@ -4069,38 +4022,33 @@ "αυτή την τιμή δεν θα ληφθούν υπόψη. Τα κορεσμένα εικονοστοιχεία εξαιρούνται " "πάντα από τον υπολογισμό." -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:863 msgid "Lower limit: " msgstr "Κάτω όριο: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:864 msgid "Upper limit: " msgstr "Άνω όριο: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:865 msgid "White reference" msgstr "Αναφορά άσπρου" -#: ../src/algos/PSF.c:690 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" msgstr "" -"Αποτέλεσμα PSF fit:\n" -"x0=%0.2f εικονοστοιχεία, y0=%0.2f εικονοστοιχεία\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Γωνία=%0.2f μοίρες\n" -"Τιμή υποβάθρου=%0.6f\n" -"Μέγιστη ένταση=%0.6f\n" -"Μέγεθος (%s)=%0.2f\n" -"RMSE=%.3e\n" +"Δεν υπάρχουν αρκετά δείγματα υποβάθρου. Δεν είναι δυνατό να υπολογιστεί το " +"υπόβαθρο που θα εξαχθεί.\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Δεν υπάρχει μνήμη - γίνεται ακύρωση" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "Δεν υπάρχουν αρκετά δείγματα" #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -4118,13 +4066,13 @@ msgstr "Ενίσχυση κορεσμού: γίνεται επεξεργασία...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1760 ../src/core/preprocess.c:68 +#: ../src/core/preprocess.c:305 ../src/core/siril.c:609 ../src/core/siril.c:900 +#: ../src/core/siril.c:996 ../src/core/siril.c:1088 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:317 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "Σφάλμα: ο υπολογισμός των στατιστικών απέτυχε.\n" @@ -4134,12 +4082,14 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:536 +#: ../src/gui/photometric_cc.c:554 msgid "There is no selection" msgstr "Δεν υπάρχει επιλογή" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:537 +#: ../src/gui/photometric_cc.c:555 msgid "Make a selection of the background area" msgstr "Κάντε μια επιλογή της περιοχής υποβάθρου" @@ -4147,7 +4097,7 @@ msgid "Make a selection of the white reference area" msgstr "Κάντε μια επιλογή της περιοχής λευκού υποβάθρου" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:313 msgid "Background reference:\n" msgstr "Αναφορά υποβάθρου:\n" @@ -4155,7 +4105,7 @@ msgid "White reference:\n" msgstr "Αναφορά άσπρου:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:300 msgid "Color calibration factors:\n" msgstr "Παράγοντες βαθμονόμησης χρώματος:\n" @@ -4163,44 +4113,31 @@ msgid "Color Calibration: processing...\n" msgstr "Βαθμονόμηση Χρώματος: γίνεται επεξεργασία...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Εικόνα %d: %ld εικονοστοιχεία διορθώθηκαν (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Αισθητική Διόρθωση: γίνεται επεξεργασία...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:245 +#: ../src/core/preprocess.c:345 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld εικονοστοιχεία διορθώθηκαν (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Μετασχηματισμός Fourier: γίνεται επεξεργασία...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "Υπάρχει κάτι λάθος με τα αρχεία σας\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Κανάλι #%d: έγινε εξαγωγή υποβάθρου.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Εξαγωγή υποβάθρου: γίνεται επεξεργασία...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Ανεπαρκή δείγματα υποβάθρου.\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:253 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" @@ -4215,82 +4152,101 @@ "Προειδοποίηση: Δεν υπάρχουν αρκετά εικονοστοιχεία στον δακτύλιο του ουρανού. " "Πρέπει να κάνετε μια μεγαλύτερη επιλογή.\n" +#: ../src/algos/photometry.c:353 ../src/algos/photometry.c:367 +msgid "Wrong value" +msgstr "Λάθος τιμή" + +#: ../src/algos/photometry.c:354 ../src/algos/photometry.c:368 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "" +"Η τιμή εσωτερικής ακτίνας πρέπει να είναι μικρότερη από την εξωτερική. " +"Παρακαλώ αλλάξτε την τιμή." + +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1834 +#: ../src/gui/callbacks.c:2891 ../src/gui/callbacks.c:4536 +#: ../src/gui/callbacks.c:4542 ../src/gui/callbacks.c:4563 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Σφάλμα" + #. Matching information -#: ../src/algos/plateSolver.c:714 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "%d ζεύγη ταιριάζουν.\n" -#: ../src/algos/plateSolver.c:716 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "Inliers:%*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "Ανάλυση:%*.3lf arcsec/px\n" -#: ../src/algos/plateSolver.c:736 +#: ../src/algos/plateSolver.c:762 #, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "" "Περιστροφή:%+*.2lf μοίρες %s\n" "\n" -#: ../src/algos/plateSolver.c:736 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "(ανεστραμμένο)" -#: ../src/algos/plateSolver.c:742 +#: ../src/algos/plateSolver.c:776 #, c-format msgid "Focal:%*.2lf mm\n" msgstr "" "Εστιακή: %*.2lf mm\n" "\n" -#: ../src/algos/plateSolver.c:743 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "Μέγεθος εικονοστοιχείου:%*.2lf µm\n" -#: ../src/algos/plateSolver.c:746 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "Οπτικό πεδίο: %s x %s\n" -#: ../src/algos/plateSolver.c:749 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "Κέντρο εικόνας: ΟΑ: %s, Απ.: %s\n" -#: ../src/algos/plateSolver.c:784 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "Κατάλογος μεγέθους NOMAD: % d αντικείμενα\n" -#: ../src/algos/plateSolver.c:818 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "Κατάλογος μεγέθους TYCHO-2: % d αντικείμενα\n" -#: ../src/algos/plateSolver.c:852 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "Κατάλογος μεγέθους Gaia DR2: % d αντικείμενα\n" -#: ../src/algos/plateSolver.c:886 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "Κατάλογος μεγέθους PPMXL: % d αντικείμενα\n" -#: ../src/algos/plateSolver.c:921 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "Κατάλογος μεγέθους Φωτεινών Αστέρων: % d αντικείμενα\n" -#: ../src/algos/plateSolver.c:981 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" @@ -4298,7 +4254,7 @@ "Η επίλυση της εικόνας απέτυχε. Η εικόνα δεν μπορούσε να ευθυγραμμιστεί με τα " "αστέρια αναφοράς.\n" -#: ../src/algos/plateSolver.c:984 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4313,7 +4269,7 @@ "Τέλος, λάβετε υπόψη ότι ο αλγόριθμος επίλυσης εικόνας πρέπει να εφαρμοστεί " "μόνο σε γραμμική εικόνα." -#: ../src/algos/plateSolver.c:1029 +#: ../src/algos/plateSolver.c:1067 #, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4321,19 +4277,19 @@ "Δεν έχουν επιλεχθεί αρκετά αστέρια στην εικόνα. Απαιτούνται τουλάχιστον% d " "αστέρια." -#: ../src/algos/plateSolver.c:1235 +#: ../src/algos/plateSolver.c:1258 msgid "There are no keywords stored in the FITS header.\n" msgstr "Δεν υπάρχουν λέξεις κλειδιά αποθηκευμένα στην κεφαλίδα FITS.\n" -#: ../src/algos/plateSolver.c:1236 +#: ../src/algos/plateSolver.c:1259 msgid "No metadata" msgstr "Δεν υπάρχουν μετα-δεδομένα" -#: ../src/algos/plateSolver.c:1283 +#: ../src/algos/plateSolver.c:1326 msgid "Astrometric solution detected" msgstr "Εντοπίστηκε αστρομετρική λύση" -#: ../src/algos/plateSolver.c:1283 +#: ../src/algos/plateSolver.c:1326 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." @@ -4341,6 +4297,27 @@ "Η αστρομετρική λύση που υπάρχει στην εικόνα θα διαγραφεί από τον γεωμετρικό " "μετασχηματισμό και η αναίρεση δεν θα είναι δυνατή." +#: ../src/algos/PSF.c:693 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"Αποτέλεσμα PSF fit:\n" +"x0=%0.2f εικονοστοιχεία, y0=%0.2f εικονοστοιχεία\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Γωνία=%0.2f μοίρες\n" +"Τιμή υποβάθρου=%0.6f\n" +"Μέγιστη ένταση=%0.6f\n" +"Μέγεθος (%s)=%0.2f\n" +"RMSE=%.3e\n" + #. only used for progress bar #: ../src/algos/rgradient.c:69 msgid "Rotational gradient in progress..." @@ -4350,33 +4327,33 @@ msgid "Rotational gradient complete." msgstr "Φίλτρο Βαθμιδωτής Περιστροφής ολοκληρώθηκε." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:222 +#: ../src/core/command.c:460 ../src/core/command.c:783 +#: ../src/core/command.c:951 ../src/core/command.c:986 +#: ../src/core/command.c:1066 ../src/core/command.c:1418 +#: ../src/core/command.c:1545 ../src/core/command.c:1568 +#: ../src/core/command.c:1596 ../src/core/command.c:1622 +#: ../src/core/command.c:1798 ../src/core/command.c:1867 +#: ../src/core/command.c:2720 ../src/gui/callbacks.c:3939 +#: ../src/gui/callbacks.c:4147 ../src/gui/callbacks.c:4305 +#: ../src/gui/callbacks.c:4338 ../src/gui/callbacks.c:4386 +#: ../src/gui/callbacks.c:4520 ../src/gui/callbacks.c:4674 +#: ../src/gui/callbacks.c:4853 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Μια άλλη λειτουργία είναι σε εξέλιξη, το νέο αίτημα αγνοείται.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "Findstar: γίνεται επεξεργασία...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "Αυτό το αστέρι έχει ήδη επιλεχθεί !\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "Peaker" @@ -4389,7 +4366,7 @@ msgstr "Σφάλμα στην ευθυγράμμιση επιπέδων." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Η εγγραφή ολοκληρώθηκε." @@ -4436,9 +4413,9 @@ msgid "You must at least load two layers before!\n" msgstr "Πρέπει να φορτώσετε τουλάχιστον δυο επίπεδα!\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:154 ../src/gui/wavelets.c:163 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4640 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Προειδοποίηση" @@ -4470,95 +4447,95 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Γίνεται αναπροσαρμογή του επιπέδου %d με %g φορές πιο φωτεινό\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:390 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "" "Ο πολλαπλασιασμός με συντελεστή μικρότερο ή ίσο με το 0 δεν είναι δυνατός.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:413 #, c-format msgid "Entropy: %.3lf\n" msgstr "Εντροπία: %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:449 msgid "Number of iterations must be > 0.\n" msgstr "Ο αριθμός των επαναλήψεων πρέπει να είναι >0.\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:454 msgid "Sigma must be > 0.\n" msgstr "Το Σίγμα πρέπει να είναι >0.\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:494 ../src/core/command.c:997 msgid "Crop: x and y must be positive values.\n" msgstr "Περικοπή: το x και το y πρέπει να είναι θετικές τιμές.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:498 ../src/core/command.c:1001 msgid "Crop: width and height must be greater than 0.\n" msgstr "Περικοπή: το πλάτος και το ύψος πρέπει να είναι μεγαλύτερα του 0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:502 ../src/core/command.c:1038 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "" "Περικοπή: το πλάτος και το ύψος, αντίστοιχα, πρέπει να λιγότερα του %d και " "%d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:511 ../src/core/command.c:1010 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Περικοπή: επιλέξτε μια περιοχή ή δώστε τα x,y, πλάτος, ύψος\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:152 +#: ../src/core/command.c:597 ../src/core/command.c:2556 +#: ../src/gui/callbacks.c:4638 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "" "Κυματίδιο: ο μέγιστος αριθμός σχεδίων για αυτό το μέγεθος εικόνας είναι %d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:161 +#: ../src/core/command.c:603 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Κυματίδιο: ο τύπος πρέπει να είναι %d ή %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:672 msgid "Cannot list files, set working directory first.\n" msgstr "" "Δεν μπορεί να γίνει κατάλογος των αρχείων, ορίστε πρώτα τον κατάλογο " "εργασίας.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:678 ../src/core/command.c:687 msgid "Siril cannot open the directory.\n" msgstr "Το Siril δεν μπορεί να ανοίξει τον κατάλογο.\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:709 #, c-format msgid "Link: %s\n" msgstr "Σύνδεσμος: %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:713 #, c-format msgid "Directory: %s\n" msgstr "Κατάλογος: %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:723 ../src/core/command.c:730 #, c-format msgid "Sequence: %s\n" msgstr "Αλληλουχία: %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:726 ../src/core/command.c:728 #, c-format msgid "Image: %s\n" msgstr "Εικόνα: %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:735 ../src/core/command.c:2535 msgid "********* END OF THE LIST *********\n" msgstr "********* ΤΕΛΟΣ ΛΙΣΤΑΣ *********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:765 msgid "The scaling factor must be less than 5.0\n" msgstr "Ο παράγοντας κλιμάκωσης πρέπει να είναι μικρότερος του 5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:835 ../src/core/command.c:933 +#: ../src/core/command.c:955 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4566,12 +4543,12 @@ "Η τρέχουσα επιλογή είναι πολύ μεγάλη. Για τον καθορισμό του PSF, κάντε μια " "επιλογή γύρω από ένα αστέρι.\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:839 ../src/core/command.c:937 +#: ../src/core/command.c:959 ../src/io/sequence.c:1589 msgid "Select an area first\n" msgstr "Επιλέξτε πρώτα μια περιοχή\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:845 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" @@ -4579,18 +4556,18 @@ "Σχετικό μέγεθος: %.3lf, Πραγματικό μειωμένο μέγεθος: %.3lf, Αντιστάθμιση: " "%.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:861 ../src/core/command.c:916 +#: ../src/core/command.c:978 msgid "This command can be used only when a sequence is loaded\n" msgstr "" "Αυτή η εντολή μπορεί να χρησιμοποιηθεί μόνο όταν έχει φορτωθεί μια " "αλληλουχία\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:869 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Τρέξτε ένα PSF πρώτα για την αλληλουχία (δείτε το seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:873 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4599,12 +4576,12 @@ "Το μέγεθος της αναφοράς έχει οριστεί για το αστέρι %d έως %f και θα " "υπολογιστεί για κάθε εικόνα\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:885 #, c-format msgid "FITS extension unknown: %s\n" msgstr "Άγνωστη προέκταση FITS: %s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:908 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" @@ -4612,131 +4589,130 @@ "Λάθος τιμές παραμέτρων. Το Σίγμα πρέπει να είναι >= 0.05 και η καμπυλότητα " "μεταξύ 0 και 0.9.\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:921 msgid "Reference magnitude unset for sequence\n" msgstr "Το μέγεθος αναφοράς απενεργοποιήθηκε για την αλληλουχία.\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:973 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Γίνεται εκτέλεση του PSF στην φορτωμένη αλληλουχία, επίπεδο %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1024 ../src/core/command.c:1030 +#: ../src/core/command.c:1637 ../src/core/command.c:1643 +#: ../src/core/command.c:1879 ../src/core/command.c:1886 +#: ../src/core/command.c:2143 ../src/core/command.c:2285 +#: ../src/core/command.c:2370 ../src/core/command.c:2378 #, c-format -msgid "No sequence %s found.\n" -msgstr "Δεν βρέθηκε η αλληλουχία %s .\n" +msgid "No sequence `%s' found.\n" +msgstr "Δεν βρέθηκε η αλληλουχία `%s' .\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1059 #, c-format msgid "Background value: %d\n" msgstr "Τιμή υποβάθρου: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1114 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Το αρχείο %s έχει δημιουργηθεί για το επίπεδο %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1197 msgid "Number of layers MUST be 1 or 3\n" msgstr "Ο αριθμός των επιπέδων ΠΡΕΠΕΙ να είναι 1 ή 3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1212 msgid "new empty image" msgstr "νέα κενή εικόνα" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1229 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "Οι τιμές πρέπει να είναι θετικές και μικρότερες του %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1249 ../src/core/command.c:1510 msgid "Wrong parameters.\n" msgstr "Λάθος παράμετροι.\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1254 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "Fill2: επιλέξτε μια περιοχή ή δώστε τα x, y, πλάτος, ύψος\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1277 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "Βρέθηκαν %d αστέρια στην εικόνα, κανάλι #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1291 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "το find_hot πρέπει να εφαρμοστεί σε κυρίως dark καρέ ενός καναλιού" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1299 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld ψυχρά και %ld θερμά εικονοστοιχεία\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1304 ../src/core/command.c:1339 #, c-format msgid "Cannot open file: %s\n" msgstr "Το αρχείο δεν μπορεί να ανοιχτεί: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1400 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "" "αισθητική διόρθωση: σφάλμα διαμόρφωσης του αρχείου cosme στην γραμμή %d: %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1408 msgid "There were some errors, please check your input file.\n" msgstr "Υπήρξαν κάποια σφάλματα, παρακαλώ ελέγξτε το αρχείο εισόδου.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1430 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "Το μέγεθος του πυρήνα ΠΡΕΠΕΙ να είναι μονό και μεγαλύτερο του 1.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1435 msgid "Modulation value MUST be between 0 and 1\n" msgstr "Η τιμή διαμόρφωσης πρέπει να είναι ανάμεσα σε 0 και 1\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1458 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Οι συντεταγμένες του κέντρου βαρύτητας είναι (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1573 msgid "FFT does not work with sequences\n" msgstr "Το FFT δεν δουλεύει με αλληλουχίες\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1677 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Χρησιμοποιήστε αυτή την εντολή για να επιλέξετε εικόνες μιας αλληλουχίας, " "φορτώστε πρώτα μια αλληλουχία.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1683 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "Το πρώτο όρισμα θα πρέπει να είναι ανάμεσα στο 0 και του αριθμού των εικόνων " "μείον ένα.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1717 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "" "Η ενημέρωση της επιλογής ολοκληρώθηκε, %d εικόνες επιλέχθηκαν στην " "αλληλουχία\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1736 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Το Siril δεν μπορεί να χωρίσει επίπεδα. Σιγουρευτείτε ότι η εικόνα σας είναι " "σε λειτουργία RGB.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1780 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4745,63 +4721,92 @@ "Επίπεδο %s : Μέσος όρος: %0.1lf, Διάμεσος: %0.1lf, Σίγμα: %0.1lf, Απόκλιση " "Μέσου Όρου: %0.1lf, Ελάχιστο: %0.1lf, Μέγιστο: %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1810 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Μετατροπή: σφάλμα ανοίγματος καταλόγου εργασίας %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1829 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Μετατροπή: γίνεται επεξεργασία...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1840 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Μετατροπή: δεν έχει οριστεί κατάλογος εργασίας.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1899 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Ευθυγράμμιση Καθολικών Αστεριών (βαθύ ουρανού)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "" -"Δεν υπάρχει αρκετός διαθέσιμος χώρος στον δίσκο για την εκτέλεση της " -"λειτουργίας Drizzle!! \n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1960 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "Εγγραφή: γίνεται επεξεργασία με την μέθοδο: %s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1979 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" +"Οι επιλογές ομαλοποιησης δεν επιτρέπονται σε αυτό το γενικό πλαίσιο, δεν " +"λαμβάνονται υπόψη.\n" + +#: ../src/core/command.c:1999 ../src/core/command.c:2017 +#: ../src/core/command.c:2035 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "" +"Δεν ήταν δυνατή η ανάλυση του ορίσματος '%s' στο φίλτρο '%s', γίνεται " +"ακύρωση.\n" + +#: ../src/core/command.c:2006 ../src/core/command.c:2024 +#: ../src/core/command.c:2042 ../src/core/command.c:2055 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Λείπει το όρισμα σε %s, γίνεται ακύρωση.\n" + +#: ../src/core/command.c:2061 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"Η επιλογή του ονόματος αρχείου εξόδου δεν επιτρέπεται σε αυτό το γενικό " +"πλαίσιο, δεν λαμβάνεται υπόψη.\n" + +#: ../src/core/command.c:2065 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Μη αναμενόμενο όρισμα για σώρευση `%s', γίνεται ακύρωση.\n" + +#: ../src/core/command.c:2082 #, c-format msgid "Stacking sequence %s\n" msgstr "Γίνεται σώρευση της αλληλουχίας %s.\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2092 +msgid "Not using rejection for stacking\n" +msgstr "Δεν γίνεται χρήση απόρριψης στη σώρευση\n" + +#: ../src/core/command.c:2135 #, c-format msgid "Could not save the stacking result %s\n" msgstr "Το αποτέλεσμα της σώρευσης δεν μπορούσε να αποθηκευτεί %s\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2157 msgid "Looking for sequences in current working directory...\n" msgstr "Γίνεται αναζήτηση για αλληλουχίες στον τρέχων κατάλογο...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2159 msgid "Error while searching sequences or opening the directory.\n" msgstr "Σφάλμα κατά την αναζήτηση αλληλουχιών ή ανοίγματος του καταλόγου.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2168 msgid "Starting stacking of found sequences...\n" msgstr "Γίνεται εκκίνηση σώρευσης των αλληλουχιών που βρέθηκαν...\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2176 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "Έγινε σώρευση %d αλληλουχιών με επιτυχία.\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2216 ../src/core/command.c:2311 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4809,20 +4814,20 @@ "Η σώρευση μέσου όρου με απόρριψη χρησιμοποιεί την απόρριψη Winsor και " "απαιτεί δυο ορισμούς: κάτω σίγμα και άνω σίγμα. \n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2225 ../src/core/command.c:2320 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "Ο παρεχόμενος τύπος σώρευσης είναι άγνωστος (%s).\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "Ο τύπος μεθόδου σώρευσης '%s' δεν είναι έγκυρος\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2256 msgid "Stacked sequence successfully.\n" msgstr "Έγινε σώρευση της αλληλουχίας με επιτυχία.\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2444 ../src/gui/callbacks.c:3951 msgid "Preprocessing...\n" msgstr "Γίνεται προ-επεξεργασία...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2494 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4831,26 +4836,49 @@ "Ο αριθμός των λογικών επεξεργαστών ΠΡΕΠΕΙ να είναι μεγαλύτερος του 0 και " "μικρότερος ή ίσος με %d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2504 #, c-format msgid "Using now %d logical processors\n" msgstr "Γίνεται χρήση %d λογικών επεξεργαστών\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2516 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"Το αποδεκτό εύρος για το λόγο της μνήμης που χρησιμοποιείται για την σωρευση " +"είναι [0.05, 2], με τιμές κάτω από τη διαθέσιμη μνήμη που συνιστάται\n" + +#: ../src/core/command.c:2520 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Η ρύθμιση του λόγου της μνήμης που χρησιμοποιείται για σώρευση πάνω από 1 θα " +"απαιτήσει τη χρήση μνήμης στο δίσκο, η οποία είναι πολύ αργή και δεν " +"συνιστάται (%g ζητήθηκε)\n" + +#: ../src/core/command.c:2524 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "Η χρησιμοποιήσιμη μνήμη για την σώρεσυη άλλαξε σε %g\n" + +#: ../src/core/command.c:2530 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* ΛΙΣΤΑ ΔΙΑΘΕΣΙΜΩΝ ΕΝΤΟΛΩΝ *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2611 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Άγνωστη εντολή: '%s' ή δεν έχει υλοποιηθεί ακόμα\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2618 #, c-format msgid "Usage: %s\n" msgstr "Χρήση: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2625 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "" @@ -4858,56 +4886,62 @@ "\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2631 #, c-format msgid "Running command: %s\n" msgstr "Γίνεται εκτέλεση τηε εντολής: %s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2680 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "Σφάλμα στην γραμμή: %d. Γίνεται έξοδος από την ομαδική επεξεργασία\n" +msgid "Error in line %d: '%s'.\n" +msgstr "" +"Σφάλμα στη γραμμή %d: '%s'.\n" +"\n" + +#: ../src/core/command.c:2681 +msgid "Exiting batch processing.\n" +msgstr "Έξοδος από την επεξεργασία παρτίδας.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2700 msgid "Script execution finished successfully.\n" msgstr "Η εκτέλεση δέσμης ενεργειών ολοκληρώθηκε με επιτυχία.\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2702 msgid "Total execution time" msgstr "Χρόνος εκτέλεσης" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2704 msgid "Script execution failed.\n" msgstr "Η εκτέλεση της δέσμης ενεργειών απέτυχε.\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:469 +#: ../src/core/command.c:2730 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "Το αρχείο [%s] δεν υπάρχει\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2738 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "Εκκίνηση δέσμης ενεργειών %s\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2745 msgid "Command execution failed.\n" msgstr "Η εκτέλεση της εντολής απέτυχε.\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2870 msgid "Can be used in a script: " msgstr "Μπορεί να χρησιμοποιηθεί σε μια δέσμη ενεργειών: " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2873 msgid "YES" msgstr "ΝΑΙ" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2875 msgid "NO" msgstr "ΟΧΙ" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2885 msgid "No help for this command" msgstr "Δεν υάρχει βοήθεια για αυτή την εντολή" @@ -4994,10 +5028,18 @@ msgstr "Ίδια λειτουργία με το COSME αλλά εφαρμόζεται σε εικόνες RAW CFA" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "" -"Περικόπτει την τρέχουσα εικόνα μέσα στο ορθογώνιο που είχε επιλεγεί " -"προηγουμένως" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Μπορεί να χρησιμοποιηθεί με το GUI: εάν μια επιλογή έχει γίνει με το " +"ποντίκι, καλώντας την εντολή CROP χωρίς ορίσματα, γίνεται περικοπή σε αυτή " +"την επιλογή. Διαφορετικά, ή σε δέσμες ενεργειών, πρέπει να δοθούν ορίσματα, " +"με το \"x\" και το \"y\" να είναι οι συντεταγμένες της επάνω αριστερής " +"γωνίας, και τα \"width\" και το \"height\" το μεγέθος της επιλογής" #: ../src/core/command_def.h:22 msgid "" @@ -5266,8 +5308,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5278,10 +5322,13 @@ "και flat που δίνονται στο όρισμα. Είναι δυνατό να οριστεί εάν οι εικόνες " "είναι CFA για κοσμητικούς λόγους διόρθωσης με την επιλογή \"-cfa\" και " "επίσης για το demosaic των εικόνων στο τέλος της διαδικασίας με το \"-debayer" -"\". Η επιλογή \"-flip\" λέει στο Siril να διαβάσει την εικόνα από πάνω προς " -"τα κάτω για τη λειτουργία demosaic και η επιλογή -equalize_cfa\" εξισώνει " -"την μέση ένταση των επιπέδων RGB του κυρίως CFA flat. Επίσης είναι δυνατόν " -"να βελτιστοποιηθεί η αφαίρεση dark με το \"-opt\".\n" +"\". Αυτή η επιλογή μπορεί να σχετιστεί με το \"-stretch\" έτσι ώστε να γίνει " +"τέντωμα της εικόνας σε 16-bit κατά τη διάρκεια της λειτουργίας (λειτουργεί " +"μόνο με εικόνες από DSLR). Η επιλογή \"-flip\" λέει στο Siril να διαβάσει " +"την εικόνα από πάνω προς τα κάτω για τη λειτουργία demosaic και η επιλογή -" +"equalize_cfa\" εξισώνει την μέση ένταση των επιπέδων RGB του κυρίως CFA " +"flat. Επίσης είναι δυνατόν να βελτιστοποιηθεί η αφαίρεση dark με το \"-opt" +"\".\n" "\n" "Να σημειωθεί πως μόνο τα θερμά εικονοστοιχεία διορθώνονται στη διαδικασία " "κοσμητικής διόρθωσης" @@ -5527,7 +5574,7 @@ "του αστεριού αναφοράς αλλά και την αντιστάθμιση του μεγέθους δείτε το " "UNSETMAGSEQ" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" @@ -5535,38 +5582,47 @@ "Χωρίζει την έγχρωμη εικόνα σε τρία ξεχωριστά αρχεία (ένα για κάθε χρώμα) και " "τις αποθηκεύει σε αρχείο \"r\" \"g\" και \"b\"" -# sum, max, min, med or median, rej mean do i have to translate these types? -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" "Σωρεύει την αλληλουχία \"sequencename\" χρησιμοποιώντας επιλογές. Οι " "επιτρεπόμενοι τύποι είναι: sum, max, min, med or median, και rej ή mean τα " "οποία απαιτούν την χρήση επιπλέον ορισμών \"sigma low\" και \"high\" που " "χρησιμοποιούνται από τον αλγόριθμο απόρριψης Αποκοπή Σίγμα Winsor (δεν " -"μπορεί να αλλαχθεί από εδώ). Διαφορετικοί τύποι κανονικοποίησης " -"επιτρέπονται: \"-norm=add\" για πρόσθεση, \"-norm=mul\" για πολλαπλασιασμό. " -"Οι επιλογές \"-norm=addscale\" και \"-norm=mulscale\" εφαρμόζουν τις ίδιες " -"κανονικοποιήσεις αλλά με λειτουργίες κλιμάκωσης. Αν δεν δοθεί άλλο όρισμα " -"πλην του ονόματος της αλληλουχίας, θα ληφθεί υπόψη η αθροιστική σώρευση" +"μπορεί να αλλαχθεί από εδώ).\n" +"Διαφορετικοί τύποι κανονικοποίησης επιτρέπονται: \"-norm=add\" για πρόσθεση, " +"\"-norm=mul\" για πολλαπλασιασμό. Οι επιλογές \"-norm=addscale\" και \"-" +"norm=mulscale\" εφαρμόζουν τις ίδιες κανονικοποιήσεις αλλά με λειτουργίες " +"κλιμάκωσης.\n" +"Αν δεν δοθεί άλλο όρισμα πλην του ονόματος της αλληλουχίας, θα ληφθεί υπόψη " +"η αθροιστική σώρευση.\n" +"Το τελικό όνομα της εικόνας μπορεί να οριστεί με την επιλογή \"-out=\".\n" +"Δείτε την αναφορά της εντολής για την πλήρη περιγραφή της εντολής." -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" "Ανοίγει όλες τις αλληλουχίες στο CWD και τις σωρεύει με τον προαιρετικό " -"προκαθορισμένο τύπο σώρευσης ή με αθροιστική σώρευση. Δείτε την εντολή STACK " -"για περιγραφή επιλογών" +"προκαθορισμένο τύπο σώρευσης και φιλταρίσματος ή με αθροιστική σώρευση. " +"Δείτε την εντολή STACK για περιγραφή επιλογών" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5574,22 +5630,22 @@ "Αποδίδει τα καθολικά στατιστικά στοιχεία της τρέχουσας εικόνας. Εάν γίνει " "μια επιλογή, η εντολή επιστρέφει στατιστικά στοιχεία μέσα στην επιλογή" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Αντικαθιστά τιμές κάτω από \"level\" με \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Αντικαθιστά τιμές πάνω από \"level\" με \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Αντικαθιστά τιμές κάτω από \"lo\" με \"lo\" και τιμές πάνω από \"hi\" με \"hi" "\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5597,11 +5653,11 @@ "Επιτρέπει την εύκολη μαζική αποεπιλογή των εικόνων στην φορτωμένη αλληλουχία " "(από \"from\" έως και το \"to\"). Δείτε το SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Επαναφέρετε τη βαθμονόμηση μεγέθους σε 0. Βλέπε SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5609,7 +5665,7 @@ "Επαναφέρει τη βαθμονόμηση μεγέθους και το αστέρι αναφοράς για την ακολουθία. " "Βλέπε SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5617,13 +5673,13 @@ "Εφαρμόζει στην εικόνα εργασίας μια μάσκα όξυνσης με σίγμα \"sigma\" και με " "συντελεστή \"multi\"" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "" "Εμφανίζει μια εικόνα με \"low\" και \"high\" ως το χαμηλό και υψηλό όριο" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5635,7 +5691,7 @@ "'a trous'. Το αποτέλεσμα αποθηκεύεται σε ένα αρχείο σαν δομή η οποία " "περιέχει τα επίπεδα, έτοιμα για σταθμισμένη ανακατασκευή με WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5651,13 +5707,39 @@ msgid "Loading init file: '%s'\n" msgstr "Γίνεται φόρτωση του αρχείου init: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"Γίνεται επαναφορά του τρέχοντος καταλόγου εργασίας στον αρχικό κατάλογο, ο " -"σωσμένος κατάλογος δεν είναι πια διαθέσιμος\n" +"Δεν υπάρχει αρκετός διαθέσιμος χώρος στον δίσκο για την εκτέλεση της " +"λειτουργίας: %sB διαθέσιμα ενώ %sB χρειάζονται (λείπουν %sB)\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "Δεν υπάρχει αρκετός ελεύθερος χώρος στον δίσκο" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Άνοιγμα αρχείου" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Άνοιγμα" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Cancel" +msgstr "_Άκυρο" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +msgid "Save File" +msgstr "Αποθήκευση Αρχείου" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Save" +msgstr "_Αποθήκευση" # is the %s value ok where it is? this way it will make more sense in greek # Sure, the most important is to keep order if you have @@ -5673,51 +5755,95 @@ # is the %s value ok where it is? this way it will make more sense in greek # Sure, the most important is to keep order if you have # %d %s %d in this order then you must keep it. -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" msgstr "Δεν ήταν δυνατό να ανοιχτεί η ονομασμένη σωλήνωση\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" msgstr "η εντολή είναι πολύ μεγάλη ή αλλοιωμένη\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "Η εντολή διακόπηκε\n" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:155 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "" +"Βελτιστοποίηση dark: k0=%.3lf\n" +"\n" + +#: ../src/core/preprocess.c:213 +#, c-format +msgid "Pre-processing image %s" +msgstr "Γίνεται προ-επεξεργασία της εικόνας %s" + +#: ../src/core/preprocess.c:252 ../src/core/preprocess.c:348 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"Η αισθητική διόρθωση Darkmap υποστηρίζεται μόνο με εικόνες μονού καναλιού\n" + +#: ../src/core/preprocess.c:263 +#, c-format +msgid "Saving image %s" +msgstr "Γίνεται αποθήκευση της εικόνας %s" + +#: ../src/core/preprocess.c:309 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Η τιμή ομαλοποίησης αξιολογήθηκε αυτόματα: %.2lf\n" + +#: ../src/core/preprocess.c:357 +#, c-format +msgid "Loading and pre-processing image %d/%d (%s)" +msgstr "Γίνεται φόρτωμα και προ-επεξεργασία της εικόνας %d/%d (%s)" + +#: ../src/core/preprocess.c:363 +#, c-format +msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgstr "" +"Δεν μπορούσε να γίνει ανάγνωση σε ένα από τα αρχεία RAW: %s. Γίνεται " +"ακύρωση της προ-επεξεργασίας." + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "Δεν έχει επιλεχθεί εικόνα για επεξεργασία, γίνεται ματαίωση\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Η προετοιμασία επεξεργασίας της αλληλουχίας απέτυχε.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Ο σχεδιασμός του δείκτη εξόδου απέτυχε (%d/%d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": γίνεται επεξεργασία...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Γίνεται επεξεργασία της εικόνας %d (%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Η επεξεργασία της αλληλουχίας απέτυχε. Δείτε το αρχείο καταγραφής." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "Η επεξεργασία της αλληλουχίας απέτυχε.\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "" "Η επεξεργασία της αλληλουχίας πέτυχε μερικώς. Δείτε το αρχείο καταγραφής." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " @@ -5726,142 +5852,197 @@ "Η επεξεργασία ακολουθίας πέτυχε μερικώς, με% d εικόνες που απέτυχαν και που " "αποκλείστηκαν προσωρινά από την ακολουθία.\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Επιτυχής επεξεργασία της αλληλουχίας." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "Επιτυχής επεξεργασία της αλληλουχίας.\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "Η οριστικοποίηση επεξεργασίας της αλληλουχίας απέτυχε.\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:435 msgid "Process aborted by user\n" msgstr "Η διαδικασία ακυρώθηκε από τον χρήστη\n" -#: ../src/core/siril.c:164 +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" +msgstr "" +"Φίλτρο αλληλουχίας: οι τιμές μπορούν να είναι μόνο είτε κυριολεκτικές είτε " +"ποσοστιαίες \n" + +#: ../src/core/sequence_filtering.c:200 #, c-format -msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" -msgstr "imoper: οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %u|%u, υ = %u|%u)\n" +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Γίνεται Χρήση του φίλτρου επιλεγμένων εικόνων (%d/%d της ακολουθίας)\n" -#: ../src/core/siril.c:211 +#: ../src/core/sequence_filtering.c:208 #, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %d|%d, υ = %d|%d)\n" +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Γίνεται χρήση φίλτρου εικόνων με FWHM αστέρων (κάτω από %f)\n" -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:383 ../src/gui/plot.c:443 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Σφάλμα" +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "" +"Γίνεται χρήση φίλτρου εικόνων εικόνων με καμπυλότητα αστεριού (πάνω από %f)\n" -#: ../src/core/siril.c:249 +#: ../src/core/sequence_filtering.c:224 #, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Γίνεται χρήση φίλτρου ποιότητας εικόνας (κάτω από %f)\n" + +#: ../src/core/sequence_filtering.c:251 msgid "" -"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" -"%d)\n" +"Provided filtering options do not allow at least two images to be " +"processed.\n" msgstr "" -"addmax: οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %d|%d, υ = %d|%d, επίπεδα " -"= %d|%d)\n" +"Οι παρεχόμενες επιλογές φιλτραρίσματος δεν επιτρέπουν την επεξεργασία " +"τουλάχιστον δύο εικόνων.\n" -#: ../src/core/siril.c:337 -msgid "Unsharp: processing...\n" -msgstr "Όξυνση: γίνεται επεξεργασία...\n" +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"Η εικόνα αναφοράς δεν είναι στη επιλεγμένη σειρά εικόνων. Για να αποφύγετε " +"προβλήματα, παρακαλώ αλλάξτε τη ή αλλάξτε τις παραμέτρους φιλτραρίσματος.\n" -#: ../src/core/siril.c:587 -msgid "Could not compute normalization values for the images, aborting.\n" +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "Χρήση της εικόνας %d ως προσωρινή εικόνα αναφοράς\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" msgstr "" -"Δεν ήταν δυνατός ο υπολογισμός των τιμών κανονικοποίησης για τις εικόνες, " -"ματαίωση.\n" +"Προσοχή: μερικές εικόνες δεν έχουν διαθέσιμες πληροφορίες για επιλογή " +"καλύτερης εικόνας, γίνεται χρήση μόνο των διαθέσιμων δεδομένων (%d εικόνες " +"στο %d).\n" + +#: ../src/core/sequence_filtering.c:367 +#, c-format +msgid "Processing all images in the sequence (%d)\n" +msgstr "Γίνεται επεξεργασία όλων των εικόνων της αλληλουχίας (%d)\n" -#: ../src/core/siril.c:753 +#: ../src/core/sequence_filtering.c:370 #, c-format -msgid "Dark optimization: k0=%1.3lf\n" +msgid "Processing only selected images in the sequence (%d)\n" msgstr "" -"Βελτιστοποίηση dark: k0=%1.3lf\n" -"\n" +"Γίνεται επεξεργασία μόνο των επιλεγμένων εικόνων της αλληλουχίας (%d)\n" -#: ../src/core/siril.c:836 +#: ../src/core/sequence_filtering.c:373 #, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Η τιμή ομαλοποίησης αξιολογήθηκε αυτόματα: %.2lf\n" +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "" +"Γίνεται επεξεργασία των εικόνων εικόνων της αλληλουχίας με FWHM μικρότερο ή " +"ίσο του %g (%d)\n" -#: ../src/core/siril.c:843 +#: ../src/core/sequence_filtering.c:378 #, c-format -msgid "Pre-processing image %s" -msgstr "Γίνεται προ-επεξεργασία της εικόνας %s" +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "" +"Γίνεται επεξεργασία των εικόνων της ακολουθίας με στρογγυλότητα μεγαλύτερη ή " +"ίση από %g (%d)\n" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 +#: ../src/core/sequence_filtering.c:383 +#, c-format msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" msgstr "" -"Η αισθητική διόρθωση Darkmap υποστηρίζεται μόνο με εικόνες μονού καναλιού\n" +"Γίνεται επεξεργασία των εικόνων της ακολουθίας με ποιότητα μεγαλύτερη ή ίση " +"από %g (%d)\n" -#: ../src/core/siril.c:895 +#: ../src/core/sequence_filtering.c:388 #, c-format -msgid "Saving image %s" -msgstr "Γίνεται αποθήκευση της εικόνας %s" +msgid "Processing images whose output don't already exist (%d)" +msgstr "Γίνεται επεξεργασία εικόνων των οποίων η έξοδος δεν υπάρχει (%d)" -#: ../src/core/siril.c:944 +#: ../src/core/sequence_filtering.c:405 #, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Γίνεται φόρτωμα και προ-επεξεργασία της εικόνας %d/%d (%s)" +msgid "for a total of images processed of %d)\n" +msgstr "για ένα σύνολο εικόνων που επεξεργάστηκαν από %d)\n" -#: ../src/core/siril.c:950 +#: ../src/core/siril.c:161 #, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "imoper: οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %u|%u, υ = %u|%u)\n" + +#: ../src/core/siril.c:203 +#, c-format +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" msgstr "" -"Δεν μπορούσε να γίνει ανάγνωση σε ένα από τα αρχεία RAW: %s. Γίνεται " -"ακύρωση της προ-επεξεργασίας." +"addmax: οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %d|%d, υ = %d|%d, επίπεδα " +"= %d|%d)\n" + +#: ../src/core/siril.c:291 +msgid "Unsharp: processing...\n" +msgstr "Όξυνση: γίνεται επεξεργασία...\n" + +#: ../src/core/siril.c:541 +msgid "Could not compute normalization values for the images, aborting.\n" +msgstr "" +"Δεν ήταν δυνατός ο υπολογισμός των τιμών κανονικοποίησης για τις εικόνες, " +"ματαίωση.\n" -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:673 #, c-format msgid "Extracting %s..." msgstr "Γίνεται εξαγωγή %s..." -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:716 msgid "Median Filter: processing...\n" msgstr "Φίλτρο Διαμέσου: γίνεται επεξεργασία...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:725 msgid "Median filter failed" msgstr "Αποτυχία φίλτρου διαμέσου" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:793 msgid "Median filter applied" msgstr "Εφαρμογή φίλτρου διαμέσου" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:870 msgid "Banding Reducing: processing...\n" msgstr "Μείωση Λωρίδων: γίνεται επεξεργασία...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1039 msgid "backgroundnoise: Error, no data computed\n" msgstr "backgroundnoise: Σφάλμα, δεν υπολογίστηκαν δεδομένα\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1049 msgid "backgroundnoise: does not converge\n" msgstr "backgroundnoise: δεν μπορεί να γίνει σύγκλιση\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1079 msgid "Noise standard deviation: calculating...\n" msgstr "Τυπική απόκλιση θορύβου: γίνεται υπολογισμός...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1099 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Τιμή θορύβου υποβάθρου (κανάλι: #%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1114 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Lucy-Richardson deconvolution: γίνεται επεξεργασία...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "Αρχεία καταγραφής (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "" @@ -5918,215 +6099,147 @@ "Σφάλμα Ι/Ο Αρχείου: Δεν ήταν δυνατή η εγγραφή αρχείου αναίρεσης στο %s: " "[%s]\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "Άγνωστο σφάλμα\n" -#: ../src/core/utils.c:354 -msgid "No such file or directory\n" -msgstr "Δεν υπάρχει αυτό το αρχείο ή ο κατάλογος\n" - -#: ../src/core/utils.c:357 -#, c-format -msgid "\"%s\" is not a directory\n" -msgstr "" -"Το \"%s\" δεν είναι κατάλογος\n" -"\n" - -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 -#, c-format -msgid "You don't have permission to write in this directory: %s\n" -msgstr "" -"Δεν έχετε άδεια να γράψετε σε αυτό τον κατάλογο: %s\n" -"\n" - -#: ../src/core/utils.c:373 -#, c-format -msgid "Setting CWD (Current Working Directory) to '%s'\n" -msgstr "Γίνεται ορισμός του τρέχοντος καταλόγου εργασίας στο '%s'\n" - -#: ../src/core/utils.c:380 -#, c-format -msgid "Could not change directory to '%s'.\n" -msgstr "Δεν ήταν δυνατή η αλλαγή του καταλόγου στο '%s'.\n" - -#: ../src/core/utils.c:799 -msgid "Filename is too long, not expanding it\n" -msgstr "Το όνομα του αρχείου είναι πολύ μεγάλο, δεν γίνεται επέκταση του\n" - -#: ../src/core/utils.c:1019 -#, c-format -msgid "Checking GTK version ... GTK-%d.%d\n" -msgstr "Γίνεται έλεγχος της έκδοσης GTK ... GTK-%d.%d\n" - -#: ../src/core/utils.c:1042 -#, c-format -msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" -msgstr "Η έκδοση του GTK δεν ταιριάζει με τις απαιτήσεις: (GTK-%d.%d)\n" - -#: ../src/core/utils.c:1048 -#, c-format -msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -msgstr "" -"Δεν ήταν δυνατό να φορτωθεί το αρχείο CSS: %s. Παρακαλώ εγκαταστήστε ξανά%s\n" - -#: ../src/core/utils.c:1058 ../src/main.c:257 -#, c-format -msgid "Successfully loaded '%s'\n" -msgstr "Το '%s' φορτώθηκε με επιτυχία\n" - -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Τα αστέρια πρέπει να έχουν τις ίδιες μονάδες." - -#: ../src/gui/PSF_list.c:171 -#, c-format -msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" -"Γκαουσιανό PSF μέσου όρου\n" -"\n" -"N:\t%d αστέρια\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Γωνία:\t%.2f μοίρες\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Αστέρι %d από %d" +#: ../src/core/utils.c:299 +msgid "No such file or directory\n" +msgstr "Δεν υπάρχει αυτό το αρχείο ή ο κατάλογος\n" -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "Αρχεία FITS (*.fit, *.fits, *.fts)" +#: ../src/core/utils.c:302 +#, c-format +msgid "\"%s\" is not a directory\n" +msgstr "" +"Το \"%s\" δεν είναι κατάλογος\n" +"\n" -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "Αρχεία RAW κάμερας DSLR" +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2890 +#, c-format +msgid "You don't have permission to write in this directory: %s\n" +msgstr "" +"Δεν έχετε άδεια να γράψετε σε αυτό τον κατάλογο: %s\n" +"\n" -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "Αρχεία Γραφικών (*.bmp" +#: ../src/core/utils.c:318 +#, c-format +msgid "Setting CWD (Current Working Directory) to '%s'\n" +msgstr "Γίνεται ορισμός του τρέχοντος καταλόγου εργασίας στο '%s'\n" -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Αρχεία Netpbm (*.ppm, *.pnm, *.pgm)" +#: ../src/core/utils.c:321 +#, c-format +msgid "Could not change directory to '%s'.\n" +msgstr "Δεν ήταν δυνατή η αλλαγή του καταλόγου στο '%s'.\n" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "Αρχεία IRIS PIC (*.pic)" +#: ../src/core/utils.c:488 +msgid "Filename is too long, not expanding it\n" +msgstr "Το όνομα του αρχείου είναι πολύ μεγάλο, δεν γίνεται επέκταση του\n" -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "Αρχεία SER (*.ser)" +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Γίνεται έλεγχος της έκδοσης GTK ... GTK-%d.%d\n" -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "Αρχεία ταινίας (*.avi, *.mpg, ...)" +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "Η έκδοση του GTK δεν ταιριάζει με τις απαιτήσεις: (GTK-%d.%d)\n" -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Άνοιγμα αρχείου" +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "" +"Δεν ήταν δυνατό να φορτωθεί το αρχείο CSS: %s. Παρακαλώ εγκαταστήστε ξανά%s\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Άνοιγμα" +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "Το '%s' φορτώθηκε με επιτυχία\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Άκυρο" +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Konstantinos Stavropoulos " + +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "Σχετικά με το Siril" + +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Πρόγραμμα (προ-)επεξεργασίας αστρονομικών εικόνων" + +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Επισκεφτείτε την ιστοσελίδα του Siril" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:799 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "Η εικόνα %d έχει αποεπιλεγεί από την αλληλουχία\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:809 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "Η εικόνα %d έχει επιλεχθεί από την αλληλουχία\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:843 msgid "Selected all images from sequence\n" msgstr "Όλες οι εικόνες της αλληλουχίας έχουν επιλεχθεί\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:847 msgid "Unselected all images from sequence\n" msgstr "Όλες οι εικόνες της αλληλουχίας έχουν αποεπιλεγεί\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1056 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "" "Γίνεται ρύθμιση της τιμής MAX για τις ρυθμίσεις των ολισθητήρων αποκοπής\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1099 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "γίνεται ρύθμιση των κλιμάκων scalemin=%d, scalemax=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1205 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "" "<%%s.seq>: %%d εικόνες έχουν επιλεχθεί από %%d, η εικόνα αναφοράς είναι η %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1208 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "" "<%%s.seq>: %%d εικονες έχουν επιλεχθεί από %%d, η εικόνα αναφοράς είναι η %%." "%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1217 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "" "<%s.seq>: %d εικόνες έχουν επιλεχθεί από %d, δεν έχει ορισθεί εικόνα αναφοράς" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1220 #, c-format msgid "%s, %d images selected" msgstr "%s, %d εικόνες επιλέχθηκαν" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1224 #, c-format msgid "No sequence" msgstr "Δεν υπάρχει αλληλουχία" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "- none -" msgstr "- κανένα -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1308 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" @@ -6134,89 +6247,104 @@ "redraw: ο μέγιστος αριθμός των επιπέδων που υποστηρίζονται είναι %d (η " "τρέχουσα εικόνα έχει %d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1604 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: η επιλογή είναι πολύ μεγάλη" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1606 #, c-format msgid "fwhm: no selection" msgstr "fwhm: δεν υπάρχει επιλογή" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1631 #, c-format msgid "%s (channel 0)" msgstr "%s (κανάλι 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1636 #, c-format msgid "%s (channel 1)" msgstr "%s (κανάλι 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1640 #, c-format msgid "%s (channel 2)" msgstr "%s (κανάλι 2)" # whre does this string appear? -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1667 msgid "Unassigned" msgstr "Δεν έχει προσδιοριστεί" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1693 #, c-format msgid "%d: not affected yet" msgstr "%d: δεν έχει επηρεαστεί ακόμα" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1833 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Άγνωστ τιμή zoom_value, ποια είναι η τρέχουσα μεγέθυνση;\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1919 msgid "B&W channel" msgstr "Ασπρόμαυρο κανάλι" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1952 +#, c-format +msgid "%d file loaded" +msgstr "%d αρχεία φορτώθηκαν" + +#: ../src/gui/callbacks.c:1954 #, c-format msgid "%d files loaded" msgstr "%d αρχεία φορτώθηκαν" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1959 +#, c-format +msgid "%d file selected, %s" +msgstr "%d αρχείο επιλέχθηκε, %s" + +#: ../src/gui/callbacks.c:1961 +#, c-format +msgid "%d files selected, %s" +msgstr "%d αρχεία επιλεχθηκαν, %s" + +#: ../src/gui/callbacks.c:2103 #, c-format msgid "Mem: %ldMB" msgstr "Μνήμη: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2105 #, c-format msgid "Mem: N/A" msgstr "Μνήμη: N/A" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2113 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "Μέγεθος Δίσκου: %.0lf%s" +msgid "Disk Space: %s" +msgstr "Χωρος Δίσκου: %s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2116 #, c-format msgid "Disk Space: N/A" msgstr "Μέγεθος Δίσκου: Δεν είναι διαθέσιμο" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2178 msgid "This binning is not handled yet\n" msgstr "Αυτή η ομαδοποίηση δεν υποστηρίζεται ακόμα\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2703 ../src/gui/callbacks.c:2704 #, c-format msgid "ERROR" msgstr "ΣΦΑΛΜΑ" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2716 #, c-format msgid "Cold: %ld px" msgstr "Ψυχρά: %ld εικονοστοιχεία" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2717 ../src/gui/callbacks.c:2729 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -6224,146 +6352,117 @@ "Αυτή η τιμή μπορεί να είναι πολύ υψηλή. Παρακαλώ, λάβετε υπόψη να αλλάξετε " "την τιμή σίγμα ή να αποεπιλέξετε του κουτί." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2720 #, c-format msgid "Cold: %ld px" msgstr "Ψυχρά: %ld εικονοστοιχεία" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2728 #, c-format msgid "Hot: %ld px" msgstr "Θερμά: %ld εικονοστοιχεία" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2732 #, c-format msgid "Hot: %ld px" msgstr "Θερμά: %ld εικονοστοιχεία" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2972 msgid "Closing application" msgstr "Κλείσιμο της εφαρμογής" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2972 msgid "Are you sure you want to quit?" msgstr "Είστε σίγουροι ότι θέλετε να κλείσετε το πρόγραμμα;" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3646 #, c-format msgid "new zoom value: %f\n" msgstr "νέα τιμή μεγέθυνσης: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3685 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3687 #, c-format msgid "undefined" msgstr "δεν έχει ορισθεί" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3783 msgid "Exclude all images ?" msgstr "Να εξαίρεθούν όλες οι εικόνες;" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3784 ../src/gui/callbacks.c:3794 msgid "This erases previous image selection and there's no possible undo." msgstr "" "Αυτό διαγράφει προηγούμενες επιλογές εικόνας και δεν είναι δυνατή η αναίρεση." -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3793 msgid "Include all images ?" msgstr "Να συμπερηληφθούν όλες οι εικόνες;" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3815 msgid "Opening dark image..." msgstr "Γίνεται άνοιγμα της εικόνας dark..." -#: ../src/gui/callbacks.c:3802 +#: ../src/gui/callbacks.c:3818 msgid "NOT USING DARK: cannot open the file\n" msgstr "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ DARK: το αρχείο δεν μπορεί να ανοιχτεί\n" -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3825 msgid "NOT USING DARK: number of channels is different" msgstr "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ DARK: ο αριθμός των καναλιών είναι διαφορετικός" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3863 msgid "Opening flat image..." msgstr "Γίνεται άνοιγμα της εικόνας flat..." -#: ../src/gui/callbacks.c:3850 +#: ../src/gui/callbacks.c:3866 msgid "NOT USING FLAT: cannot open the file\n" msgstr "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ FLAT: το αρχείο δεν μπορεί να ανοιχτεί\n" -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3873 msgid "NOT USING FLAT: number of channels is different" msgstr "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ FLAT: ο αριθμός των καναλιών είναι διαφορετικός" -#: ../src/gui/callbacks.c:3884 +#: ../src/gui/callbacks.c:3900 msgid "Opening offset image..." msgstr "Γίνεται άνοιγμα της εικόνας offset..." -#: ../src/gui/callbacks.c:3887 +#: ../src/gui/callbacks.c:3903 msgid "NOT USING OFFSET: cannot open the file\n" msgstr "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ OFFSET: το αρχείο δεν μπορεί να ανοιχτεί\n" -#: ../src/gui/callbacks.c:3894 +#: ../src/gui/callbacks.c:3910 msgid "NOT USING OFFSET: number of channels is different" msgstr "" "ΔΕΝ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ OFFSET: ο αριθμός των καναλιών είναι διαφορετικός" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:4007 msgid "Error in preprocessing." msgstr "Σφάλμα στην προ-επεξεργασία." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4084 #, c-format msgid "Selected %s sequence %s..." msgstr "Έγινε επιλογή %s αλληλουχίας %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4153 msgid "Searching for sequences in the current working directory..." msgstr "Γίνεται αναζήτηση για αλληλουχίες στον τρέχων κατάλογο εργασίας..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"Το υπόβαθρο δεν μπορεί να εξαχθεί από τον εαυτό του. Παρακαλώ, κάντε κλικ " -"στην Εμφάνιση Εικόνας\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "" -"Παρακαλώ, εφαρμόστε την διόρθωση στην εικόνα κάνοντας κλικ στην Εμφάνιση " -"Εικονας\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Η αφαίρεση ολοκληρώθηκε...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "Η διαίρεση ολοκληρώθηκε...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Έγινε ακύρωση, φορτώστε πρώτα μια εικόνα.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Το αρχείο stars.lst δημιουργήθηκε.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4440 ../src/gui/callbacks.c:4488 msgid "Current selection is too large" msgstr "Η τρέχουσα επιλογή είναι πολύ μεγάλη" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4441 ../src/gui/callbacks.c:4489 msgid "To determine the PSF, please make a selection around a star." msgstr "" "Για να προσδιορίσετε τοPSF, παρακαλώ κάντε μια επιλογή γύρω από ένα αστέρι." -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4453 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6412,32 +6511,97 @@ "RMSE:\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4470 msgid "PSF for the sequence only applies on sequences" msgstr "Το PSF για την αλληλουχία ισχύει μόνο σε αλληλουχίες" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4471 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" "Παρακαλώ φορτώστε μια αλληλουχία πριν την εφαρμογή του PSF για την " "αλληλουχία." -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4535 msgid "FFT does not work with sequences !\n" msgstr "Το FFT δεν λειτουργεί με αλληλουχίες!/n\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4541 msgid "Open an image first !\n" msgstr "Ανοίξτε πρώτα μια εικόνα!\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4562 msgid "Select magnitude and phase before !\n" msgstr "Επιλέξτε πρώτα το μέγεθος και την φάση!\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Γκρι κανάλι" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "_Να μην εμφανιστεί ξανά αυτό το παράθυρο διαλόγου" +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "Αρχεία FITS (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "Αρχεία RAW κάμερας DSLR" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Αρχεία Γραφικών (*.bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Αρχεία Netpbm (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "Αρχεία IRIS PIC (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "Αρχεία SER (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Αρχεία ταινίας (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Όλα τα αρχεία που υποστηρίζονται" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Φωτομετρική Βαθμονόμηση Χρώματος" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Γίνεται εφαρμογή φωτομετρίας διαφράγματος σε%d αστέρια.\n" + +#: ../src/gui/photometric_cc.c:423 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Γίνεται ομαλοποίηση στο κανάλι %s.\n" + +#: ../src/gui/photometric_cc.c:423 +msgid "red" +msgstr "Κόκκινο" + +#: ../src/gui/photometric_cc.c:423 +msgid "green" +msgstr "πράσινο" + +#: ../src/gui/photometric_cc.c:423 +msgid "blue" +msgstr "μπλε" + #: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Καρέ" @@ -6476,48 +6640,112 @@ msgid "Quality" msgstr "Ποιότητα" -#: ../src/gui/plot.c:724 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Στρογγυλότητα αστέρα (1 είναι στρογγυλό)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "Μέγεθος αστέρα (απόλυτο)" -#: ../src/gui/plot.c:736 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "Μέγεθος αστέρα (σχετικό, χρησιμοποιώντας setmag)" -#: ../src/gui/plot.c:739 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Τιμή υποβάθρου" -#: ../src/gui/plot.c:742 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Θέση αστεριού στον άξονα Χ" -#: ../src/gui/plot.c:745 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Θέση αστεριού στον άξονα Υ" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "Χρόνος εκτέλεσης" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "" +"%s: %d h %02d min %.2d s.\n" +"\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "" +"%s: %d min %02d s.\n" +"\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Τα αστέρια πρέπει να έχουν τις ίδιες μονάδες." + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %d min %.2d s.\n" -msgstr "%s: %d min %.2d s.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"Γκαουσιανό PSF μέσου όρου\n" +"\n" +"N:\t%d αστέρια\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Γωνία:\t%.2f μοίρες\n" +"rmse:\t%.3e\n" + +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Μέσος Όρος Δεδομένων Αστεριών" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%d stars" +msgstr "%d stars αστέρια" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:266 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "Star %d of %d" +msgstr "Αστέρι %d από %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Το αρχείο stars.lst δημιουργήθηκε.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "Αρχείο λίστας αστεριών (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Έγινε ακύρωση, φορτώστε πρώτα μια εικόνα.\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6530,64 +6758,64 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "Αρχεία BMP (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "Αρχεία JPEG (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "Αρχεία PNG (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "Αρχεία TIFF (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:513 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Γίνεται αποθήκευση του ΒΜΡ" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:471 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "Γίνεται αποθήκευση του PNG" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:492 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Γίνεται αποθήκευση του Netpbm" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:533 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Γίνεται αποθήκευση του JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:449 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Γίνεται αποθήκευση του TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:425 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "Γίνεται αποθήκευση του FITS" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Αποθήκευση" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Αποθήκευση Αρχείου" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "" +"Δεν ήταν δυνατή η αποθήκευση του αρχείου: Δείτε τα αρχεία καταγραφής για " +"περισσότερες πληροφορίες." -#: ../src/gui/save_dialog.c:391 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Αυτός ο τύπος αρχείου δεν μπορεί να χειριστεί. Δεν θα έπρεπε να συμβεί" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, c-format -msgid "Searching scripts in: %s...\n" -msgstr "Αναζήτηση δεσμών ενεργειών σε: %s...\n" +msgid "Searching scripts in: \"%s\"...\n" +msgstr "" +"Αναζήτηση δεσμών ενεργειών σε: \"%s\"...\n" +"\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "Φόρτωση δέσμης ενεργειών %s\n" @@ -6600,16 +6828,16 @@ msgid "Please go to %d)\n" msgstr "Η αλληλουχία φορτώθηκε: %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d από %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "Δεν ήταν δυνατό να φορτωθεί η εικόνα %d από την αλληλουχία %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Δεν ήταν δυνατό να φορτωθεί το καρέ %d από την αλληλουχία SER %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Δεν ήταν δυνατό να φορτωθεί το καρέ %d από την αλληλουχία AVI %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Δεν ήταν δυνατό να φορτωθεί η μερική εικόνα %d από την αλληλουχία %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "" "Αυτή η λειτουργία δεν υποστηρίζεται σε αλληλουχίες AVI (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "Αυτή η λειτουργία δεν υποστηρίζεται σε εσωτερικές αλληλουχίες " "(seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1154 #, c-format msgid "Closing sequence %s\n" msgstr "Γίνεται κλείσιμο της αλληλουχίας %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1259 msgid "internal sequence" msgstr "εσωτερική αλληλουχία" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1340 msgid "Processing..." msgstr "Γίνεται επεξεργασία..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1466 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "Δεν βρέθηκε αστέρι στην περιοχή της εικόνας %d γύρω από το %d,%d (να " "χρησιμοποιηθεί μεγαλύτερη περιοχή;)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1470 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" @@ -7389,7 +7648,7 @@ "Δεν βρέθηκε αστέρι στην περιοχή της εικόνας %d γύρω από το %d,%d (να " "χρησιμοποιηθεί η επιλογή \"Ακολούθηση αστεριού\";)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1519 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -7397,7 +7656,7 @@ "Η ανάλυση του άστρου δεν δίνει σταθερά αποτελέσματα όταν η έκθεση αλλάζει " "στην αλληλουχία.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1593 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7406,7 +7665,7 @@ "επιλογής κεντραρισμένη στο προηγούμενο αστέρι που βρέθηκε, αυτό " "απενεργοποιεί την παράλληλη επεξεργασία.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1595 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -7415,18 +7674,18 @@ "την μετακίνηση της επιλεγμένης περιοχής σε κάθε εικόνα, αυτό είναι συμβατό " "με την παράλληλη εεξεργασία.\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1617 msgid "PSF on area" msgstr "PSF περιοχής" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Γίνεται χρήση των πληροφοριών εγγραφή ς από το επίπεδο %d για την εξαγωγή " "αλληλουχίας\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7434,7 +7693,7 @@ "Η εξαγωγή MP4 δεν υποστηρίζεται επειδή το siril δεν μεταγλωττίστηκε με " "υποστήριξη ffmpeg.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7442,42 +7701,42 @@ "Η εξαγωγή της ταινίας πρέπει να έχει πλάτος το οποίο να είναι πολλαπλάσιο " "του 32 και ζυγό ύψους, γίνεται αλλαγή μεγέθους της επιλογής.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "η εικόνα %d εξαιρείται από την εξαγωγή\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Γίνεται επεξεργασία της εικόνας " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Εξαγωγή: δεν μπορούσε να γίνει ανάγνωση του καρέ, γίνεται ακύρωση\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "Η εξαγωγή της αλληλουχίας απέτυχε. Δείτε το αρχείο καταγραφής." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "Η εξαγωγή αλληλουχίας απέτυχε\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "Η εξαγωγή της αλληλουχίας έγινε με επιτυχία." -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "Η εξαγωγή της αλληλουχίας έγινε με επιτυχία.\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "" "Το πλάτος ή το ύψος δεν μπορεί να είναι κενό. Δεν γίνεται η αλλαγή του " "μεγέθους.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Γίνεται περικοπή με βάση την επιλογή" @@ -7520,111 +7779,108 @@ "Η εγγραφή σε αρχεία SER από εικόνες FITS μεγαλύτερες των 16-bit δεν έχει " "εφαρμοστεί ακόμα\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "Η αλληλουχία SER δημιουργείται χωρίς εικόνα σε αυτή.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "Συμπίεση του αρχείου SER μετά από παράλληλη έξοδο σε αυτό...\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "Το αρχείο SER δημιουργήθηκε %s\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Αυτή η διάταξη Bayer δεν υποστηρίζεται ακόμα.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "" "Για μια εικόνα που έχει γίνει demosaic, το επίπεδο πρέπει να είναι R, G ή B " "(0 έως 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Δεν υπάρχει μνήμη - γίνεται ακύρωση\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "" "Γίνεται προσπάθεια προσθήκης μιας εικόνας διαφορετικού μεγέθους σε ένα SER\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "" "Σφάλμα στο άνοιγμα της εικόνας %s: το αρχείο δεν βρέθηκε ή δεν " "υποστηρίζεται.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "Το άνοιγμα του %s απέτυχε.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:180 ../src/io/single_image.c:186 msgid "Error opening file" msgstr "Σφάλμα στο άνοιγμα του αρχείου" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:181 msgid "This file could not be opened because its extension is not supported." msgstr "" "Αυτό το αρχείο δεν μπορούσε να ανοιχτεί γιατί η προέκταση του δεν " "υποστηρίζεται." -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:187 msgid "" "There was an error when opening this image. See the log for more information." msgstr "" "Υπήρξε κάποιο σφάλμα κατά το άνοιγμα της εικόνας. Δείτε το αρχείο καταγραφής " "για περισσότερες λεπτομέρειες." -#: ../src/main.c:237 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "άγνωστη παράμετρος γραμμής εντολής '%c'\n" - -#: ../src/main.c:261 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "%s. Γίνεται αναζήτηση σε άλλο κατάλογο...\n" -#: ../src/main.c:267 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "" "Το %s δεν βρέθηκε ή περιέχει σφάλματα, δεν μπορεί να γίνει render του GUI. " "Γίνεται έξοδος.\n" -#: ../src/main.c:288 +#: ../src/main.c:301 +#, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "άγνωστη παράμετρος γραμμής εντολής '%c'\n" + +#: ../src/main.c:328 #, c-format msgid "Welcome to %s v%s\n" msgstr "Καλώς ήρθατε στο %s v%s\n" -#: ../src/main.c:358 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "" "Δεν ήταν δυνατό να φορτωθεί ή να δημιουργηθεί αρχείο ρυθμίσεων, γίνεται " "έξοδος.\n" #. Get CPU number and set the number of threads -#: ../src/main.c:406 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "" "Παράλληλη επεξεργασία %s : Γίνεται χρήση %d λογικού(ών) επεξεργαστή(ών).\n" -#: ../src/main.c:408 +#: ../src/main.c:373 msgid "enabled" msgstr "ενεργοποιημένο" -#: ../src/main.c:410 +#: ../src/main.c:375 msgid "disabled" msgstr "απενεργοποιημένο" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "Έγινε εφαρμογή Deconvolution" @@ -7639,133 +7895,137 @@ "Το Siril δεν μπορεί να πραγματοποιήσει την εγγραφή χωρίς την πληροφορία " "ημερομηνίας στο αρχείο." -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "Η εικόνα αναφοράς δεν μπορούσε να φορτωθεί\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 msgid "Moving object registration" msgstr "Εγγραφή κινούμενου αντικειμένου" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "" "Γίνεται επαναϋπολογισμός της ήδη υπάρχουσας εγγραφής για αυτό το επίπεδο\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Εικόνα Αναφοράς:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "Βρέθηκαν %d αστέρια στην αναφορα, κανάλι #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "Δεν υπάρχουν αρκετά αστέρια στην εικόνα αναφοράς για να πραγματοποιηθεί η " "ευθυγράμμιση\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Εικόνα Αναφοράς: Περιορισμός στα %d πιο φωτεινά αστέρια\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:461 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx:%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "" +"FWHMx:%*.2f %s\n" +"\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:462 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy:%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "" +"FWHMy:%*.2f %s\n" +"\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Καρέ %d:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "Βρέθηκαν %d αστέρια στην εικόνα %d, κανάλι #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "Δεν υπάρχουν αρκετά αστέρια. Η εικόνα %d παραλείφθηκε\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Εικόνα Στόχου: Περιορισμός στα %d πιο φωτεινά αστέρια\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "Δεν μπορεί να γίνει ταίριασμα των αστεριών. προσπάθεια #%d. Η εικόνα %d " "παραλήφθηκε\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Η εγγραφή ολοκληρώθηκε.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "%d εικόνες επεξεργάστηκαν.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Σύνολο: %d απέτυχαν, %d εγγράφηκαν.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Η εγγραφή ακυρώθηκε.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 msgid "Global star registration" msgstr "Συνολική εγγραφή αστέρων" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, c-format msgid "Matching stars in image %d: done\n" msgstr "Ταίριασμα αστεριών στην εικόνα %d: ολοκληρώθηκε\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "κλίμακαX:%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "κλίμακαY:%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "κλίμακα:%*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:454 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "περιστροφή:%+*.2f μοίρες\n" +msgid "rotation:%+*.3f deg\n" +msgstr "περιστροφή:%+*.3f μοίρες\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy:%+*.2f px\n" @@ -7842,99 +8102,161 @@ "εικόνας και την καθολική μετατόπιση του αντικειμένου μεταξύ της πρώτης και " "της τελευταίας εικόνα. " -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Εγγραφή ενός αστέρα (βαθύ ουρανού)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Ευθυγράμμιση Διάταξης Εικόνας (πλανητική - πλήρης δίσκος)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "Συντελεστής Ενισχυμένης Συσχέτισης (πλανητική - επιφάνειες)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" msgstr "Εγγραφή Κομήτη/Αστεροειδή" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Έγινε προσθήκη μέθοδος εγγραφής: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "Εγγραφή DFT: γίνεται φόρτωση και επεξεργασία καρέ αναφοράς" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "" "Εγγραφή:δεν ήταν δυνατό να φορτωθεί η πρώτη εικόνα για εγγραφή, γίνεται " "ακύρωση.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, c-format msgid "Register: processing image %s" msgstr "Εγγραφή: γίνεται επεξεργασία της εικόνας %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "Καλύτερο καρέ: #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" msgstr "" "Εγγραφή PSF: αποτυχία υπολογισμού του PSF τουλάχιστον για το καρέ αναφοράς\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "Καλύτερο καρέ: #%d με fwhm=%.3g.\n" -#: ../src/registration/registration.c:575 -#, c-format -msgid "Cannot perform ECC alignment for frame %d\n" -msgstr "Δεν μπορεί να πραγματοποιηθεί ευθυγράμμιση ECC για το καρέ %d\n" +#: ../src/registration/registration.c:571 +#, c-format +msgid "Cannot perform ECC alignment for frame %d\n" +msgstr "Δεν μπορεί να πραγματοποιηθεί ευθυγράμμιση ECC για το καρέ %d\n" + +#: ../src/registration/registration.c:623 +#, c-format +msgid "%d frames were excluded.\n" +msgstr "%d καρέ εξαιρέθηκαν.\n" + +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 +msgid "Select images in the sequence." +msgstr "Επιλέξτε εικόνες στην αλληλουχία." + +#: ../src/registration/registration.c:726 +msgid "Select an area in image first, and select images in the sequence." +msgstr "" +"Επιλέξτε πρώτα μια περιοχή στην εικόνα, και επιλέξτε εικόνες στην αλληλουχία." + +#: ../src/registration/registration.c:732 +msgid "Select an area in image first." +msgstr "Επιλέξτε πρώτα μια περιοχή στην εικόνα." + +#: ../src/registration/registration.c:858 +msgid "" +"All prerequisites are not filled for registration. Select a rectangle " +"first.\n" +msgstr "" +"Δεν υπάρχουν οι προϋποθέσεις για την εγγραφή. Επιλέξτε πρώτα ένα ορθογώνιο.\n" + +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Άνοιγμα εικόνας %s για σώρευση" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "Σφάλμα σώρευσης: εικόνες με > 3 διαστάσεις δεν υποστηρίζονται\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "Σφάλμα σώρευσης: οι εισαγόμενες εικόνες έχουν διαφορετικά μεγέθη\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "Σφάλμα σώρευσης: οι εισαγόμενες εικόνες έχουν διαφορετική ακρίβεια\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "" +"Το υπερ-εικονοστοιχείο δεν μπορεί να χειριστεί άμεσα από την σώρευση SER\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"Η σώρευση Απόρριψης υποστηρίζεται μόνο για εικόνες FITS και αλληλουχίες " +"SER.\n" +"Χρησιμοποιήστε αντίθετα την \"Αθροιστική Σώρευση\".\n" -#: ../src/registration/registration.c:628 +#: ../src/stacking/median_and_mean.c:195 #, c-format -msgid "%d frames were excluded.\n" -msgstr "%d καρέ εξαιρέθηκαν.\n" - -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 -msgid "Select images in the sequence." -msgstr "Επιλέξτε εικόνες στην αλληλουχία." +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "Έχουμε %d παράλληλες περιοχές μεγέθους %d (+%d) για σώρευση.\n" -#: ../src/registration/registration.c:730 -msgid "Select an area in image first, and select images in the sequence." +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" msgstr "" -"Επιλέξτε πρώτα μια περιοχή στην εικόνα, και επιλέξτε εικόνες στην αλληλουχία." +"Βρέθηκε ένα σφάλμα. Είναι αδύνατο να χωριστεί η εικόνα στις σωστές περιοχές " +"επεξεργασίας.\n" -#: ../src/registration/registration.c:736 -msgid "Select an area in image first." -msgstr "Επιλέξτε πρώτα μια περιοχή στην εικόνα." +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Σφάλμα στην ανάγνωση σε μια από τις περιοχές της εικόνας\n" -#: ../src/registration/registration.c:861 +#: ../src/stacking/normalization.c:102 +#, c-format msgid "" -"All prerequisites are not filled for registration. Select a rectangle " -"first.\n" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Δεν υπάρχουν οι προϋποθέσεις για την εγγραφή. Επιλέξτε πρώτα ένα ορθογώνιο.\n" +"Το σύστημά σας δεν διαθέτει αρκετή μνήμη για την ομαλοποίηση των εικόνων για " +"τη λειτουργία σώρευσης (%d MB ελεύθερα από %d MB που απαιτούνται)\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "Δεν υπάρχει αρκετός ελεύθερος χώρος στον δίσκο" +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"Με την τρέχουσα μνήμη (%.2f) και τα όρια νήματος (%d), μπορούν να " +"χρησιμοποιηθούν έως %d νήματα για την ομαλοποίηση της ακολουθίας\n" -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "Γίνεται υπολογισμός ομαλοποίησης...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" @@ -7942,174 +8264,103 @@ "Η εικόνα αναφοράς δεν είναι στη επιλεγμένη σειρά εικόνων. Παρακαλώ διαλέξτε " "μια άλλη εικόνα αναφοράς.\n" -#: ../src/stacking/normalization.c:118 -msgid "Normalization skipped.\n" -msgstr "Η ομαλοποίηση παραλείφθηκε.\n" - -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 msgid "Normalization failed." msgstr "Η ομαλοποίηση απέτυχε." -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "" -"Η σώρευση διαμέσου υποστηρίζεται μόνο για εικόνες FITS και αλληλουχίες SER.\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "Επιλέξτε τουλάχιστον δύο καρέ για σώρευση. Γίνεται ακύρωση.\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Σώρευση Διαμέσου: άνοιγμα εικόνας %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Σφάλμα σώρευσης Διαμέσου: εικόνες με > 3 διαστάσεις δεν υποστηρίζονται\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "" -"Σφάλμα σώρευσης Διαμέσου: οι εισαγόμενες εικόνες έχουν διαφορετικά μεγέθη\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "" -"Το υπερ-εικονοστοιχείο δεν μπορεί να χειριστεί άμεσα από την σώρευση SER\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "Σφάλμα σώρευσης Διαμέσου: ανενεργή αλληλουχία\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Η έκδοση σας του cfitsio δεν υποστηρίζει πολυδιεργασίες\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Γίνεται επεξεργασία της αλληλουχίας σαν RGB\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "Έχουμε %d παράλληλες περιοχές μεγέθους %d (+%d) για σώρευση.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Βρέθηκε ένα σφάλμα. Είναι αδύνατο να χωριστεί η εικόνα στις σωστές περιοχές " -"επεξεργασίας.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Γίνεται εκκίνηση της σώρευσης...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 msgid "Median stacking in progress..." msgstr "Σώρευση διαμέσου σε εξέλιξη..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Σφάλμα στην ανάγνωση σε μια από τις περιοχές της εικόνας\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Οριστικοποίηση σώρευσης..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "Αποτυχία σώρευσης Διαμέσου: Δείτε το αρχείο καταγραφής." -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 msgid "Stacking failed.\n" msgstr "Η σώρευση απέτυχε.\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 msgid "Median stacking complete." msgstr "H σώρευση Διαμέσου ολοκληρώθηκε." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "H σώρευση Διαμέσου ολοκληρώθηκε. %d έχουν σωρευτεί.\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "Δεν έχει γίνει επιλογή καρέ για σώρευση (επιλέξτε τουλάχιστον 2). Γίνεται " "ακύρωση.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 msgid "Stacking: could not read frame, aborting\n" msgstr "Σώρευση: δεν ήταν δυνατή η ανάγνωση του καρέ, γίνεται ακύρωση\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "Σώρευση: η εικόνα στην αλληλουχία δεν έχει τις ίδιες διαστάσεις\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "Η σώρευση απέτυχε. Δείτε το αρχείο καταγραφής." -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Η σώρευση ολοκληρώθηκε." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"Η σώρευση Απόρριψης υποστηρίζεται μόνο για εικόνες FITS και αλληλουχίες " -"SER.\n" -"Χρησιμοποιήστε αντίθετα την \"Αθροιστική Σώρευση\".\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "Σώρευση Απόρριψης: άνοιγμα εικόνας %s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Σφάλμα σώρευσης Απόρριψης: εικόνες με > 3 διαστάσεις δεν υποστηρίζονται\n" -"\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "" -"Σφάλμα σώρευσης Απόρριψης: οι εισαγόμενες εικόνες έχουν διαφορετικά μεγέθη\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "Σφάλμα σώρευσης Απόρριψης: ανενεργή αλληλουχία\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 msgid "Rejection stacking in progress..." msgstr "Σώρευση απόρριψης σε εξέλιξη..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Απόρριψη εικονοστοιχείων στο κανάλι #%d: %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "Η σώρευση απόρριψης απέτυχε. Δείτε το αρχείο καταγραφής." -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 msgid "Rejection stacking complete." msgstr "Η σώρευση απόρριψης ολοκληρώθηκε." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -8123,221 +8374,499 @@ "μια αλληλουχία SER πριν από τη σώρευση, ή να σωρεύσετε με την \"αθροιστική\" " "μέθοδο.\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "" "Η σώρευση θα χρησιμοποιήσει τα δεδομένα καταγραφής του επιπέδου %d εφόσον " "υπάρχουν.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Σώρευση: γίνεται επεξεργασία...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Ολοκλήρωση %d εικόνων:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Συνδυασμός εικονοστοιχείων ......... μέσος όρος\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Συνδυασμός εικονοστοιχείων ......... ομαλοποιημένος αθροιστικός\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "Συνδυασμός εικονοστοιχείων ......... διάμεσος\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Συνδυασμός εικονοστοιχείων ......... μέγιστο\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Συνδυασμός εικονοστοιχείων ......... ελάχιστο\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Συνδυασμός εικονοστοιχείων ......... κανένα\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "κανένα" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 msgid "additive" msgstr "προσθετική" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative" msgstr "πολλαπλασιαστική" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 msgid "additive + scaling" msgstr "προσθετική + κλιμάκωση" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "πολλαπλασιαστική + κλιμάκωση" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Ομαλοποίηση ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Απόρριψη εικονοστοιχείων ........... κανένα\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Παράμετροι απόρριψης ...... κανένα\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 msgid "percentile clipping" msgstr "εκατοστιαία αποκοπή" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 msgid "sigma clipping" msgstr "αποκοπή σίγμα" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 msgid "median sigma clipping" msgstr "αποκοπή διαμέσου σίγμα" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 msgid "Winsorized sigma clipping" msgstr "Αποκοπή σίγμα Winsor" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 msgid "linear fit clipping" msgstr "αποκοπή γραμμικού fit" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Απόρριψη εικονοστοιχείων ........... %s\n" # check again -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Παράμετροι απόρριψης ...... low=%.3f high=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 msgid "Stacking result image" msgstr "Σώρευση εικόνας" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 msgid "Unsaved stacking result" msgstr "Αποτέλεσμα σώρευσης χωρίς να έχει αποθηκευτεί" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "Χρησιμοποιούνται %d MB μέγιστης μνήμης για σώρευση\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"Η εικόνα αναφοράς δεν είναι στη επιλεγμένη σειρά εικόνων. Για να αποφύγετε " -"προβλήματα, παρακαλώ αλλάξτε τη ή αλλάξτε τις παραμέτρους φιλτραρίσματος.\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Χρήση της εικόνας %d ως προσωρινή εικόνα αναφοράς\n" +msgid "Stacking %d images of the %d of the sequence" +msgstr "Γίνεται σώρευση %d εικόνων από τις %d της αλληλουχίας" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Προσοχή: μερικές εικόνες δεν έχουν διαθέσιμες πληροφορίες FWHM για επιλογή " -"καλύτερης εικόνας, χρησιμοποιώντας μόνο τα διαθέσιμα δεδομένα (%d εικόνες " -"στο %d).\n" +"Το σύστημά σας δεν έχει αρκετή μνήμη για την αύξησητης κλίμακας των εικόνων " +"για τη λειτουργία 'drizzle' (% d MB ελέυθερα για% d MB που απαιτούνται)\n" -# ξανα -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Σφάλμα στην μέγιστη αποδεκτή ποιότητα για διαδοχική επεξεργασία: μερικές " -"εικόνες δεν έχουν διαθέσιμη αυτού του είδους την πληροφορία για το κανάλι #" -"%d.\n" +"Με την τρέχουσα μνήμη (%.2f) και τα όρια νήματος (%d), μπορούν να " +"χρησιμοποιηθούν έως %d νήματα για την αύξηση στην κλίμακα της ακολουθίας\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "Γίνεται σώρευση όλων των εικόνων της αλληλουχίας (%d)\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "" +"Η σώρεσυση θα γίνει χωρίς αύξηση της κλιμακας (απενεργοποίηση του " +"'drizzle')\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "Γίνεται σώρευση μόνο των επιλεγμένων εικόνων της αλληλουχίας (%d)\n" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Αλληλουχία αύξησης της κλίμακας για σώρευση" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" -"Γίνεται σώρευση των εικόνων της αλληλουχίας με FWHM μικρότερο ή ίσο του %g " -"(%d)\n" +#~ msgid "Normalization skipped.\n" +#~ msgstr "Η ομαλοποίηση παραλείφθηκε.\n" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Βασισμένο σε FWHM < %.2f (%d εικόνες)" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "Η μνήμη που χρησιμοποιείται αντιστοιχεί σε αυτή την τιμή επί την συνολική " +#~ "διαθέσιμη μνήμη.\n" +#~ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Μειώνοντας τον λόγο της διαθέσιμης μνήμης για τους " +#~ "υπολογισμούς θα μειώσει τις επιδόσεις." -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "" -"Γίνεται σώρευση των εικόνων της αλληλουχίας με στρογγυλότητα μεγαλύτερη ή " -"ίση του %g (%d)\n" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "εικόνες που επιλέχθηκαν χειροκίνητα από την αλληλουχία" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Βασισμένο στη στρογγυλότητα > %.2f (%d εικόνες)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής (PSF - " +#~ "FWHM)" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "Βασισμένο στη στρογγυλότητα" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής (PSF - " +#~ "στρογγυλότητα)" -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "" -"Γίνεται σώρευση των εικόνων της αλληλουχίας με ποιότητα μεγαλύτερη ή ίση του " -"%g (%d)\n" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "καλύτερες εικόνες, επιλέχθηκαν αυτόματα από τα δεδομένα εγγραφής " +#~ "(Πλανητική)" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Βασισμένο σε ποιότητα > %.2f (%d εικόνες)" +#~ msgid "Based on FWHM" +#~ msgstr "Βασισμένο στο FWHM" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Βασισμένο σε ποιότητα" +#~ msgid "Stack best:" +#~ msgstr "Σώρευση καλύτερων:" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Αλληλουχία μεγέθυνσης για σώρευση" +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "Ο παρεχόμενος τύπος σώρευσης είναι άγνωστος (%s).\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "Η σώρευση διαμέσου υποστηρίζεται μόνο για εικόνες FITS και αλληλουχίες " +#~ "SER.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Σώρευση Διαμέσου: άνοιγμα εικόνας %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Σώρευση Απόρριψης: άνοιγμα εικόνας %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Σφάλμα σώρευσης Απόρριψης: εικόνες με > 3 διαστάσεις δεν υποστηρίζονται\n" +#~ "\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "" +#~ "Σφάλμα σώρευσης Απόρριψης: οι εισαγόμενες εικόνες έχουν διαφορετικά " +#~ "μεγέθη\n" + +# ξανα +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Σφάλμα στην μέγιστη αποδεκτή ποιότητα για διαδοχική επεξεργασία: μερικές " +#~ "εικόνες δεν έχουν διαθέσιμη αυτού του είδους την πληροφορία για το κανάλι " +#~ "#%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Βασισμένο σε FWHM < %.2f (%d εικόνες)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Βασισμένο στη στρογγυλότητα > %.2f (%d εικόνες)" + +#~ msgid "Based on roundness" +#~ msgstr "Βασισμένο στη στρογγυλότητα" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Βασισμένο σε ποιότητα > %.2f (%d εικόνες)" + +#~ msgid "Based on quality" +#~ msgstr "Βασισμένο σε ποιότητα" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Πληροφορίες" + +#~ msgid "Type: " +#~ msgstr "Τύπος: " + +# where does this string appear? +#~ msgid "Normal" +#~ msgstr "Κανονικό" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Πολικό (Μέγεθος + Φάση)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: αυτά τα πεδία διαβάζονται αυτόματα από το αρχείο FITS με " +#~ "το άνοιγμα του και ρυθμίζοντας τα εδώ θα δουλέψουν μόνο για το τρέχων " +#~ "φορτωμένο αρχείο." + +#~ msgid "Camera and Optics" +#~ msgstr "Κάμερα και Οπτικά" + +#~ msgid "Camera & Optics" +#~ msgstr "Κάμερα & Οπτικά" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Γίνεται επαναφορά του τρέχοντος καταλόγου εργασίας στον αρχικό κατάλογο, " +#~ "ο σωσμένος κατάλογος δεν είναι πια διαθέσιμος\n" + +#~ msgid "BMP images, " +#~ msgstr "Εικόνες ΒΜΡ, " + +#~ msgid "autoStretch" +#~ msgstr "Τέντωμα" + +#~ msgid "Negative view" +#~ msgstr "Αρνητική προβολή" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "Διαχείρηση Μνήμης" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Γίνεται χρήση σκοτεινού θέματος GTK\n" +#~ "(μπορεί να χρειαστεί επανεκκίνηση)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Μερικοί διάλογοι του Siril έχουν μη τυποποιημένα φωτεινά χρώματα. Με ένα " +#~ "σκοτεινό θέμα, όπου το κείμενο είναι επίσης φωτεινό, δεν είναι " +#~ "αναγνώσιμο. Επιλέγοντας εδώ θα αλλάξει τα μη τυποποιημένα χρώματα σε " +#~ "σκοτεινά." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Αναλογία της διαθέσιμης μνήμης που χρησιμοποιείται: " + +#~ msgid "Siril message" +#~ msgstr "Μήνυμα Siril" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Οι εικόνες δεν έχουν το ίδιο μέγεθος (π = %d|%d, υ = %d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "Βεβαιώστε τη συμβατότητα με τις αποθηκευμένες εικόνες\n" +#~ "σε πάνω-κάτω προσανατολισμό (KSTARS/EKOS, \n" +#~ "PixInsight, και πιθανώς άλλα...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Αν το κουτί επιλεχθεί, το Siril θα προσπαθήσει να διασφαλίσει συμβατότητα " +#~ "KSTARS (και PixInsight) με την ανάγνωση εικόνων FITS με ταξινόμηση από " +#~ "πάνω προς τα κάτω." + +#~ msgid "Manual" +#~ msgstr "Χειροκίνητα" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "" +#~ "Πρέπει να κάνετε κλικ στην εικόνα για να διαλέξετε τα δικά σας δείγματα " +#~ "υποβάθρου." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Το Sirl επιλέγει αυτόματα τα δείγματα υποβάθρου." + +#~ msgid "Clear background samples." +#~ msgstr "Καθαρισμός των δειγμάτων υποβάθρου." + +#~ msgid "Draw samples" +#~ msgstr "Εμφάνιση δειγμάτων" + +#~ msgid "Type of Extraction" +#~ msgstr "Τύπος Εξαγωγής" + +#~ msgid "Box radius:" +#~ msgstr "Ακτίνα κουτιού:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "" +#~ "Αυτή είναι η απόσταση σε εικονοστοιχεία ανάμεσα σε δυο γειτονικά κουτιά " +#~ "δείγματος υποβάθρου." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "Αυτή είναι η ακτίνα σε εικονοστοιχεία ενός κουτιού δείγματος υποβάθρου. " +#~ "Πολλαπλασιάστε με το 2 για να έχετε το μήκος του κουτιού." + +#~ msgid "Sample Generation" +#~ msgstr "Δημιουργία Δειγμάτων" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Αυτή η παράμετρος δείχνει την ανοχή της τοπικής απόρριψης δειγμάτων, σε " +#~ "μονάδες σίγμα." + +#~ msgid "Local Rejection" +#~ msgstr "Τοπική απόρριψη" + +#~ msgid "Deviation: " +#~ msgstr "Απόκλιση: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "Ανοχή της καθολικής απόρριψης δειγμάτων, σε μονάδες σίγμα." + +#~ msgid "Unbalance:" +#~ msgstr "Aνισορροπία:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Αυτός είναι ο παράγοντας πολλαπλασιασμένος με την παράμετρο απόκλισης " +#~ "έτσι ώστε να συμπεριληφθούν περισσότερα σκοτεινά εικονοστοιχεία στην " +#~ "εκτίμηση υποβάθρου." + +#~ msgid "Global Rejection" +#~ msgstr "Καθολική απόρριψη" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Αυτός είναι ο αριθμός των κουτιών δείγματος σε μια σειρά." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Αυτός είναι ο παράγοντας πολλαπλασιασμένος με την παράμετρο απόκλισης " +#~ "έτσι ώστε να συμπεριληφθούν περισσότερα σκοτεινά εικονοστοιχεία στην " +#~ "εκτίμηση υποβάθρου" + +#~ msgid "Interpolation" +#~ msgstr "Παρεμβολή" + +#~ msgid "Show Image" +#~ msgstr "Προβολή Εικόνας" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Κάντε κλικ σε αυτό το κουμπί για να δείτε την εικόνα." + +#~ msgid "Show Background" +#~ msgstr "Προβολή Υποβάθρου" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Κάντε κλικ σε αυτό το κουμπί για να δείτε το υπολογισμένο υπόβαθρο." + +#~ msgid "Compute" +#~ msgstr "Υπολογισμός" + +#~ msgid "Apply" +#~ msgstr "Εφαρμογή" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Αυτό θα εφαρμόσει την επιλεγμένη διόρθωση." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Κανάλι #%d: έγινε εξαγωγή υποβάθρου.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Εξαγωγή υποβάθρου: γίνεται επεξεργασία...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Ανεπαρκή δείγματα υποβάθρου.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Το υπόβαθρο δεν μπορεί να εξαχθεί από τον εαυτό του. Παρακαλώ, κάντε κλικ " +#~ "στην Εμφάνιση Εικόνας\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "" +#~ "Παρακαλώ, εφαρμόστε την διόρθωση στην εικόνα κάνοντας κλικ στην Εμφάνιση " +#~ "Εικονας\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Η αφαίρεση ολοκληρώθηκε...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "Η διαίρεση ολοκληρώθηκε...\n" + +#~ msgid "Star detection" +#~ msgstr "Ανίχνευση Αστεριού" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Πνευματικά Δικαιώματα © 2004-2011 François Meyer\n" +#~ "Πνευματικά Δικαιώματα© 2012-2018 ομάδα free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "" +#~ "Περικόπτει την τρέχουσα εικόνα μέσα στο ορθογώνιο που είχε επιλεγεί " +#~ "προηγουμένως" #~ msgid "ZIP" #~ msgstr "ZIP" @@ -8382,35 +8911,9 @@ #~ msgid "Not a valid sequence for cropping.\n" #~ msgstr "Μη έγκυρη αλληλουχία για περικοπή.\n" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "Φωτεινότητα" - -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Πνευματικά Δικαιώματα © 2004-2011 François Meyer\n" -#~ "Πνευματικά Δικαιώματα© 2012-2018 ομάδα free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Konstantinos Stavropoulos " - #~ msgid "About siril" #~ msgstr "Σχετικά με το Siril" -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Πρόγραμμα (προ-)επεξεργασίας αστρονομικών εικόνων" - -#~ msgid "Visit the Siril website" -#~ msgstr "Επισκεφτείτε την ιστοσελίδα του Siril" - -#, fuzzy -#~ msgid "Not enough stars.\n" -#~ msgstr "Δεν υπάρχουν αρκετά αστέρια. Η εικόνα %d παραλείφθηκε\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "Η μετατροπή από SER δεν υποστηρίζεται ακόμα\n" @@ -8674,9 +9177,6 @@ #~ "Αυτή η τιμή είναι η μέση τιμή του Κυρίως-flat βαθμονομημένο με το Κυρίως-" #~ "offset." -#~ msgid "About Siril" -#~ msgstr "Σχετικά με το Siril" - #~ msgid "" #~ "Copyright © 2004-2011 François Meyer \n" #~ "Copyright © 2012-2016 team free-astro\n" diff -Nru siril-0.9.10/po/es_ES.po siril-0.9.11/po/es_ES.po --- siril-0.9.10/po/es_ES.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/es_ES.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-02 13:38+0100\n" -"PO-Revision-Date: 2019-01-15 21:36+0000\n" +"POT-Creation-Date: 2019-04-29 15:07+0200\n" +"PO-Revision-Date: 2019-04-30 23:44+0100\n" "Last-Translator: David Vazquez Garcia \n" "Language-Team: \n" "Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Bookmarks: -1,-1,459,-1,-1,-1,-1,-1,-1,-1\n" @@ -219,10 +219,6 @@ msgstr "Registro de una estrella (espacio profundo)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Rotar 90 grados, sentido antihorario" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -234,70 +230,74 @@ "el estimador del registro de gradiente DFT, cuanto más alto mejor. Las " "columnas X e Y son los registros relativos a la imagen de referencia." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "archivo" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "seleccionar" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "calidad" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:72 msgid "Red" msgstr "Rojo" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "archivo rojo actual" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1927 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Canal rojo" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:73 msgid "Green" msgstr "Verde" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "archivo verde actual" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Canal verde" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:74 msgid "Blue" msgstr "Azul" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "El valor guardado en los píxeles apuntados aparecerá aquí." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "archivo azul actual" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Canal Azul" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Rotar 90 grados, sentido antihorario" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Rotar 90 grados, sentido horario" @@ -321,8 +321,8 @@ "registro" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Vista negativo" +msgid "Switch to normal and negative view" +msgstr "Intercambiar entre vista normal y negativa" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -410,254 +410,60 @@ msgid "User" msgstr "Usuario" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Extracción del fondo" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Resolutor de imágenes" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Cerrar la ventana." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Interpolación polinomica" +msgid "Start the plate solving algorithm." +msgstr "Iniciar el algoritmo resolutor de imágenes." #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Manual" +msgid "Start the photometric color calibration algorithm." +msgstr "Iniciar el algoritmo fotométrico de calibración del color." #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "Haz clic en la imagen para tomar tus propias muestras del fondo." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Automático" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril tomará las muestras del fondo automáticamente." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Borrar las muestras del fondo." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Dibujar muestras" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Tipo de extracción" - -#: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "Radio de la caja:" - -#: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "Separación de la caja: " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "" -"Esta es la distancia en píxeles entre dos muestras del fondo adyacentes." - -#: ../src/gui/siril3.glade.h:100 -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"Este es el radio en píxeles de una caja de muestras del fondo. Multiplícala " -"por 2 para tener el largo de una caja." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Generación de muestras" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Tolerancia: " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Este parámetro indica la tolerancia del descarte de muestras locales, en " -"unidades sigma." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Descarte local" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Desviación: " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "Tolerancia del descarte de muestras global, en unidades sigma." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Desequilibrar:" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Este es el factor multiplicado por el parámetro de desviación para incluir " -"más píxeles negros en la evaluación del fondo." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Descarte global" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Muestras por línea: " - -#: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "Este es el número de cajas de muestra en una línea." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"Este es el factor multiplicado por el parámetro de desviación para incluir " -"más píxeles negros en la evaluación del fondo" - -#: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "Rango de giro: " - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Elige el rango de giro en la función polinómica usada en el ajuste.\n" -"El valor por defecto es 4.\n" -"A rango de giro más alto, más profundamente puede eliminarse el gradiente." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Interpolación" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Mostrar imagen" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Pulsar este botón para mostrar la imagen." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Mostrar el fondo" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Pulse este botón para mostrar el fondo estimado." - -# Can you explain me what is master-flat correction? -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." -msgstr "" -"Escoge el tipo de corrección a aplicar:\n" -"Resta: se usa principalmente para corregir efectos aditivos, como gradientes " -"causados por contaminación lumínica o la Luna.\n" -"División: principalmente se usa para corregir fenómenos multiplicativos, " -"como por ejemplo viñeteos o la absorción atmosférica diferencial. Sin " -"embargo este tipo de correcciones deben hacerse desde la corrección maestro-" -"plano." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Resta" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "División" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Correción" - -#: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "Calcular" - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "Esto calculará el fondo sintético." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Aplicar" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "Esto aplicará la corrección seleccionada." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "Resolutor de imágenes" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "Iniciar el algoritmo resolutor de imágenes." - -#: ../src/gui/siril3.glade.h:134 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" "Coordenadas ecuatoriales iniciales. El valor de entrada debe estar dentro de " "la imagen." -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 msgid "0" msgstr "0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "Ascensión derecha: " -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 msgid "Declination: " msgstr "Declinación: " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "S" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "Marque este botón para una declinación negativa (hemisferio sur)." -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" "Introduzca el identificador o el nombre del objeto que debería estar en la " "imagen." -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 msgid "Start searching." msgstr "Comenzar búsqueda." -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -668,25 +474,25 @@ "valor de entrada no es muy preciso, intente proporcionar un valor cuyo error " "no exceda del 20%." -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" "Tamaño de píxel en micrómetros. Se asume que la imagen tiene píxeles " "cuadrados." -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 msgid "Focal distance (mm):" msgstr "Longitud focal (mm):" -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 msgid "Pixel size (µm):" msgstr "Tamaño de píxel (µm):" -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 msgid "Resolution: " msgstr "Resolución: " -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." @@ -694,11 +500,11 @@ "La resolución de la imagen se determina automáticamente con la focal y el " "tamaño de píxel." -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "Tomar metadatos de la imagen" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." @@ -706,23 +512,23 @@ "Pulse este botón para tomar los valores de focal y tamaño de píxel de la " "cabecera del fichero, si existen." -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "Resolutor" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Nombre" -#: ../src/gui/siril3.glade.h:153 -msgid "Image Parameters" -msgstr "Parámetros de la imagen" +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Parámetros de la imagen" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "Catálogo Limit Mag: " -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." @@ -730,11 +536,11 @@ "Magnitud máxima de las estrellas empleada en la consulta del catálogo. " "Cuanto más ancho sea el campo, menor será el valor." -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 msgid "Auto" msgstr "Automático" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." @@ -742,18 +548,19 @@ "La magnitud límite se determina automáticamente usando la aproximación del " "Campo de Visión." -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "Catálogo online de Estrellas: " -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -767,9 +574,11 @@ "Escoja el catálogo online contra el que quiere comparar la imagen.\n" "* TYCHO-2 contiene las posiciones, movimientos y datos fotométricos en dos " "colores de las 2,539,913 más brillantes en la Vía Láctea.\n" -"* NOMAD es una mezcla simple de los catálogos Hipparcos, Tycho-2, UCAC-2 y " -"USNO-B1, complementada con información fotométrica del lanzamiento final del " -"catálogo 2MASS.\n" +"* NOMAD es una mezcla simple de los catálogos de astrometría y fotometría " +"óptica Hipparcos, Tycho-2, UCAC-2, Amarillo-Azul 6 y USNO-B, complementada " +"con el catálogo 2MASS del infrarrojo cercano. Sus casi 100GB de datos " +"contienen datos astrométricos y fotométricos de unos 1.1 billones de " +"estrellas.\n" "* El Gaia Data Release 2 se lanzó el 25 de Abril de 2018. Contiene la " "solución astrométrica de cinco parámetros, posiciones en el cielo (α, δ), " "paralajes, y movimientos de más de 1.3 billones de fuentes con una magnitud " @@ -781,7 +590,7 @@ "aproximadamente cada estrella visible a simple vista desde la Tierra. Este " "catálogo contiene 9.110 objetos." -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." @@ -789,15 +598,15 @@ "Se determinará el catálogo online usando la aproximación de la magnitud del " "Campo de Visión." -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "Parámetros del catálogo" +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Parámetros del catálogo" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 msgid "Manual detection" msgstr "Detección manual" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " @@ -807,26 +616,95 @@ "ser útil en los casos donde Siril no puede encontrar suficientes estrellas. " "Por favor intente elegir las estrellas más brillantes en la imagen." -#: ../src/gui/siril3.glade.h:169 -msgid "Star detection" -msgstr "Detección de estrellas" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Detección de estrellas" -#: ../src/gui/siril3.glade.h:170 +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Detección automática" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Desmarque este botón si quiere seleccionar la referencia del fondo usted " +"mismo. Puede ser útil cuando una nebulosa cubre casi la totalidad de la " +"imagen." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "coordenada X del principio de la selección de fondo" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "coordenada Y del principio de la selección de fondo" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Ancho de la selección de fondo" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Alto de la selección de fondo" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Área seleccionada" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Usar la selección actual" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Debe especificar una selección que represente el verdadero fondo de la " +"imagen, intentando excluir todas las estrellas u otros objetos estelares." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Referencia de fondo" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "Esta opción determina en qué canal se normalizan los factores." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "En el más alto" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "En el medio" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "En el más bajo" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Factor de normalización del canal" + +#: ../src/gui/siril3.glade.h:142 msgid "Median Filter" msgstr "FIltro mediano" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:143 msgid "" "Kernel Size. This is the odd size of the neighborhood considered for each " "pixel." msgstr "Tamaño del núcleo. Es la medida más." -#: ../src/gui/siril3.glade.h:172 +#: ../src/gui/siril3.glade.h:144 msgid "Modulation:" msgstr "Modulación:" # parameter is null or 0? -#: ../src/gui/siril3.glade.h:173 +#: ../src/gui/siril3.glade.h:145 msgid "" "Modulation parameter set in the [0, 1] range.\n" "When this parameter is equal to 1, no modulation is applied.\n" @@ -836,15 +714,15 @@ "Cuanto este parámetro es 1 no se aplica modulación.\n" "Si el parámetro es 0 no se aplica filtro alguno." -#: ../src/gui/siril3.glade.h:176 +#: ../src/gui/siril3.glade.h:148 msgid "Kernel Size: " msgstr "Tamaño del kernel: " -#: ../src/gui/siril3.glade.h:177 +#: ../src/gui/siril3.glade.h:149 msgid "Iterations:" msgstr "Iteraciones:" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -854,73 +732,176 @@ "Muy útil cuando el parámetro de modulación no es 1, ayuda a que todo el " "proceso converja a un mejor resultado." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Usar luminancia" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Ejecutar cálculo estadístico" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Cerrar la ventana" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 msgid "Normalized Real [0, 1]" msgstr "Normalizado real [0, 1]" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Sin selección" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 msgid "Asinh Transformation" msgstr "Transformación Asinh" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "Factor de extensión: " -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "" "El parámetro factor de extensión permite ajustar el factor de no linealidad." -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "Punto Negro: " -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "Valor constante que se resta a la imagen." -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "Usar espacio de trabajo RGB" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Extracción del fondo" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Esto calculará el fondo sintético y aplicará la corrección seleccionada." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Rango de giro: " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Elige el rango de giro en la función polinómica usada en el ajuste.\n" +"El valor por defecto es 4.\n" +"A rango de giro más alto, más profundamente puede eliminarse el gradiente." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Muestras por línea: " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Número de muestras por línea que serán metidas automáticamente." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Tolerancia del rechazo de muestras global, en unidades sigma. Decrementando " +"este valor, Siril será más restrictivo al seleccionar las muestras de fondo." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Tolerancia: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Generar" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Pulse aquí para generar las muestras definidas automáticamente." + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Pulse aquí para limpiar todas las muestras." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"También puede seleccionar las muestras manualmente.\n" +"El click izquierdo las añade y el derecho las elimina." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Interpolación polinómica" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Corrección: " + +# Can you explain me what is master-flat correction? +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Escoge el tipo de corrección a aplicar:\n" +"Resta: se usa principalmente para corregir efectos aditivos, como gradientes " +"causados por contaminación lumínica o la Luna.\n" +"División: principalmente se usa para corregir fenómenos multiplicativos, " +"como por ejemplo viñeteos o la absorción atmosférica diferencial. Sin " +"embargo este tipo de correcciones deben hacerse desde la corrección maestro-" +"plano." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Resta" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "División" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Correción" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:837 msgid "Banding Reduction" msgstr "Reducir bandas" # It is mean preserve higlights or protect something of the effect of higligths? -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "Proteger de las luces altas" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "Bandas verticales" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Marcar esta casilla si las bandas son verticales." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Aplicar a la secuencia" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -928,43 +909,43 @@ "Si se carga una secuencia y se activa, procesar todas las imágenes de la " "secuencia en lugar sólo procesar la imagen cargada." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Prefijo de salida:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "" "Prefijo de las imágenes de salida resultantes de proceso de eliminación de " "bandas." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "Factor 1/Sigma" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Composición de la imagen" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Composición multicapa de la imagen" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Alineación de las capas" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "sin cargar" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Ajustar el brillo de las capas" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -974,11 +955,11 @@ "capas, de esta forma no se desbordan cuando se componen (basado en el valor " "máximo de cada imagen). El tono no se modifica." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Terminar balance de color" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -991,7 +972,7 @@ "Modificar parámetros en estas ventanas más tarde podría causar la pérdida " "del balance de color y podría tener que volver a realizarlo." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -999,19 +980,19 @@ "Tipo de luminancia basada en la composición del color. Representa la forma " "de añadir información de color a los datos de luminancia." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "Composición HSL" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "Composición HSV" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "Composición CIE L*a*b" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -1019,53 +1000,53 @@ "ADVERTENCIA: no debería realizar una combinación LRGB con imágenes lineales. " "Debería procesarlas antes." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Alinear las capas tomando esta como referencia:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Alinear" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "Alineado automático usando el método de registro seleccionado." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Cortar la imagen a un área común después de alinearla" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "y usando este método de alineado:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "" "Para la composición LRGB, la capa de referencia debería ser la de luminancia." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:71 msgid "Luminance" msgstr "Luminancia" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Cosmética de la correccción" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Cerrar la ventana actual" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Aplicar corrección cosmética" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1073,18 +1054,18 @@ "Marcar si el marco objetivo son imágenes de la CFA.\n" "Desmarcar si las imágenes provienen de un sensor monocromo." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "" "Prefijo del nombre de las imágenes resultantes del proceso de corrección " "cosmética." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "Sigma frío:" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1093,11 +1074,11 @@ "puede variar con respecto al de los que lo rodean para considerarlo un píxel " "frío." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "Sigma caliente:" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1106,27 +1087,27 @@ "puede variar con respecto al de los que lo rodean para considerarlo un píxel " "caliente." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Autodetección" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "Secuencia de corte" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "Prefijo de las imágenes resultantes del proceso de corte." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Deconvolución" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." @@ -1134,436 +1115,404 @@ "Representa el tamaño del kernel gausiano que se aplica. A mayor valor, más " "fuerte será el efecto." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Algoritmo:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Número de iteraciones." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Mensaje de siril" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Transformada de Fourier" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "Nombre del fichero de magnitud: " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "Nombre del fichero de fase: " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "Orden: " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Tipo: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "módulo" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "fase" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Centrado" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Normal" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "Polar (Magnitud + Fase)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "Transformada Directa" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "Magnitud de la imagen: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Fase de la imagen: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "Seleccione magnitud" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "Seleccione fase" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Transformada inversa" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Extracción del canal" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Nombre del primer fichero FITS a guardar." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Nombre del segundo fichero FITS a guardar." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Nombre del tercer fichero FITS a guardar." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Canal #1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Canal #2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Canal #3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "" "Selecciones el espacio de color correspondiente a las tres imágenes extraídas" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Espacio de color:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Extracción de capas Wavelets" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Cerrar" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Aplicar extracción wavelet." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "" "Número de capas wavelet. Puede elegir hasta 6 capas para el proceso wavelets." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Tipo de algoritmo" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "BSpline" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Núm. de capas: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Algoritmo de interpolación:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Histogramas" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Zoom horizontal" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Restablecer zoom a 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Escala logarítmica" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Balance de tonos medios" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "Corte de sombras" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "Corte de altas luces" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 msgid "Show grids" msgstr "Mostrar rejillas" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "Mostrar curvas MTF" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Aplicar algoritmo de auto extensión a la imagen" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "autoExtender" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "Altas luces: " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "Medios tonos: " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Sombras: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Recorte (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Contador de píxeles recortados (sombras)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "Contador de píxeles recortados (altas luces)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Reiniciar" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Aplicar la transformación del histograma" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "Remuestrear" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "Escala X (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Escala Y (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Conservar relación de aspecto" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Tipo de algoritmo empleado para el remuestreo" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Vecino más cercano" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Bilinear (por defecto)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Relación de área de píxeles" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Bicúbica" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "Gradiente Rotacional" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "Se aplicará el gradiente rotacional." -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " msgstr "Desplazamiento radial: " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "" "Desplazamiento radial utilizado para calcular el gradiente de rotación." -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " msgstr "Cambio rotacional: " -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "" "Desplazamiento rotacional utilizado para calcular el gradiente de rotación." -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." msgstr "Coordenada X del centro de las coordenadas polares." -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." msgstr "Coordenada Y del centro de las coordenadas polares." -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "Centro X:" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "Centro Y:" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "nombre de la raíz de las imágenes convertidas ( 'dest' ajusta en " "dest1.)" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "nombre de la raíz de las imágenes convertidas ( 'dest' ajusta en " "dest1.)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Nombre del fichero" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "Entero sin signo de 8 bits" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "Entero sin signo de 16 bits" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Formato de las muestras" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Ningungo" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "Rebajar compresión" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Compresión" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Descripción de la imagen" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Copyright de la imagen" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Calidad: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "No disponible" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "Entero con signo de 16 bits" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Formato de las muestras" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Guardar los valores de MIPS-HI y MIPS-LO" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "Datos incrustados" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Ajustes" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Usar multiplicador automático de luz de día" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1572,7 +1521,7 @@ "automáticamente. Puede escoger su propio multiplicador desmarcando esta " "opción." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." @@ -1580,7 +1529,7 @@ "Especifique su propio balance de blancos RAW. El valor de la escala roja es " "relativo al verde." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." @@ -1588,19 +1537,19 @@ "Especifique su propio balance de blancos RAW. El valor de la escala azul es " "relativo al verde." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Brillo" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Divide el nivel de blancos por este número." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Sin corrección de punto negro" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1608,68 +1557,68 @@ "Cuando se habilita esta opción no se aplica corrección de punto negro en los " "raw." -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "Ajuste del color de la imagen" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "" "Seleccione un método de interpolación para realizar el demosaico antes de " "abrir la imagen." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Bilineal alta velocidad, baja calida" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Homogeneidad directa adaptativa (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Número variable de gradiientes (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Patró de agrupado de píxeles (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Matriz de interpolación de imagen" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "No se aplica correción gamma a la imagen." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "CUrva BT.709" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Aplica una curva gamma específica al fichero de la imagen." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "curva sRGB" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Aplicar una curva gamma específica a la imagen" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Corrección gamma de la imagen" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" msgstr "Usar el balance de blancos de la cámara" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1679,7 +1628,7 @@ "color iluminado con una bombilla D65. Si marca esta casilla, libraw " "intentará usar los datos especificados por su cámara." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1687,7 +1636,7 @@ "Calcular el balance de blancos\n" "con la media de toda la imagen" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1697,55 +1646,23 @@ "color iluminado con una bombilla D65. Si marca esta casilla, libraw " "procesará el balance de blancos haciendo media de toda la imagen." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Balance de blancos de la imagen" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "Decodificador del RAW de la DSLR basado en la librería libraw." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "Debayer del RAW de la DSLR" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Seleccione el patrón Bayer de su cámara." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Patrón bayer/mosaico: " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Selecciones un método de interpolación para realizar el demosaico." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Interpolación debayer: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Bilinear" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Super píxel" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Patrón bayer de la cabecera del fichero si está disponible" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1755,144 +1672,115 @@ "encontrado en la cabecera del fichero. Si el resultado es malo, desmarque " "esta casilla y escoja manualmente el patrón en el cuadro de debajo." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"Asegurar la compatibilidad con las imágenes almacenadas\n" -"con orientación superior-inferior (KSTARS/EKOS,\n" -"PixInsight, y otros ...)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Debayer en orientación superior-inferior" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." -msgstr "" -"Si se marca esta casilla, SIril intentará asegurar la compatibilidad con " -"KSTARS (y PixInsight) leyendo la imagen FITS de arriba a abajo." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Siril lee los datos FITS de abajo a arriba. Si el software de captura " +"almacena los datos de arriba a abajo (como suelen hacer), necesita marcar " +"esta casilla para realizar el debayer del fichero en la orientación adecuada." -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Otro debayer" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Longitud focal (mm): " - -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Dim. de píxles X (micrones): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Estirar los FITS CFA de la DSLR a 16 bits" -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:366 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." msgstr "" -"Borrar todos los campos. Si guarda su imagen después, la cabecera no " -"contendrá ningún dato sobre la focal o el tamaño del sensor." +"Si los datos RAW vienen de una cámara DSLR y la normalización se almacenó en " +"la cabecera FITS, marcando esta opción se estirará la imagen da 16 bits." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:367 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Si el tamaño del píxel Y no se carga automáticamente usando la cabecera del " -"fichero, puede actualizar la celda usted mismo." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"Debido a restricciones del algoritmo no pueden emplearse algoritmos de " +"demosaico en apilados de rechazo. Nuestros test además mostraron que no hay " +"ganancia en calidad cuando se usan muchas imágenes, mientras que el tiempo " +"de proceso aumenta 20 veces." -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Dim. del píxel Y (micrones): " - -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "Binning: " - -#: ../src/gui/siril3.glade.h:396 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Si el binnig no se carga automáticamente usando la cabecera del fichero, " -"puede actualizar esta casilla." +"Atención: siempre se usa el algoritmo bilineal para el demosaico SER al " +"vuelo." -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "FWHM se convertirá en arcsec" +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Seleccione el patrón Bayer de su cámara." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Si la longitud focal no se carga automáticamente usando la cabecera del " -"fichero, puede actualizar la casilla usted mismo." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Patrón bayer/mosaico: " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Si el tamaño del píxel X no se carga automáticamente usando la cabecera del " -"fichero, puede actualizar la casilla usted mismo." +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Selecciones un método de interpolación para realizar el demosaico." -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "El valor Binning no es el valor del tamaño de píxel" +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Interpolación debayer: " -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" -"Marque este botón si el valor binning no se tendrá en cuenta en el tamaño de " -"píxel. En este caso, se usará el valor binning de la caja de debajo." +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilinear" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Cámara y óptica" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"PRECAUCIÓN: estas casillas se leen de forma automática del fichero FTIS " -"abriendo y estableciéndolas aquí sólo funcionará para el fichero cargado " -"actualmente." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Cámara y óptica" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super píxel" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" + +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Otro debayer" + +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "" "Ganancia del conversor A/D en electrones por ADU. El valor por defecto es " "2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "Ganancia ADC:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Cámara" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Radio interior: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Radio exterior:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." @@ -1900,7 +1788,7 @@ "Radio interior del anillo usado para medir el fondo local. El valor por " "defecto es 20.00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." @@ -1908,31 +1796,43 @@ "Radio exterior del anillo usado para medir el fondo local. El valor por " "defecto es 30.00." -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "Tamaño del anillo para la medida del nivel de fondo (píxeles):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Fondo" +#: ../src/gui/siril3.glade.h:386 +msgid "Background Annulus" +msgstr "Anillo de fondo" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Restaurar por defecto" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Restaurar los parámetros por defecto" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 +msgid "Min. pixel value:" +msgstr "Mínimo valor de píxel:" + +#: ../src/gui/siril3.glade.h:390 +msgid "Max. pixel value:" +msgstr "Máximo valor de píxel:" + +#: ../src/gui/siril3.glade.h:391 +msgid "Bad pixels have value equal to or less than." +msgstr "Los píxeles incorrectos tienen un valor menor que." + +#: ../src/gui/siril3.glade.h:392 +msgid "Overexposed pixels have value equal to or greater than." +msgstr "Los píxeles sobreexpuestos tienen valores mayores o iguales a." + +#: ../src/gui/siril3.glade.h:393 +msgid "Pixel Value Range" +msgstr "Rango de valores de píxel" + +#: ../src/gui/siril3.glade.h:394 msgid "Photometry" msgstr "Fotometría" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "Restaurar el directorio de intercambio por defecto" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:395 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1940,85 +1840,85 @@ "Seleccione un directorio existente. Asegúrese que tiene permisos de " "escritura y espacio libre suficiente." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:396 msgid "Select Swap Directory" msgstr "Seleccione el directorio de intercambio" -#: ../src/gui/siril3.glade.h:420 +#: ../src/gui/siril3.glade.h:397 +msgid "Restore the defaut swap storage directory" +msgstr "Restaurar el directorio de intercambio por defecto" + +#: ../src/gui/siril3.glade.h:398 msgid "Swap Storage Directory" msgstr "Directorio de almacenamiento de intercambio" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Proporción de memoria usada: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:399 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." -msgstr "" -"La memoria usada se corresponde a este valor multiplicado por el total de " -"memoria disponible.\n" -"ADVERTENCIA: Reducir la proporción de memoria asignada al proceso puede " -"degradar su rendimiento." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" +msgstr "" +"Establece un nuevo ratio de memoria libre en la memoria empleada para el " +"apilado. El valor debe estar entre 0.05 y 2, dependiendo del resto de tareas " +"en la máquina. Un ratio alto debería permitir a Siril un apilado más rápido, " +"pero estableciendo el ratio permitido por encima de 1 requerirá el uso de " +"memoria en disco (SWAP), que es mucho más lenta y poco recomendable" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Gestión de memoria" +#: ../src/gui/siril3.glade.h:400 +msgid "RAM Ratio" +msgstr "Ratio de rAM" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:401 msgid "Type of extension: " msgstr "Tipo de extensión: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:402 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:403 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:404 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:405 msgid "FITS Format" msgstr "Formato FITS" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:406 msgid "Don't ask before quitting" msgstr "No preguntar antes de salir" -#: ../src/gui/siril3.glade.h:431 -msgid "Confirmation dialog" +#: ../src/gui/siril3.glade.h:407 +msgid "Confirmation Dialog" msgstr "Diálogo de confirmación" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"Usar el tema oscuro GTK\n" -"(puede requerir reiniciar)" +#: ../src/gui/siril3.glade.h:408 +msgid "Change the theme of the interface." +msgstr "Cambiar el tema de la interfaz." -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Algunos diálogos de Siril tienen colores brillantes no estándar. Con un tema " -"oscuro, donde el texto es demasiado brillante, sería ilegible. Marcando aquí " -"se oscurecerán esos colores no estándar." +#: ../src/gui/siril3.glade.h:409 +msgid "Automatic" +msgstr "Automático" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:410 +msgid "Dark theme" +msgstr "Tema oscuro" + +#: ../src/gui/siril3.glade.h:411 +msgid "Light theme" +msgstr "Luz del tema" + +#: ../src/gui/siril3.glade.h:412 msgid "Remember window positions" msgstr "Recordar posiciones de las ventanas" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:413 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." @@ -2026,11 +1926,11 @@ "Recordad posiciones de las ventanas mostradas. Esta característica puede no " "funcionar en todas las arquitecturas." -#: ../src/gui/siril3.glade.h:437 -msgid "Look and feel" -msgstr "Aspecto y comportamiento" +#: ../src/gui/siril3.glade.h:414 +msgid "Look and Feel" +msgstr "Aspecto y Comportamiento" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:415 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2042,363 +1942,387 @@ "tantas líneas como necesite. Sin embargo, tenga en cuenta que cuántas más " "rutas, más lento será el arranque." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:416 msgid "Scripts Storage Directories" msgstr "Directorio de almacenamiento de intercambio" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:417 msgid "Misc." msgstr "Misc." -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:418 msgid "Dynamic PSF" msgstr "PSF Dinámico" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:419 msgid "Ch." msgstr "Ch." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:420 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:421 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:422 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:423 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:424 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:425 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:426 msgid "Mag" msgstr "Mag" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:427 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:428 msgid "Angle" msgstr "Ángulo" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:429 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:430 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" +"Los cambios en estos tres valores deben probarse en imágenes representativas " +"antes de usarlos para registros." + +#: ../src/gui/siril3.glade.h:431 msgid "Size in pixels of the search box." msgstr "Tamaño en píxeles del cuadro de búsqueda." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:432 msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." msgstr "" "Valor umbral por encima del ruido para detectar las estrellas.\n" -"La mediana y la desviación típica de la imagen se determinan, así que el " -"umbral es: mediana + [umbral]x desv. típica.\n" -"El valor por defecto del umbral es 1.00." +"La mediana y la desviación típica de la imagen se calcula, así que el umbral " +"es: mediana + [umbral]x desv. típica.\n" +"El valor por defecto del umbral es 1.00. Aumentándolo se detectarán menos " +"estrellas tenues, lo cuál sólo se hará cuando las imágenes tengan mucha " +"señal o bajo ruido (alta S/N)." -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:435 msgid "Radius: " msgstr "Radio: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:436 msgid "Threshold: " msgstr "Umbral: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:437 msgid "Roundness threshold:" msgstr "Umbral de redondez:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:438 msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." -msgstr "" -"Valor umbral para la redondez de las estrellas. Disminuya este valor si las " -"estrellas muestran pequeños trazos.\n" -"\n" -"PRECAUCIÓN: asegúrese tener una buena rezón para cambiar este valor ya que " -"puede degradar la detección de estrellas." - -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Detección de estrellas" +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." +msgstr "" +"Valor umbral para la redondez . Disminuya este valor si las estrellas " +"muestran pequeños trazos, a la inversa, auméntelo si son demasiado redondas " +"para evitar falsos positivos.\n" +"El valor por defecto es 0.5, aplicable a estrellas dos veces más grandes en " +"una dirección que en otra." -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" -msgstr "Exportar los parámetros PSF en un fichero ASCII" +#: ../src/gui/siril3.glade.h:440 +msgid "Export PSF parameters in an ASCII file" +msgstr "Exportar los parámetros PSF a un fichero ASCII" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:441 msgid "Remove selected star from the list" msgstr "Borrar estrella seleccionada de la lista" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:442 msgid "Remove all stars from the list" msgstr "Borrar todas las estrellas de la lista" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:443 msgid "Wavelets control" msgstr "Control Wavelets" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:444 msgid "Cancel all changes applied" msgstr "Descartar los cambios aplicados" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:445 msgid "Select an algorithm type to perform wavelets" msgstr "Seleccione un tipo de algoritmo para hacer los wavelets" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:446 msgid "Type:" msgstr "Tipo:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:447 msgid "Nb of plans:" msgstr "Nº de planos:" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:448 msgid "Number of wavelet layers that will be used" msgstr "Número de capas wavelet que se usuarán" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:449 msgid "Compute wavelets" msgstr "Procesar wavelets" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:450 msgid "1st Plan:" msgstr "1er plano:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:451 msgid "2nd Plan:" msgstr "2º plano:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:452 msgid "3th Plan:" msgstr "3er plano:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:453 msgid "4th Plan:" msgstr "4º plano:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:454 msgid "5th Plan:" msgstr "" "5\n" "º plano:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:455 msgid "6th Plan:" msgstr "6º plano:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:456 msgid "Reset changes" msgstr "Reiniciar cambios" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:457 msgid "Adjust" msgstr "Ajuste" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:458 msgid "Rotation" msgstr "Rotación" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:459 msgid "Angle (°): " msgstr "Ángulo (º): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:460 msgid "Checking this box will crop the output image." msgstr "Al marcar esta casilla se cortará la imagen de salida." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:461 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Ángulo en grados. El centro de rotación es el centro de la imagen." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:462 msgid "Type of algorithm used for rotation" msgstr "Tipo de algoritmo usado en la rotación" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:463 msgid "Siril control center" msgstr "Centro de control de Siril" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:464 msgid "_File" msgstr "_Archivo" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:465 msgid "Save as..." msgstr "Guardar como..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:466 +msgid "Informations..." +msgstr "Informaciones..." + +#: ../src/gui/siril3.glade.h:467 msgid "FITS Header..." msgstr "Cabecera FITS..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:468 msgid "_Edit" msgstr "_Editar" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:469 msgid "_Image Processing" msgstr "_Procesado de imagen" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:470 msgid "Asinh Transformation..." msgstr "Transformación Asinh..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:471 msgid "Histogram Transformation..." msgstr "Transformación de histograma..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:472 +msgid "Color Calibration" +msgstr "Calibración del color" + +#: ../src/gui/siril3.glade.h:473 msgid "Color Calibration..." msgstr "Calibración de color..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:474 +msgid "Photometric Color Calibration..." +msgstr "Calibración de color fotométrica..." + +#: ../src/gui/siril3.glade.h:475 msgid "Color Saturation..." msgstr "Saturación de color..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:476 msgid "Remove Green Noise..." msgstr "Eliminar ruido verde..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:477 msgid "Negative Transformation" msgstr "Transformación Negativa" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:478 msgid "À trous Wavelets Transform..." msgstr "Transformación Wavelets en los agujeros..." -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:479 msgid "Banding Reduction..." msgstr "Reducción de bandas..." -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:480 msgid "Cosmetic Correction..." msgstr "Corrección cosmética..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:481 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Deconvolución..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:482 msgid "Fourier Transform..." msgstr "Transformada de fourier..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:483 msgid "Median Filter..." msgstr "Flitro mediano..." -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:484 msgid "Rotational Gradient..." msgstr "Gradiente rotacional..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:485 msgid "Geometry" msgstr "Geometría" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:486 msgid "Horizontal Mirror" msgstr "Espejo horizontal" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:487 msgid "Vertical Mirror" msgstr "Espejo vertical" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:488 msgid "Rotation..." msgstr "Rotación..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:489 msgid "Resample..." msgstr "Volver a muestrear..." -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:490 msgid "Background Extraction..." msgstr "Extracción del fondo..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:491 msgid "Extraction" msgstr "Extracción" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:492 msgid "Channels..." msgstr "Canales..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:493 msgid "Wavelet Layers..." msgstr "Capas Wavelet..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:494 msgid "RGB Compositing..." msgstr "Composición RGB..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:495 msgid "_Scripts" msgstr "_Scritps" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:496 msgid "_Analysis" msgstr "_Análisis" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:497 msgid "Dynamic PSF..." msgstr "PSF Dinámico..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:498 msgid "Image Plate Solver..." msgstr "Solucionador de imágenes..." -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:499 msgid "Statistics..." msgstr "Estadísticas..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:500 msgid "Noise Estimation" msgstr "Estimación de ruido" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:501 msgid "_Windows" msgstr "_Ventanas" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:502 msgid "Gray Channels Images" msgstr "Imágenes en canal gris" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:503 msgid "Color Image" msgstr "Color de la imgen" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:504 msgid "_Help" msgstr "_Ayuda" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:505 msgid "Check For Updates" msgstr "Buscar actualizaciones" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:506 msgid "Get scripts" msgstr "Obtener scritps" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:507 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2406,35 +2330,35 @@ "Esta pestaña se usa para importar ficheros y convertirlos a un formato con " "el que Siril pueda trabajar: FITS o SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:508 msgid "Source" msgstr "Origen" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:509 msgid "Date" msgstr "Fecha" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:510 msgid "Add files to convert" msgstr "Añadir archivos a convertir" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:511 msgid "Remove selected files" msgstr "Eliminar los archivos seleccionados" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:512 msgid "Remove all files from the list" msgstr "Eliminar todos los ficheros de la lista" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:513 msgid "Destination" msgstr "Destino" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:514 msgid "Sequence name:" msgstr "Nombre de la secuencia:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:515 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2444,15 +2368,15 @@ "imágenes como NGC_6822-L_00001.fit. El nombre puede terminar en .ser, lo " "que habilita el formato de salida SER para la conversión." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:516 msgid "Colour image target" msgstr "Color de la imagen destino" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:517 msgid "Keep three channels" msgstr "Mantener tres canales" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:518 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." @@ -2460,25 +2384,25 @@ "Mantener la imagen destino con los canales RGB, no cambia la configuración " "de los canales." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:519 msgid "Create three images" msgstr "Crear tres imágenes" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:520 msgid "Split an RGB image into three images, R, G and B." msgstr "Dividir una imagen RGB en tres imágenes, R, G y B." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:521 msgid "Keep only first channel" msgstr "Conservar sólo el primer canal" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:522 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "Para una imagen RGB, conservar sólo R. Útil para imágenes en escala de " "grises guardadas como RGB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:523 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2486,7 +2410,7 @@ "Define el índice inicial de los ficheros convertidos. Este valor debe estar " "en el rango [1, 65535]" -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:524 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2500,7 +2424,7 @@ "\"Color de la imagen destino\" también se aplica al resultado del " "debayerizado en la conversión." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:527 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2508,11 +2432,11 @@ "Iniciar la conversión de todos los archivos de entrada en los ficheros de " "salida configurados, FITS o SER, con procesamiento de color o no." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:528 msgid "Create as many SER files as input files" msgstr "Crear tantos ficheros SER como ficheros de entrada" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:529 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2522,11 +2446,11 @@ "elementos de entrada. Usarlo si los elementos de entrada (vídeo) no tienen " "el mismo tamaño de imagen o no pueden procesarse juntos." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:530 msgid "Supported file types:" msgstr "Tipos de archivo soportados:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:531 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2544,11 +2468,11 @@ "Los ficheros SER se tratan directamente como una secuencia, y no es posible " "por el momento su conversión." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:535 msgid "File conversion" msgstr "Conversión de archivos" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:536 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2556,30 +2480,30 @@ "Las imágenes se manipulan como secuencias. Siril puede encontrar secuencias " "en el directorio de trabajo actual y pueden filtrarse las imágenes." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:537 msgid "Sequence selection" msgstr "Selección de secuencia" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:538 msgid "Sequence:" msgstr "Secuencia:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:539 msgid "Search sequences" msgstr "Buscar secuencias" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:540 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "" "Buscar secuencias de imágenes FITS, SER o archivos de video en el directorio " "actual." -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:541 msgid "Force .seq recomputation" msgstr "Forzar el recálculo de la secuencia" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:542 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2595,15 +2519,15 @@ "\n" "AVISO: borrará todos los datos de registro y estadística." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:546 msgid "Image selection in sequence" msgstr "Selección de imagen en la secuencia" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:547 msgid "No sequence selected" msgstr "No hay secuencia seleccionada" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:548 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2612,21 +2536,21 @@ "navegar entre las imágenes, y la tecla ESPACIO para seleccionar o excluir la " "imagen actual." -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:549 msgid "Excluded" msgstr "Excluída" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:550 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" msgstr "Excluir o no la imagen del proceso (no se borra el fichero)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:551 msgid "Reference image" msgstr "Imagen de refernecia" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:552 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2638,35 +2562,35 @@ "Sólo una imagen puede ser la de referencia en una secuencia, seleccionándola " "hará que se deseleccione la anteriormente indicada para referencia." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:555 msgid "Exclude All" msgstr "Excluir todas" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:556 msgid "Exclude all images of the sequence from the processing schedule" msgstr "Excluir todas las imágenes de la secuencia del programa de procesado" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:557 msgid "Include All" msgstr "Incluir todas" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:558 msgid "includes all images of the sequence in the processing schedule" msgstr "incluir todas las imágenes de la secuencia en el esquema de procesado" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:559 msgid "Sequence export" msgstr "Exportar Secuencia" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:560 msgid "Base name:" msgstr "Nombre base:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:561 msgid "Base name for the exported sequence" msgstr "Nombre base de la secuencia exportada" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:562 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2674,11 +2598,11 @@ "Formato de exportación de la secuencia. MP4 y WEBM reemplazan al GIF en las " "publicaciones Web modernas. AVI no está comprimido." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:563 msgid "Export sequence" msgstr "Exportar secuencia" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:564 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2691,11 +2615,11 @@ "selección exportada pueden cortarse y seleccionarse con el mismo criterio " "que la selección de imágenes apiladas." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:565 msgid "Normalize images" msgstr "Normalizar imágenes" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:566 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2712,19 +2636,19 @@ "secuencia.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:569 msgid "Fps:" msgstr "Fps:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:570 msgid "Frame rate" msgstr "Ratio de frames" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:571 msgid "Resize" msgstr "Redimensionar" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:572 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2732,19 +2656,19 @@ "Marque esta casilla si quiere redimensionar la secuencia exportada. Tenga en " "cuenta que esto degradará la calidad de imagen." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:573 msgid "Width of output video" msgstr "Ancho del vídeo de salida" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:574 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:575 msgid "Height of output video" msgstr "Alto del vídeo de salida" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:576 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2752,28 +2676,28 @@ "Calidad de la película: un valor bajo dará lugar a más compresión y menos " "tasa de bits, así como un fichero más pequeño." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:577 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Seleccione un área para recortar" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:578 msgid "Image selection uses the same controls as for stacking" msgstr "La selección de imágenes usa los mismos controles que el apilado" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:579 msgid "Go to the stacking tab" msgstr "Ir a la pestaña de apilado" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:580 msgid "Sequence" msgstr "Secuencia" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:581 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "" "El pre-procesado es un paso opcional para aplicar a la secuencia de imágenes." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:582 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2781,18 +2705,18 @@ "El fichero único a menudo se denomina fichero maestro, es el resultado del " "proceso de varios frames, por cada tipo de imagen maestra." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:583 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "Los ficheros negros, de compensación (bias) y planos śólo pueden ser un " "único archivo FITS." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:585 msgid "Use flat" msgstr "Usar plano" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:586 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2800,7 +2724,7 @@ "Todas las secuencias de imágenes se dividirán por la imagen plana maestra " "(el valor de cada píxel)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:587 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2811,21 +2735,21 @@ "Todas las imágenes de la secuencia se dividirán por el fichero maestro plano " "(el valor de cada píxel)." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:589 msgid "Browse..." msgstr "Navegar..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:591 msgid "Use dark" msgstr "Usar negro" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:592 msgid "The dark master image will be removed from all images in the sequence." msgstr "" "La imagen negra maestra se borrará de todas las imágenes de la secuencia." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2834,18 +2758,18 @@ "El fichero negro maestro se borrará de todas las imágenes de la secuencia." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:596 msgid "Use offset" msgstr "Usar compensación" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:597 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "" "La imagen maestra offset/bias se borrará de todas las imágenes de la " "secuencia." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:598 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2855,19 +2779,19 @@ "El fichero maestro de bias/offsset se borraría de todas las imagénes de la " "secuencia." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:600 msgid "Choose your own normalisation value." msgstr "Escoja su propio valor de normalización." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:601 msgid "Normalisation value for flat division" msgstr "Valor de normalización de la división plana" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:602 msgid "Dark optimization" msgstr "Optimización de negro" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:603 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2885,11 +2809,11 @@ "PRECAUCIÓN: no aplicar la optimización al negro en el negro maestro si no se " "ha restado previamente el bias maestro." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:606 msgid "Auto evaluate normalisation value" msgstr "Auto-evalular el valor de normalización" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:607 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2897,22 +2821,22 @@ "Si marca esta casilla, Siril auto-evaluará el valor de normalización.\n" "Este valor es la media del plano maestro calibrado con el offset maestro." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:609 msgid "Equalize CFA" msgstr "Igualar CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:610 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" "Esta opción ecualiza la intensidad media de las capas RGB en una imagen " "plana CFA." -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:611 msgid "Cosmetic correction (using master-dark)" msgstr "Corrección cosmética (usando el negro maestro)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:612 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2920,11 +2844,11 @@ "Cuántas veces la desviación estándar el valor de un píxel debe diferir para " "considerarlo defectuoso." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:613 msgid "Enable Cosmectic Correction" msgstr "Habilitar Corrección Cosmética" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:614 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2932,11 +2856,11 @@ "Marcar si quiere aplicar la eliminación de píxeles calientes.\n" "Los píxeles calientes se encuentran en el negro maestro." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:616 msgid "Estimate" msgstr "Estimar" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:618 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2947,23 +2871,23 @@ "valores son mayores que el 1% del total de píxeles, se le pedirá cambiar los " "valores sigma." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:619 msgid "Cold: 0 px" msgstr "Fríos: 0 px" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:620 msgid "Hot: 0 px" msgstr "Calientes: 0 px" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:621 msgid "Output sequence" msgstr "Secuencia de salida" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:622 msgid "Debayer FITS images before saving" msgstr "Aplicar Debayer a las imágenes FITS antes de guardar" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:623 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -2979,19 +2903,19 @@ "AVISO: esta opción sólo está disponible para imágenes FITS en una secuencia " "SER a la que pueda aplicarse el demosaico al vuelo." -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:626 msgid "Store resulting sequence with prefix:" msgstr "Guardar la secuencia de salida con el prefijo:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:627 msgid "Prefix of the image names resulting from the pre-processing." msgstr "Prefijo de los nombre de imagen resultantes del preprocesado." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:628 msgid "Start pre-processing" msgstr "Comenzar pre-proceso" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:629 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -3008,11 +2932,11 @@ "La siguiente acción para imágenes tomadas con DSLR debería ser el debayer de " "las imágenes preprocesadas, vaya a la pestaña conversión." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:632 msgid "Pre-processing" msgstr "Pre-proceso" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:633 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -3020,19 +2944,27 @@ "El registro es básicamente alinear las imágenes de una secuencia para poder " "procesarlas después." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:634 msgid "Image registration" msgstr "Registro de imagen" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:635 +msgid "Register all images from sequence" +msgstr "Registrar todas las imágenes de la secuencia" + +#: ../src/gui/siril3.glade.h:636 +msgid "Register selected images only" +msgstr "Registrar sólo las imágenes seleccionadas" + +#: ../src/gui/siril3.glade.h:637 msgid "Choose registration method:" msgstr "Escoger el método de registro:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:638 msgid "Select registration layer:" msgstr "Escoger la capa de registro:" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:639 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3049,31 +2981,23 @@ "por defecto si está disponible (en imágenes RGB: Verde, en caso contrario " "Azul y de lo contrario rojo)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Registrar todas las imágenes de la secuencia" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Registrar sólo las imágenes seleccionadas" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:642 msgid "Prefix:" msgstr "Prefijo:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:643 msgid "Prefix of the image names resulting from the registration." msgstr "Prefijo de los nombres de imagen resultantes del registro." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:644 msgid "Algorithm: " msgstr "Algoritmo: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:645 msgid "Match stars in selection" msgstr "Igualar las estrellas en la selección" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:646 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3084,11 +3008,11 @@ "dentro del área seleccionada en la imagen de referencia. Si no se realiza " "selección se ignora esta opción." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:648 msgid "Translation only" msgstr "Sólo traslación" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:649 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3109,11 +3033,11 @@ "AVISO: no se construye una nueva secuencia, los datos de registro se guardan " "en la secuencia original." -#: ../src/gui/siril3.glade.h:673 +#: ../src/gui/siril3.glade.h:653 msgid "Pick object in #1" msgstr "Escoger objeto en #1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3123,19 +3047,19 @@ "imagen seleccionada, entonces haga click en este botón. Las coordenadas del " "píxel del objeto serán calculadas y mostradas." -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:655 msgid "Core X-coordinates of the first image." msgstr "Coordenadas X del núcleo de la primea imagen." -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:656 msgid "Core Y-coordinates of the first image." msgstr "Coordenadas Y del núcleo de la primea imagen." -#: ../src/gui/siril3.glade.h:677 +#: ../src/gui/siril3.glade.h:657 msgid "Pick object in #2" msgstr "Escoger objeto en #2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:658 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3145,27 +3069,27 @@ "imagen seleccionada, entonces haga click en este botón. Las coordenadas del " "píxel del objeto serán calculadas y mostradas." -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:659 msgid "Core X-coordinates of the second image." msgstr "Coordenadas X del núcleo de la segunda imagen." -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:660 msgid "Core Y-coordinates of the second image." msgstr "Coordenadas Y del núcleo de la segunda imagen." -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:661 msgid "Comet velocity in pixel per hour." msgstr "Velocidad del cometa en píxeles por hora." -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:662 msgid "Velocity: " msgstr "Velocidad: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:663 msgid "Go register" msgstr "Hacer registro" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:664 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3176,15 +3100,15 @@ "apartado 'Secuencia de imágenes', el nombre de la secuencia de imágenes " "actual está en el fondo de la ventana." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:665 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Cargar una secuencia primero." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:666 msgid "Simplified Drizzle x2" msgstr "Drizzle Simplificado x2" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:667 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3215,11 +3139,11 @@ "disco necesarios para crear y procesar las imágenes se multiplica por el " "cuadrado del factor Drizzle." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:672 msgid "Cumul reg. data" msgstr "Datos de registro del cúmulo" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:673 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3233,11 +3157,11 @@ "método que no cree una nueva secuencia, pero debe ser desmarcado cuando se " "aplique varias veces el algoritmo de cometas/asteroides." -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:675 msgid "Follow star movement" msgstr "Seguir el movimiento de las estrellas" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:676 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3253,15 +3177,15 @@ "PRECAUCIÓN: habilitar esta opción requiere que el registro no sea " "paralelizado." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:678 msgid "Manual registration" msgstr "Registro manual" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:679 msgid "Display reference image" msgstr "Mostrar imagen de referencia" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:681 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3274,7 +3198,7 @@ "Para habilitarlo, la imagen de referencia debe haberse establecido y " "mostrado al menos una vez en la capa de registro actual." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:683 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3282,11 +3206,11 @@ "Modifique este valor, usando la rueda del ratón o las flechas arriba y " "abajo, para alinear la imagen con la imagen de referencia en el eje X." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:684 msgid "X translation:" msgstr "Traslación X:" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:685 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3294,19 +3218,19 @@ "Modifique este valor, usando la rueda del ratón o las flechas arriba y " "abajo, para alinear la imagen con la imagen de referencia en el eje Y." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:686 msgid "Y translation:" msgstr "Traslación Y:" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:687 msgid "Set reference image first." msgstr "Establecer imagen de referencia primero." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:688 msgid "Set first preview" msgstr "Establecer la primera vista previa" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:689 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3315,53 +3239,53 @@ "este botón, pulse en la imagen para colocar el centro del área de " "previsualización" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:690 msgid "Set second preview" msgstr "Establecer la segunda vista previa" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:691 msgid "Registration" msgstr "Registro" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:692 msgid "Filename:" msgstr "Nombre del archivo:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:693 msgid "Enter the filename of the exported CSV file." msgstr "Introduzca el nombre del fichero CSV exporotado." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:694 msgid "Export to CSV" msgstr "Exportar a CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:695 msgid "Export displayed plot to a CSV file." msgstr "Exportar el trazado actual a un fichero CSV." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:696 msgid "Clear all" msgstr "Borrar todo" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:697 msgid "Clear all curves displayed in photometry." msgstr "Borrar todas las curvas mostradas en la fotometría." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:698 msgid "Clear latest" msgstr "Borrar las últimas" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:699 msgid "Clear the last curve added in photometry." msgstr "Borrar la última curva añadida a la fotometría." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:362 +#: ../src/gui/siril3.glade.h:701 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Curva de luz" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:702 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3375,43 +3299,47 @@ "en el tipo de gráfica a mostrar.\n" "AVISO: debe estar instalado gnuplot." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:704 msgid "Select the source of graph information." msgstr "Selecciones la fuente de información gráfica." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:705 msgid "Select which information to display from photometry data." msgstr "Seleccione qué información mostrar de los datos de fotometría." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:706 msgid "Roundness" msgstr "Redondez" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:563 ../src/gui/plot.c:725 +#: ../src/gui/siril3.glade.h:707 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:728 +#: ../src/gui/siril3.glade.h:708 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Amplitud" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:709 msgid "Magnitude" msgstr "Magnitud" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:710 +msgid "Background" +msgstr "Fondo" + +#: ../src/gui/siril3.glade.h:711 msgid "X position" msgstr "Posición X" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:712 msgid "Y position" msgstr "Posición Y" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:713 msgid "Plot" msgstr "Trazar" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:714 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3419,19 +3347,15 @@ "Apilar imágenes, bien sumando, mediana, media con rechazo o píxeles mínimos/" "máximos." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:715 msgid "Sequence stacking" msgstr "Apilar secuencia" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:716 msgid "Stacking Methods:" msgstr "Métodos de apilado:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Apilar este set de imágenes:" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:717 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3496,84 +3420,35 @@ "Los píxeles de la imagen se reemplazan con los de la misma coordenada si su " "intensidad es menor." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:740 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Apilar con el total" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:741 msgid "Average stacking with rejection" msgstr "Apilar con el promedio con rechazo" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:742 msgid "Median stacking" msgstr "Apilar con la mediana" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:743 msgid "Pixel maximum stacking" msgstr "Apilar con píxel máximo" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:744 msgid "Pixel minimum stacking" msgstr "Apilar con píxel mínimo" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Seleccione el set de imágenes a apilar. Pueden usarse todas las imágenes o " -"sólo las seleccionadas manualmente. También es posible seleccionar sólo un " -"porcentaje de las mejores siguiendo criterios de calidad (planetaria o fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "todas las imágenes de la secuencia" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "imágenes seleccionadas previamente a mano de la secuencia" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"mejores imágenes, seleccionadas automáticamente de los datos de registro " -"(PSF - FWHM)" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"mejores imágenes, seleccionadas automáticamente de los datos de registro " -"(PSF - redondez)" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"las mejores imágenes, seleccionadas automáticamente de los datos de registro " -"(Planetario)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Basado en FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Apilar mejor:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:745 msgid "Sigma low: " msgstr "Sigma bajo: " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:746 msgid "Sigma high: " msgstr "Sigma alto: " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:747 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3625,70 +3500,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:763 msgid "No rejection" msgstr "Sin rechazo" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:764 msgid "Percentile Clipping" msgstr "Recorte de percentiles" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:765 msgid "Sigma Clipping" msgstr "Recorte Sigma" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:766 msgid "Median Sigma Clipping" msgstr "Recorte sigma mediana" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:767 msgid "Winsorized Sigma Clipping" msgstr "Recorte winsorized sigma" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:768 msgid "Linear Fit Clipping" -msgstr "Recorte de ajuste lineal" - -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"Normalizar a 16 bits\n" -"(No buscar Maestros)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"Si marca este botón, la imagen final se normalizará a 16 bits por canal. Es " -"importante cuando la secuencia de entrada tiene una profudidad de 8 bits por " -"canal.\n" -"Sin embago, puede deshabilitar esta opción cuando construya tramas maestras " -"de secuencias de 8 bits." +msgstr "Recorte de ajuste lineal" -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:769 msgid "Rejection:" msgstr "Descarte:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:770 msgid "Normalisation:" msgstr "Normalización:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:771 msgid "Start stacking" msgstr "Comenzar apilado" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:772 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3700,19 +3548,19 @@ "Siril usa imágenes internas de 32 bits para el apilado, el cuál se guarda " "como una imagen de 16bits cuyo nombre se establece debajo." -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:774 msgid "Store result in file:" msgstr "Guardar el resultado en el fichero:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:775 msgid "Overwrite" msgstr "Sobreescribir" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:776 msgid "Overwrite file without notice if it already exists." msgstr "Sobrescribir sin avisar si ya existe." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:777 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3752,31 +3600,31 @@ "Sin embargo la normalización multiplicativa se debe usar con frames de campo " "plano." -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:789 msgid "No normalisation" msgstr "Sin normalización" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:790 msgid "Additive" msgstr "Aditiva" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:791 msgid "Multiplicative" msgstr "Multiplicativa" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:792 msgid "Additive with scaling" msgstr "Aditiva con escalado" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:793 msgid "Multiplicative with scaling" msgstr "Multiplicativa con escalado" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:794 msgid "Force recomputing" msgstr "Forzar recálculo" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:795 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3786,11 +3634,92 @@ "secuencia ya procesado. Sin embargo puede forzar a Siril a recalcularlo " "antes del apilado." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:796 +msgid "Add another filter" +msgstr "Añadir otro filtro" + +#: ../src/gui/siril3.glade.h:797 +msgid "Remove this filter" +msgstr "Eliminar este filtro" + +#: ../src/gui/siril3.glade.h:798 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Seleccione el set de imágenes a apilar:\n" +"- seleccionadas: sólo usar imágenes que no han sido desmarcadas de la " +"secuencia\n" +"- FWHM: imágenes con mejores cálculos FWHM (registro basado sólo en " +"estrellas)\n" +"- redondez: imaǵenes con mejor redondez de estrellas (registro basado sólo " +"en estrellas)\n" +"- calidad: imágenes con mejor calidad (DFT palnetario o registros ECC)" + +#: ../src/gui/siril3.glade.h:803 +msgid "all" +msgstr "todas" + +#: ../src/gui/siril3.glade.h:804 +msgid "selected" +msgstr "seleccionada" + +#: ../src/gui/siril3.glade.h:805 +msgid "roundness" +msgstr "redondez" + +#: ../src/gui/siril3.glade.h:806 +msgid "Percents of the images of the sequence." +msgstr "Porcentajes de las imágenes de la secuencia." + +#: ../src/gui/siril3.glade.h:807 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Seleccione el set de imágenes a apilar. Pueden usarse todas las imágenes o " +"sólo las seleccionadas manualmente. También es posible seleccionar sólo un " +"porcentaje de las mejores siguiendo criterios de calidad (planetaria o fwhm)." + +#: ../src/gui/siril3.glade.h:808 +msgid "Stack this set of images:" +msgstr "Apilar este set de imágenes:" + +#: ../src/gui/siril3.glade.h:809 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Apilando 0 imágenes de 0 de la secuencia" + +#: ../src/gui/siril3.glade.h:810 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Normalizar a 16 bits\n" +"(No buscar Maestros)" + +#: ../src/gui/siril3.glade.h:812 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Si marca este botón, la imagen final se normalizará a 16 bits por canal. Es " +"importante cuando la secuencia de entrada tiene una profudidad de 8 bits por " +"canal.\n" +"Sin embago, puede deshabilitar esta opción cuando construya tramas maestras " +"de secuencias de 8 bits." + +#: ../src/gui/siril3.glade.h:814 msgid "Stacking" msgstr "Apilado" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:815 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3798,38 +3727,46 @@ "Ventana de salida de Siril, muestra mensajes sobre qué se ha hecho en " "respuesta a los comandos de entrada." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:816 +msgid "Export the log" +msgstr "Exportar el log" + +#: ../src/gui/siril3.glade.h:817 +msgid "Clear the log" +msgstr "Limpiar el log" + +#: ../src/gui/siril3.glade.h:818 msgid "Output logs" msgstr "Logs de salida" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:819 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "" "Introducir comando. Escribir 'help' aquí muestra la lista de comandos " "soportados." -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:820 msgid "Type help for the list of supported commands" msgstr "Escribir 'help' para obtener la lista de comandos soportados" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:821 msgid "Displays manual of the command written in the console." msgstr "Muestra el manual para el comando escrito en la consola." -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:822 msgid "Console" msgstr "Consola" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:823 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Listo." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:824 msgid "Current working directory:" msgstr "Directorio de trabajo actual:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:825 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3838,23 +3775,23 @@ "cambiarse usando el botón Cambiar directorio de la derecha, o con el comando " "cd." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:826 msgid "Change dir..." msgstr "Cambiar directorio..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:827 msgid "Change current working directory" msgstr "Cambiar el directorio de trabajo actual" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:828 msgid "Stop running processes" msgstr "Parar el proceso en ejecución" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:829 msgid "Current working sequence:" msgstr "Secuencia de trabajo actual:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:830 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3864,11 +3801,11 @@ "PRECAUCIÓN: reducir demasiado el número de procesadores permitidos puede " "degradar el rendimiento." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:832 msgid "Displays the amount of used RAM memory by Siril." msgstr "Muestra la cantidad de memoria RAM usada por Siril." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:833 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3877,62 +3814,102 @@ "que contiene al directorio de trabajo." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:835 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Espacio en disco: N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Calibración del color" +#: ../src/gui/siril3.glade.h:836 +msgid "Informations" +msgstr "Informaciiones" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:837 +msgid "Focal length (mm): " +msgstr "Longitud focal (mm): " + +#: ../src/gui/siril3.glade.h:838 +msgid "Pixel X dim. (micron): " +msgstr "Dim. de píxles X (micrones): " + +#: ../src/gui/siril3.glade.h:839 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." msgstr "" -"Se calcula y multiplica un conjunto de tres factores de calibración de " -"color con cada canal de color.\n" -"Se debe aplicar una neutralización del fondo antes de esta operación." +"Borrar todos los campos. Si guarda su imagen después, la cabecera no " +"contendrá ningún dato sobre la focal o el tamaño del sensor." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "coordenada X del principio de la selección de fondo" +#: ../src/gui/siril3.glade.h:840 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si el tamaño del píxel Y no se carga automáticamente usando la cabecera del " +"fichero, puede actualizar la celda usted mismo." -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "coordenada Y del principio de la selección de fondo" +#: ../src/gui/siril3.glade.h:841 +msgid "Pixel Y dim. (micron): " +msgstr "Dim. del píxel Y (micrones): " -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Ancho de la selección de fondo" +#: ../src/gui/siril3.glade.h:842 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si la longitud focal no se carga automáticamente usando la cabecera del " +"fichero, puede actualizar la casilla usted mismo." -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Alto de la selección de fondo" +#: ../src/gui/siril3.glade.h:843 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si el tamaño del píxel X no se carga automáticamente usando la cabecera del " +"fichero, puede actualizar la casilla usted mismo." -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Área seleccionada" +#: ../src/gui/siril3.glade.h:844 +msgid "No binning in pixel size value" +msgstr "No hay Binning en el valor del tamaño de píxel" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Usar la selección actual" +#: ../src/gui/siril3.glade.h:845 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Marque este botón si el valor binning no se tendrá en cuenta en el tamaño de " +"píxel. En este caso, se usará el valor binning de la caja de debajo." -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:846 +msgid "FWHM is converted into arcsec" +msgstr "El FWHM se convertirá en arcsec" + +#: ../src/gui/siril3.glade.h:847 +msgid "Binning: " +msgstr "Binning: " + +#: ../src/gui/siril3.glade.h:848 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." msgstr "" -"Debe especificar una selección que represente el verdadero fondo de la " -"imagen, intentando excluir todas las estrellas u otros objetos estelares." +"Si el binnig no se carga automáticamente usando la cabecera del fichero, " +"puede actualizar esta casilla." -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:849 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Se calcula y multiplica un conjunto de tres factores de calibración de " +"color con cada canal de color.\n" +"Se debe aplicar una neutralización del fondo antes de esta operación." + +#: ../src/gui/siril3.glade.h:851 msgid "Background Neutralization" msgstr "Neutralización del fondo" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:852 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3943,15 +3920,15 @@ "Este paso es necesario realizarlo antes ningún intento de calibración del " "color." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:854 msgid "Background reference" msgstr "Referencia de fondo" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:855 msgid "Manual White Balance" msgstr "Balance de blancos manual" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:856 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -3959,35 +3936,35 @@ "Seleccionando esta opción podrá usar sus propios factores de calibración del " "color. Esta opción está deshabilitada por defecto." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:857 msgid "Red:" msgstr "Rojo:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:858 msgid "Green:" msgstr "Verde:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:859 msgid "Blue:" msgstr "Azul:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:860 msgid "x coordinate of the start of the white reference selection" msgstr "coordenada x del principio de la selección blanca de referencia" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:861 msgid "y coordinate of the start of the white reference selection" msgstr "coordenada y del principio de la selección blanca de referencia" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:862 msgid "Width of the white reference selection" msgstr "Ancho de la selección blanca de referencia" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:863 msgid "Height of the white reference selection" msgstr "Alto de la selección blanca de referencia" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:864 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -3997,7 +3974,7 @@ "referencia blanca.\n" "Si la selección está vacía se usará toda la imagen como referencia." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:866 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." @@ -4006,7 +3983,7 @@ "umbral no se tendrán en cuenta. Los píxeles negros siempre se excluyen de " "los cálculos." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:867 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." @@ -4015,38 +3992,34 @@ "encima de este valor no se tendrán en cuenta. Los píxeles saturados siempre " "se excluyen de este cálculo." -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:868 msgid "Lower limit: " msgstr "Límite inferior: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:869 msgid "Upper limit: " msgstr "Límite superior: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:870 msgid "White reference" msgstr "Referencia de blanco" -#: ../src/algos/PSF.c:671 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" msgstr "" -"Resultado ajuste PSF:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Ángulo=%0.2f deg\n" -"Valor de fondo=%0.6f\n" -"Intensidad máxima=%0.6f\n" -"Magnitud (%s)=%0.2f\n" -"RMSE=%.3e\n" +"No hay suficientes muestras de fondo. No se puede calcular el fondo a " +"extraer.\n" +"\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Desbordamiento de memoria - abortando" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "No hay muestras suficientes." #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -4063,13 +4036,13 @@ msgstr "Mejora de la saturación: procesando...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1761 ../src/core/preprocess.c:63 +#: ../src/core/preprocess.c:182 ../src/core/siril.c:611 ../src/core/siril.c:902 +#: ../src/core/siril.c:998 ../src/core/siril.c:1090 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:326 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "Error: fallo en el cálculo estadístico.\n" @@ -4079,12 +4052,14 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:546 +#: ../src/gui/photometric_cc.c:564 msgid "There is no selection" msgstr "Sin selección" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:547 +#: ../src/gui/photometric_cc.c:565 msgid "Make a selection of the background area" msgstr "Realice una selección para el área de fondo" @@ -4092,7 +4067,7 @@ msgid "Make a selection of the white reference area" msgstr "Realice una selección para el área blanca de referencia" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:322 msgid "Background reference:\n" msgstr "Referencia de fondo:\n" @@ -4100,7 +4075,7 @@ msgid "White reference:\n" msgstr "Referencia de blanco:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:307 msgid "Color calibration factors:\n" msgstr "Factores de calibración de color:\n" @@ -4108,51 +4083,37 @@ msgid "Color Calibration: processing...\n" msgstr "Calibración de color: procesando...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Imagen %d: %ld píxeles corregidos (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Calibración cosmética: procesando...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:197 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld píxeles corregidos (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Transformada de Fourier: procesando...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "Hay errores en sus ficheros\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Canal #%d: realizada extracción de fondo.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Extracción de fondo: procesando...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Muestras de fondo insuficientes.\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:260 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" "El radio interior y exterior son demasiado pequeños. Por favor actualice los " "valores en la caja de ajustes.\n" -#: ../src/algos/photometry.c:303 +#: ../src/algos/photometry.c:311 msgid "" "Warning: There aren't enough pixels in the sky annulus. You need to make a " "larger selection.\n" @@ -4160,78 +4121,97 @@ "Precaución: no hay suficientes píxeles en el anillo del cielo. Necesita " "realizar una selección mayor.\n" +#: ../src/algos/photometry.c:364 ../src/algos/photometry.c:378 +msgid "Wrong value" +msgstr "Valor erróneo" + +#: ../src/algos/photometry.c:365 ../src/algos/photometry.c:379 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "" +"El valor del radio interior debe ser menor que el exterior. Por favor " +"modifique el valor." + +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1839 +#: ../src/gui/callbacks.c:2904 ../src/gui/callbacks.c:4513 +#: ../src/gui/callbacks.c:4519 ../src/gui/callbacks.c:4540 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Error" + #. Matching information -#: ../src/algos/plateSolver.c:683 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "Par %d coincide.\n" -#: ../src/algos/plateSolver.c:685 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "Inliers: %*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:691 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "Resolución:%*.3lf arcsec/px\n" -#: ../src/algos/plateSolver.c:705 +#: ../src/algos/plateSolver.c:762 #, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "Rotación:%+*.2lf deg %s\n" -#: ../src/algos/plateSolver.c:705 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "(volteado)" -#: ../src/algos/plateSolver.c:711 +#: ../src/algos/plateSolver.c:776 #, c-format msgid "Focal:%*.2lf mm\n" msgstr "Focal:%*.2lf mm\n" -#: ../src/algos/plateSolver.c:712 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "Tamaó de píxel:%*.2lf µm\n" -#: ../src/algos/plateSolver.c:715 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "Profundidad de campo: %s x %s\n" -#: ../src/algos/plateSolver.c:718 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "Centro de imagen: RA: %s, DEC: %s\n" -#: ../src/algos/plateSolver.c:753 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "Tamaño del catálogo NOMAD: %d objetos\n" -#: ../src/algos/plateSolver.c:787 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "Tamaño del catálogo TYCHO-2: %d objetos\n" -#: ../src/algos/plateSolver.c:821 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "Tamaño del catálogo Gaia DR2: %d objetos\n" -#: ../src/algos/plateSolver.c:855 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "Tamaño del catálogo PPMXL: %d objetos\n" -#: ../src/algos/plateSolver.c:890 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "Tamaño del catálogo Bright Stars: %d objetos\n" -#: ../src/algos/plateSolver.c:950 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" @@ -4239,7 +4219,7 @@ "Resolución de placas fallida. La imagen no puede alinearse con las estrellas " "de referencia.\n" -#: ../src/algos/plateSolver.c:953 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4254,7 +4234,7 @@ "Finalmente, ten en cuenta que el algoritmo de resolución de platos sólo " "puede aplicarse a imágenes lineales." -#: ../src/algos/plateSolver.c:998 +#: ../src/algos/plateSolver.c:1067 #, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4262,27 +4242,48 @@ "No hay suficientes estrellas seleccionadas en la imagen. Se necesitan como " "mínimo %d estrellas." -#: ../src/algos/plateSolver.c:1200 +#: ../src/algos/plateSolver.c:1283 msgid "There are no keywords stored in the FITS header.\n" msgstr "" "No se han encontrado palabras clave en la cabecera FITS.\n" "\n" -#: ../src/algos/plateSolver.c:1201 +#: ../src/algos/plateSolver.c:1284 msgid "No metadata" msgstr "Sin metadatos" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1351 msgid "Astrometric solution detected" msgstr "Solución astrométrica detectada" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1351 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." msgstr "" -"La solución astronométrica que contiene la imagen se borrará con la " -"transformación geométrica y no será posible deshacer." +"La solución astronométrica que contiene la imagen se borrará con la " +"transformación geométrica y no será posible deshacer." + +#: ../src/algos/PSF.c:704 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"Resultado ajuste PSF:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Ángulo=%0.2f deg\n" +"Valor de fondo=%0.6f\n" +"Intensidad máxima=%0.6f\n" +"Magnitud (%s)=%0.2f\n" +"RMSE=%.3e\n" #. only used for progress bar #: ../src/algos/rgradient.c:69 @@ -4293,33 +4294,33 @@ msgid "Rotational gradient complete." msgstr "Gradiente rotacional completado." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:223 +#: ../src/core/command.c:461 ../src/core/command.c:784 +#: ../src/core/command.c:952 ../src/core/command.c:987 +#: ../src/core/command.c:1067 ../src/core/command.c:1419 +#: ../src/core/command.c:1546 ../src/core/command.c:1569 +#: ../src/core/command.c:1597 ../src/core/command.c:1623 +#: ../src/core/command.c:1799 ../src/core/command.c:1868 +#: ../src/core/command.c:2681 ../src/gui/callbacks.c:3932 +#: ../src/gui/callbacks.c:4124 ../src/gui/callbacks.c:4282 +#: ../src/gui/callbacks.c:4315 ../src/gui/callbacks.c:4363 +#: ../src/gui/callbacks.c:4497 ../src/gui/callbacks.c:4651 +#: ../src/gui/callbacks.c:4830 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Otra tarea en progreso, ignorando nuevas peticiones.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "Encontrar estrellas: procesando...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "¡Esta estrella ya estaba seleccionada!\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "Picos" @@ -4332,7 +4333,7 @@ msgstr "Error en alineación de las capas." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Registro completado." @@ -4376,9 +4377,9 @@ msgid "You must at least load two layers before!\n" msgstr "¡Debería cargar como mínimo dos capas antes!\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:153 ../src/gui/wavelets.c:162 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4617 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Alerta" @@ -4409,95 +4410,95 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Reajustando capa %d a %g veces más brillante\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:391 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "Multiplicar por un coeficiente menor o igual a 0 no es posible.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:414 #, c-format msgid "Entropy: %.3lf\n" msgstr "Entropía: %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:450 msgid "Number of iterations must be > 0.\n" msgstr "" "El número de iteraciones ha de ser mayor que 0.\n" "\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:455 msgid "Sigma must be > 0.\n" msgstr "" "El valor Sigma debe ser mayor que 0.\n" "\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:495 ../src/core/command.c:998 msgid "Crop: x and y must be positive values.\n" msgstr "Recortar: x e y deben ser valores positivos.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:499 ../src/core/command.c:1002 msgid "Crop: width and height must be greater than 0.\n" msgstr "Recortar: ancho y alto deben ser mayores que 0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:503 ../src/core/command.c:1039 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "" "Recortar: ancho y alto deben ser menores que %d y %d respectivamente.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:512 ../src/core/command.c:1011 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Recortar: seleccione una región o proporcione x, y, ancho y alto\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:151 +#: ../src/core/command.c:598 ../src/core/command.c:2517 +#: ../src/gui/callbacks.c:4615 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "Wavelet: el número máximo de planos para este tamaño de imagen es %d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:160 +#: ../src/core/command.c:604 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Wavelet: el tipo debe ser %d o %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:673 msgid "Cannot list files, set working directory first.\n" msgstr "" "No se pueden listar ficheros, establezca primero el directorio de trabajo.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:679 ../src/core/command.c:688 msgid "Siril cannot open the directory.\n" msgstr "Siril no puede abrir el directorio.\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:710 #, c-format msgid "Link: %s\n" msgstr "Enlace: %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:714 #, c-format msgid "Directory: %s\n" msgstr "Directorio: %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:724 ../src/core/command.c:731 #, c-format msgid "Sequence: %s\n" msgstr "Secuencia: %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:727 ../src/core/command.c:729 #, c-format msgid "Image: %s\n" msgstr "Imagen: %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:736 ../src/core/command.c:2496 msgid "********* END OF THE LIST *********\n" msgstr "********* FIN DE LA LISTA **********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:766 msgid "The scaling factor must be less than 5.0\n" msgstr "El factor de escala debe ser menor de 5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:836 ../src/core/command.c:934 +#: ../src/core/command.c:956 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4505,12 +4506,12 @@ "La selección actual es demasiado amplia. Para determinar el PSF realice una " "selección alrededor de una única estrella.\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:840 ../src/core/command.c:938 +#: ../src/core/command.c:960 ../src/io/sequence.c:1564 msgid "Select an area first\n" msgstr "Seleccione un área primero\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:846 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" @@ -4518,16 +4519,16 @@ "Magnitud relativa: %.3lf, Magnidud real reducida: %.3lf, Compensación: " "%.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:862 ../src/core/command.c:917 +#: ../src/core/command.c:979 msgid "This command can be used only when a sequence is loaded\n" msgstr "Sólo se puede usar este comando cuando se ha cargado una secuencia\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:870 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Ejecutar un PSF para la secuencia primero (ver seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:874 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4536,12 +4537,12 @@ "La magnitud de referencia se ha establecido para la estrella %d a %f y se " "calculará para cada imagen\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:886 #, c-format msgid "FITS extension unknown: %s\n" msgstr "Extensión FITS desconocida: %s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:909 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" @@ -4549,129 +4550,128 @@ "Valores de parámetros incorrectos. Sigma debe ser >=0.05 y la redondez debe " "estar entre 0 y 0.9.\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:922 msgid "Reference magnitude unset for sequence\n" msgstr "Magnitud de referencia no establecida para la secuencia\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:974 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Ejecutando el PSF en la secuencia cargada, capa %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1025 ../src/core/command.c:1031 +#: ../src/core/command.c:1638 ../src/core/command.c:1644 +#: ../src/core/command.c:1880 ../src/core/command.c:1887 +#: ../src/core/command.c:2144 ../src/core/command.c:2286 +#: ../src/core/command.c:2359 ../src/core/command.c:2366 #, c-format -msgid "No sequence %s found.\n" -msgstr "No se encontró la secuencia %s.\n" +msgid "No sequence `%s' found.\n" +msgstr "No se encontró la secuencia '%s'.\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1060 #, c-format msgid "Background value: %d\n" msgstr "Valor de fondo: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1115 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Se ha creado el fichero %s para la capa %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1198 msgid "Number of layers MUST be 1 or 3\n" msgstr "El número de capas debe ser 1 o 3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1213 msgid "new empty image" msgstr "nueva imagen vacía" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1230 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "Los valores han de ser positivos y menores que %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1250 ../src/core/command.c:1511 msgid "Wrong parameters.\n" msgstr "Parámetros incorrectos.\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1255 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "Seleccione una región o proporcione x, y, ancho y alto\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1278 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "Encontradas %d estrellas en la imagen, canal #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1292 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "" "encontrar_calientes debe aplicarse en un dark frame maestro de un único canal" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1300 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld píxeles friós y %ld píxeles calientes\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1305 ../src/core/command.c:1340 #, c-format msgid "Cannot open file: %s\n" msgstr "No se puede abrir el fichero: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1401 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "correción cosmética: error en el fichero cosme en la línea %d: %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1409 msgid "There were some errors, please check your input file.\n" msgstr "Hubo errores, revise el fichero de entrada.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1431 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "El tamaño del kernel debe ser impar y mayo que 1.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1436 msgid "Modulation value MUST be between 0 and 1\n" msgstr "El valor de modulación debe estar entre 0 y 1\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1459 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Las coordenadas del centro de gravedad son (%.3lf,%.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1574 msgid "FFT does not work with sequences\n" msgstr "La transformada rápida de Fourier no funciona con secuencias\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1678 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Use este comando para seleccionar imágenes de una secuencia, cargue primero " "la secuencia.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1684 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "El primer argumento debe estar entre 0 y el número de imágenes menos uno.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1718 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "" "Actualización de la selección finalizada, %d imágenes seleccionadas en la " "secuencia\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1737 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Siril no puede dividir capas. Asegúrese que la imagen está en modo RGB.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1781 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4680,65 +4680,95 @@ "Capa %s: Media: %0.1lf, Mediana: %0.1lf, Sigma: %0.1lf, AvgDev; %0.1lf, Mín: " "%0.1lf, Máx: %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1811 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Conversión: error abriendo directorio de trabajo %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1830 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Conversión: procesando...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1841 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Conversión: no se ha establecido directorio de trabajo.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1900 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Alineación Global de Estrellas (espacio profundo)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "¡¡No hay suficiente espacio en disco para realizar el Drizzle!\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1961 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "Registro: procesando usando el método: %s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1980 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" +"No se permiten opciones de normalización en este contexto, se ignoran.\n" + +#: ../src/core/command.c:2000 ../src/core/command.c:2018 +#: ../src/core/command.c:2036 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "" +"No se pueden analizar los argumentos '%s' para el filtro '%s', abortando.\n" +"\n" + +#: ../src/core/command.c:2007 ../src/core/command.c:2025 +#: ../src/core/command.c:2043 ../src/core/command.c:2056 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Argumento faltante %s, abortando.\n" + +#: ../src/core/command.c:2062 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"La opción del fichero de salida no está permitida en este contexto, se " +"ignora.\n" + +#: ../src/core/command.c:2066 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Argumento inesperado para apilado '%s', abortando.\n" + +#: ../src/core/command.c:2083 #, c-format msgid "Stacking sequence %s\n" msgstr "" "Secuencia de apilado %s\n" "\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2093 +msgid "Not using rejection for stacking\n" +msgstr "No se usa el rechazo para el apilado\n" + +#: ../src/core/command.c:2136 #, c-format msgid "Could not save the stacking result %s\n" msgstr "No se puede guardar el resultado del apilado %s\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2158 msgid "Looking for sequences in current working directory...\n" msgstr "Buscando secuencias en el directorio actual...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2160 msgid "Error while searching sequences or opening the directory.\n" msgstr "Error buscando secuencias o abriendo el directorio.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2169 msgid "Starting stacking of found sequences...\n" msgstr "Comenzando el apilado de las secuencias encontradas...\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2177 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "" "Apiladas %d secuencias correctamente.\n" "\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2217 ../src/core/command.c:2312 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4746,20 +4776,20 @@ "La media de apilados con rechazo usa el rechazo Winsorized y requiere dos " "argumentos adicionales: sigma bajo y sigma alto.\n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2226 ../src/core/command.c:2321 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "Apilado proporcionado (%s) desconocido.\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "El tipo de método de apilado '%s' no es válido\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2257 msgid "Stacked sequence successfully.\n" msgstr "Secuencia apilada correctamente.\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2430 ../src/gui/callbacks.c:3939 msgid "Preprocessing...\n" msgstr "Procesando...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2455 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4768,83 +4798,107 @@ "El número de procesadores lógicos debe ser mayor que 0 y menor o igual que " "%d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2465 #, c-format msgid "Using now %d logical processors\n" msgstr "Usando %d procesadores lógicos\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2477 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"El rango aceptado para el ratio de memoria usado para el apilado es [0.05, " +"2], con valores recomendados por debajo de la memoria disponible\n" + +#: ../src/core/command.c:2481 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Estableciendo el ratio de memoria usada por encima de 1 requerirá usar " +"memoria en disco (SWAP), que es más lenta y no recomendada (%g solicitado)\n" + +#: ../src/core/command.c:2485 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "La memoria usable para el apilado ha cambiado a %g\n" + +#: ../src/core/command.c:2491 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "******* LISTA DE COMANDOS DISPONIBLES *******\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2572 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Comando desconocido: '%s' todavía no implementado\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2579 #, c-format msgid "Usage: %s\n" msgstr "Uso: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2586 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "Este comando no puede usarse en un script: %s\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2592 #, c-format msgid "Running command: %s\n" msgstr "Ejecutando comando: %s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2641 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "" -"Error en la línea: %d. Saliendo del proceso por lotes\n" -"\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Error en línea %d: '%s'.\n" + +#: ../src/core/command.c:2642 +msgid "Exiting batch processing.\n" +msgstr "Saliendo del proceso por lotes.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2661 msgid "Script execution finished successfully.\n" msgstr "Script ejecutado correctamente.\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2663 msgid "Total execution time" msgstr "Tiempo total de ejecución" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2665 msgid "Script execution failed.\n" msgstr "Ejecución de script fallida.\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:482 +#: ../src/core/command.c:2691 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "El fichero [%s] no existe\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2699 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "Iniciando script %s\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2706 msgid "Command execution failed.\n" msgstr "Ejecución de comando fallida.\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2831 msgid "Can be used in a script: " msgstr "Puede usarse en un script: " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2834 msgid "YES" msgstr "SI" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2836 msgid "NO" msgstr "NO" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2846 msgid "No help for this command" msgstr "Escribir help para obtener la lista de comandos soportados" @@ -4928,8 +4982,18 @@ msgstr "Misma función que COSME pero aplicado a imágenes RAW CFA" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "Recorta la imagen actual con el rectángulo previamente seleccionado" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Se puede usar con GUI: si una selección se ha hecho con el ratón, llamando " +"al comando CROP sin argumentos lo recortará a la selección. De otra manera, " +"o en sctripts, es necesario pasarle los argumentos, con \"x\" e \"y\" siendo " +"las coordenadas de la esquina superior izquierda, y \"width\" y \"height\" " +"el tamaño de la selección" #: ../src/core/command_def.h:22 msgid "" @@ -5194,8 +5258,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5205,13 +5271,14 @@ "Preprocesa la secuencia \"sequiencename\" usando bias, dark y flat " "proporcionados como argumentos. Es posible especificar si las imágenes son " "CFA para correcciones cosméticas con la opción \"-cfa\" y también hacerles " -"demosaico al final del proceso con \"-debayer\". La opción \"-flip\" indica " -"a Siril leer la imagen de arriba a abajo para la operación de demosaico y la " -"opción \"-equalize_cfa\" ecualiza la media de la intensidad e las capas RGB " -"del plano CFA maestro. Además es posible optimizar la resta de negro con \"-" -"opt\".\n" +"demosaico al final del proceso con \"-debayer\". Esta opción puede asociarse " +"a \"-stretch\" para estirar a 16 bits la imagen usando esta operación (sólo " +"funciona con imágenes de DSLR). La opción \"-flip\" indica a Siril que lea " +"la imagen de arriba a abajo para la operación de demosaico y la opción \"-" +"equalize_cfa\" ecualiza la media de la intensidad de las capas RGB del plano " +"CFA maestro. Además es posible optimizar la resta de negro con \"-opt\".\n" "\n" -"Note que sólo los píxeles calientes se corrigen en el proceso de correción " +"Note que sólo los píxeles calientes se corrigen en el proceso de corrección " "cosmética" #: ../src/core/command_def.h:65 @@ -5450,7 +5517,7 @@ "hace más fácil su comprensión. Para reiniciar la estrella de referencia y el " "desplazamiento de magnitud, vea UNSETMAGSEQ" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" @@ -5458,37 +5525,50 @@ "Divide el color de la imagen en distintos ficheros (uno por cada color) y " "los guarda en los ficheros \"r\", \"g\" y \"b\" respectivamente" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" "Apila la secuencia \"sequencename\", usando opciones. Los tipos permitidos " "son: sum, max, min, med, mediana, y reg o media, que requiere el uso de " "argumentos adicionales \"sigma low\" y \"high\" usados para el algoritmo de " -"rechazo de recortes Sigma Winsorized (no se puede cambiar desde aquí). Se " -"permiten diferentes tipos de normalización: \"-norm=add\" para adición, \"-" -"norm=mul\" para multiplicativa. Las opciones \"-norm=addscale\" y \"-" +"rechazo de recortes Sigma Winsorized (no se puede cambiar desde aquí). \n" +"Se permiten diferentes tipos de normalización: \"-norm=add\" para aditiva, " +"\"-norm=mul\" para multiplicativa. Las opciones \"-norm=addscale\" y \"-" "norm=mulscale\" aplican las mismas normalizaciones pero con operaciones de " -"escalado. Si no se especifican argumentos además del nombre de la secuencia, " -"se uarsá" +"escalado. \n" +"Si no se especifican argumentos además del nombre de la secuencia, se " +"asumirá apilado suma.\n" +"El nombre de la imagen resultante puede establecerse con la opción \"-out=.\n" +"Las imágenes apiladas se pueden seleccionar basándose en algunos filtros, " +"como la selección manual del mejor FWHM, mediante las opciones \"-filter-*" +"\".\n" +"Consulte la referencia de comandos para una documentación completa de este " +"comando" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" "Abre todas las secuencias en el directorio actual de trabajo y las apila con " "el tipo de apilado especificado o con el apilado suma. Vea el comando STACK " "para descripción de las opciones" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5496,22 +5576,22 @@ "Devuelve las estadísticas globales de la imagen actual. Si se realiza una " "selección el comando devuelve las estadísticas dentro de la selección" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Reemplaza los valores por debajo de \"level\" con \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Reemplaza los valores por encima de \"level\" con \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Reemplaza los valores por debajo de \"lo\" con \"lo\" y los valores por " "encima de \"hi\" con \"hi\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5519,11 +5599,11 @@ "Permite deseleccionar masivamente las imágenes de la secuencia cargada (de " "\"from\" a \"to\" incluídas). Vea SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Restablece la calibración de magnitud a 0. Vea SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5531,7 +5611,7 @@ "Restablece la magnitud de calibración y la estrella de referencia para la " "secuencia. Vea SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5539,13 +5619,13 @@ "Aplica a la imagen de trabajo una máscara de desenfoque con sigma \"sigma\" " "y coeficiente \"multi\"" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "" "Muestra una imagen con \"low\" y \"high\" como los umbrales bajo y alto" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5557,7 +5637,7 @@ "almacena en un fichero como una estructura que contiene los planos, listos " "para la reconstrucción ponderada con WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5572,13 +5652,49 @@ msgid "Loading init file: '%s'\n" msgstr "Cargando fichero de inicialización: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"Revirtiendo el directorio actual al directorio de inicio, el directorio " -"guardado ya no está disponible\n" +"¡¡No hay suficiente espacio en disco para realizar esta operación: %sB " +"disponibles de %sB necesarios (faltan %sB)\n" +"\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "No hay suficiente espacio en disco" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Abrir fichero" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Abrir" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Cancel" +msgstr "_Cancelar" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +msgid "Add Files" +msgstr "Añadir ficheros" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Add" +msgstr "_Añadir" + +#: ../src/core/OS_utils.c:416 ../src/core/OS_utils.c:419 +msgid "Save File" +msgstr "Guardar archivo" + +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Save" +msgstr "_Guardar" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 msgid "Could not create the named pipe " @@ -5586,52 +5702,87 @@ #: ../src/core/pipe.c:139 ../src/core/pipe.c:151 msgid "The named pipe file " -msgstr "El fichero de tubería con nombre" +msgstr "El fichero de tubería con nombre " -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" msgstr "No se puede abrir la tubería con nombre\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" -msgstr "Comando demasiado largo o mal formado\n" +msgstr "comando demasiado largo o mal escrito\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "comando interrumpido\n" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:151 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Optimización de negro: k0=%.3lf\n" + +#: ../src/core/preprocess.c:186 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Valor de normalización auto avaluado: %.2lf\n" + +#: ../src/core/preprocess.c:200 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"Mapa de negros, la corrección cosmética sólo está soportada con imágenes de " +"canal único\n" + +#: ../src/core/preprocess.c:267 +msgid "Preprocessing" +msgstr "Pre-procesando" + +#: ../src/core/preprocess.c:290 +#, c-format +msgid "Pre-processing image %s" +msgstr "Pre-procesando imagen %s" + +#: ../src/core/preprocess.c:308 +#, c-format +msgid "Saving image %s" +msgstr "Guardando imagen %s" + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "No se ha seleccionado imagen para procesar. Cancelando.\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Fallo en el proceso de preparación de la secuencia.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Mapeo del índice de salida fallido (%d/%d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": procesando...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Procesando imagen %d(%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Procesado de la secuencia fallido. Revise el log." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "Procesado de la secuencia fallido.\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "Procesado de la secuencia parcialmente correcto. Revise el log." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " @@ -5640,141 +5791,198 @@ "El procesado de la secuencia ha sido parcialmente satisfactorio, con %d " "imágenes que han fallado y se han excluido temporalmente de la secuencia.\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Procesado de la secuencia correcto." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "Procesado de la secuencia correcto.\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "Fallo al finalizar el procesado de la secuencia.\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:435 msgid "Process aborted by user\n" msgstr "Proceso abortado por el usuario\n" -#: ../src/core/siril.c:164 -#, c-format -msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" msgstr "" -"imoper: las imágenes no tienen el mismo tamaño (an =%u|%u, al =%u|%u)\n" +"Filtro de secuencia: los valores sólo pueden ser literales o porcentuales\n" -#: ../src/core/siril.c:211 +#: ../src/core/sequence_filtering.c:200 #, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Las imágenes no tienen el mismo tamaño (an =%d|%d, al =%d|%d)\n" +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Usando filtro de imágenes (%d/%d de la secuencia)\n" -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:381 ../src/gui/plot.c:441 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Error" +#: ../src/core/sequence_filtering.c:208 +#, c-format +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Usando filtro de estrellas FWHM (por debajo de %f)\n" + +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Usando filtro de redondez de estrellas (por encima de %f)\n" -#: ../src/core/siril.c:249 +#: ../src/core/sequence_filtering.c:224 #, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Usando filtro de calidad de imagen (por encima de %f)\n" + +#: ../src/core/sequence_filtering.c:251 msgid "" -"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" -"%d)\n" +"Provided filtering options do not allow at least two images to be " +"processed.\n" msgstr "" -"addmax: las imágenes no tienen el mismo tamaño (an =%d|%d, al =%d|%d, capas " -"= %d|%d)\n" - -#: ../src/core/siril.c:337 -msgid "Unsharp: processing...\n" -msgstr "Enfoque: procesando...\n" +"Las opciones de filtrado provistas no permiten que se procesen al menos dos " +"imágenes.\n" -#: ../src/core/siril.c:587 -msgid "Could not compute normalization values for the images, aborting.\n" +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" msgstr "" -"No se pueden calcular los valores de normalización para las imágenes, " -"abortando.\n" +"La imagen de referencia no está en el set seleccionado. Para evitar " +"problemas, por favor cambie los parámetros de filtrado.\n" "\n" -#: ../src/core/siril.c:753 +#: ../src/core/sequence_filtering.c:291 #, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "Optimización de negro: %1.3lf\n" +msgid "Using image %d as temporary reference image\n" +msgstr "Usndo imagen %d como imagen temporal de referencia\n" -#: ../src/core/siril.c:836 +#: ../src/core/sequence_filtering.c:330 #, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Valor de normalización auto avaluado: %.2lf\n" +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" +msgstr "" +"Precaución: algunas imágenes no tienen información disponible para una mejor " +"selección de imágenes, usando sólo los datos disponibles (%d imágenes de " +"%d).\n" -#: ../src/core/siril.c:843 +#: ../src/core/sequence_filtering.c:367 #, c-format -msgid "Pre-processing image %s" -msgstr "Pre-procesando imagen %s" +msgid "Processing all images in the sequence (%d)\n" +msgstr "Procesando todas las imágenes de la secuencia (%d)\n" + +#: ../src/core/sequence_filtering.c:370 +#, c-format +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "Procesando sólo las imágenes seleccionadas en la secuencia (%d)\n" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 +#: ../src/core/sequence_filtering.c:373 +#, c-format msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" msgstr "" -"Mapa de negros, la corrección cosmética sólo está soportada con imágenes de " -"canal único\n" +"Procesando imágenes de la secuencia con un FWHM menor o igual que %g (%d)\n" -#: ../src/core/siril.c:895 +#: ../src/core/sequence_filtering.c:378 #, c-format -msgid "Saving image %s" -msgstr "Guardando imagen %s" +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "" +"Procesando imágenes de la secuencia con una redondez mayor o igual que %g " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:383 +#, c-format +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "" +"Procesando imágenes de la secuencia con una calidad mayor o igual que %g " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:388 +#, c-format +msgid "Processing images whose output don't already exist (%d)" +msgstr "Procesando imágenes cuya salida todavía no existe (%d)" + +#: ../src/core/sequence_filtering.c:405 +#, c-format +msgid "for a total of images processed of %d)\n" +msgstr "" +"para un total de imágenes procesadas de %d)\n" +"\n" -#: ../src/core/siril.c:944 +#: ../src/core/siril.c:161 #, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Cargando y preprocesando imagen %d%d (%s)" +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "" +"imoper: las imágenes no tienen el mismo tamaño (an =%u|%u, al =%u|%u)\n" -#: ../src/core/siril.c:950 +#: ../src/core/siril.c:203 #, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." -msgstr "No se pudo leer uno de los ficheros raw: %s. Abortando preproceso." +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" +msgstr "" +"addmax: las imágenes no tienen el mismo tamaño (an =%d|%d, al =%d|%d, capas " +"= %d|%d)\n" + +#: ../src/core/siril.c:293 +msgid "Unsharp: processing...\n" +msgstr "Enfoque: procesando...\n" + +#: ../src/core/siril.c:543 +msgid "Could not compute normalization values for the images, aborting.\n" +msgstr "" +"No se pueden calcular los valores de normalización para las imágenes, " +"abortando.\n" +"\n" -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:675 #, c-format msgid "Extracting %s..." msgstr "Extrayendo %s..." -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:718 msgid "Median Filter: processing...\n" msgstr "Filtro de mediana: procesando...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:727 msgid "Median filter failed" msgstr "Falló el filtro mediano" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:795 msgid "Median filter applied" msgstr "Filtro mediano aplicado" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:872 msgid "Banding Reducing: processing...\n" msgstr "Reducción de bandas: procesando...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1041 msgid "backgroundnoise: Error, no data computed\n" msgstr "ruido de fondo: Error, sin datos procesados\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1051 msgid "backgroundnoise: does not converge\n" msgstr "ruido de fondo; no converge\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1081 msgid "Noise standard deviation: calculating...\n" msgstr "Desviación estándar de ruido: calculando...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1101 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Valor del ruido de fondo (canal: #%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1116 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Deconvolución Lucy-Richardson: procesando...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "FIcheros LOG (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "Imposible buscar actualizaciones. Revise su conexión a internet\n" @@ -5829,210 +6037,142 @@ "Error de E/S: imposible escribir fichero de intercambio en %s: [%s]\n" "\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "Error desconocido\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "No existe el fichero o directorio.\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "\"%s\" no es un directorio\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2903 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "" "No dispone de permisos para escribir en este directorio: %s\n" "\n" -#: ../src/core/utils.c:373 +#: ../src/core/utils.c:318 #, c-format msgid "Setting CWD (Current Working Directory) to '%s'\n" -msgstr "Estableciendo CWD (Directorio Actual de Trabajo) a '%s'\n" - -#: ../src/core/utils.c:380 -#, c-format -msgid "Could not change directory to '%s'.\n" -msgstr "No se puede cambiar el directorio a '%s'.\n" - -#: ../src/core/utils.c:799 -msgid "Filename is too long, not expanding it\n" -msgstr "Nombre de fichero demasiado largo, no se expande\n" - -#: ../src/core/utils.c:983 -#, c-format -msgid "Checking GTK version ... GTK-%d.%d\n" -msgstr "Verificando la versión de GTK ... GTK-%d.%d\n" - -#: ../src/core/utils.c:1006 -#, c-format -msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" -msgstr "La versión de GTK no cumple con los requisitos: (GTK-%d.%d)\n" - -#: ../src/core/utils.c:1012 -#, c-format -msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -msgstr "Imposible cargar la hoja de estilos CSS: %s. Reinstale %s\n" - -#: ../src/core/utils.c:1022 ../src/main.c:270 -#, c-format -msgid "Successfully loaded '%s'\n" -msgstr "'%s' cargado con éxito\n" - -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Las estrellas deben tener las mismas unidades." - -#: ../src/gui/PSF_list.c:171 -#, c-format -msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" -"PSF Gausiano medio\n" -"\n" -"N:\t%d estrellas\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"ATMMx:\t%.2f%s\n" -"ATMMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Ángulo:\t%.2f deg\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Estrella %d de %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "Ficheros FITS (*.fit, *.fits, *.fts)" - -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "Ficheros RAW de cámaras DSLR" - -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "Ficheros gráficos (*.bmp)" +msgstr "Estableciendo CWD (Directorio Actual de Trabajo) a '%s'\n" -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Ficheros Netpbm (*.ppm, *.pnm, *.pgm)" +#: ../src/core/utils.c:321 +#, c-format +msgid "Could not change directory to '%s'.\n" +msgstr "No se puede cambiar el directorio a '%s'.\n" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "Ficheros IRIS PIC (*.pic)" +#: ../src/core/utils.c:488 +msgid "Filename is too long, not expanding it\n" +msgstr "Nombre de fichero demasiado largo, no se expande\n" -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "FIcheros SER (*.ser)" +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Verificando la versión de GTK ... GTK-%d.%d\n" -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "Ficheros de película (*.avi, *.mpg, ...)" +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "La versión de GTK no cumple con los requisitos: (GTK-%d.%d)\n" -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Abrir fichero" +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "Imposible cargar la hoja de estilos CSS: %s. Reinstale %s\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Abrir" +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "'%s' cargado con éxito\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Cancelar" +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Joaquín. M. Llano Montero" + +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "Acerca de Siril" + +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Programa de (pre-)proceso de imágenes astronómicas" + +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Visitar el sitio web de Siril" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:800 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "La imagen %d ha sido deseleccionada de la secuencia\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:810 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "La imagen %d ha sido seleccionada de la secuencia\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:844 msgid "Selected all images from sequence\n" msgstr "Seleccionadas todas la imágenes de la secuencia\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:848 msgid "Unselected all images from sequence\n" msgstr "Deseleccionadas todas las imágenes de la secuencia\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1057 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "Estableciendo valor máximo de los deslizadores de ajuste corte\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1100 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "estableciendo rangos escala mín=%d, escala max=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1206 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "" "<%%s.sec>: %%d imágenes seleccionadas de %%d, la imagen de referencia es %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1209 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "" "<%%s.sec>: %%d imágenes seleccionadas de %%d, la imagen de referencia es %%." "%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1218 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "<%s.sec>: %d imágenes seleccionadas de %d, sin imagen de referencia" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1221 #, c-format msgid "%s, %d images selected" msgstr "%s, %d imágenes seleccionadas" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "No sequence" msgstr "SIn secuencia" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1226 #, c-format msgid "- none -" msgstr "- ninguno -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1309 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" @@ -6040,88 +6180,103 @@ "redibujar: el número máximo de capas soportadas es %d (la imagen actual " "tiene %d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1609 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: la selección es muy grande" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1611 #, c-format msgid "fwhm: no selection" msgstr "fwhm: sin selección" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1636 #, c-format msgid "%s (channel 0)" msgstr "%s (canal 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1641 #, c-format msgid "%s (channel 1)" msgstr "%s (canal 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1645 #, c-format msgid "%s (channel 2)" msgstr "%s (canal 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1672 msgid "Unassigned" msgstr "Sin asignar" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1698 #, c-format msgid "%d: not affected yet" msgstr "%d; sin afectar por el momento" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1838 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Valor zoom_value desconocido, ¿cuál es el valor actual del zoom?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1924 msgid "B&W channel" msgstr "Canal ByN" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1957 +#, c-format +msgid "%d file loaded" +msgstr "Archivo %d cargado" + +#: ../src/gui/callbacks.c:1959 #, c-format msgid "%d files loaded" msgstr "%d archivos cargados" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1964 +#, c-format +msgid "%d file selected, %s" +msgstr "%d archivos seleccionados, %s" + +#: ../src/gui/callbacks.c:1966 +#, c-format +msgid "%d files selected, %s" +msgstr "%d archivos seleccionados, %s" + +#: ../src/gui/callbacks.c:2108 #, c-format msgid "Mem: %ldMB" msgstr "Mem: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2110 #, c-format msgid "Mem: N/A" msgstr "Mem: N/A" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2118 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "Espacio en disco: %.0lf%s" +msgid "Disk Space: %s" +msgstr "Espacio en disco: %s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2121 #, c-format msgid "Disk Space: N/A" msgstr "Espacio en disco: N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2183 msgid "This binning is not handled yet\n" msgstr "Esta unión todavía no se maneja\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2716 ../src/gui/callbacks.c:2717 #, c-format msgid "ERROR" msgstr "ERROR" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2729 #, c-format msgid "Cold: %ld px" msgstr "Fríos: %ld px" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2730 ../src/gui/callbacks.c:2742 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -6129,146 +6284,130 @@ "Este valor puede ser alto. Por favor considere cambiar el valor sigma o " "desmarcar la casilla." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2733 #, c-format msgid "Cold: %ld px" msgstr "Fríos: %ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2741 #, c-format msgid "Hot: %ld px" msgstr "Calientes: %ld px" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2745 #, c-format msgid "Hot: %ld px" msgstr "Calientes: %ld px" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 msgid "Closing application" msgstr "Cerrando aplicación" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 msgid "Are you sure you want to quit?" msgstr "¿Está seguro de que quiere salir?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3659 #, c-format msgid "new zoom value: %f\n" msgstr "nuevo valor de zoom: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3698 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3700 #, c-format msgid "undefined" msgstr "sin defeinir" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3796 msgid "Exclude all images ?" msgstr "¿Excluir todas las imágenes?" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3797 ../src/gui/callbacks.c:3807 msgid "This erases previous image selection and there's no possible undo." msgstr "" "Esto borrará todas las imágenes previamente seleccionadas y no será posible " "deshacer." -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3806 msgid "Include all images ?" msgstr "¿Incluir todas las imágenes?" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3826 +msgid "Opening offset image..." +msgstr "Abriendo imagen de compensación..." + +#: ../src/gui/callbacks.c:3830 +msgid "NOT USING OFFSET: number of channels is different" +msgstr "SIN USAR COMPENSACIÓN: el número de canales es diferente" + +#: ../src/gui/callbacks.c:3833 +msgid "NOT USING OFFSET: image dimensions are different" +msgstr "SIN USAR COMPENSACIÓN: las medidas de la imagen son diferentes" + +#: ../src/gui/callbacks.c:3838 +msgid "NOT USING OFFSET: cannot open the file\n" +msgstr "SIN USAR COMPENSACIÓN: no se puede abrir el fichero\n" + +#: ../src/gui/callbacks.c:3858 msgid "Opening dark image..." msgstr "Abriendo imagen negra..." -#: ../src/gui/callbacks.c:3802 -msgid "NOT USING DARK: cannot open the file\n" -msgstr "SIN USAR DARK: no se puede abrir el fichero\n" - -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3862 msgid "NOT USING DARK: number of channels is different" msgstr "SIN USAR DARK: el número de canales es diferente" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3865 +msgid "NOT USING DARK: image dimensions are different" +msgstr "SIN USAR DARK: las medidas de la imagen son diferentes" + +#: ../src/gui/callbacks.c:3870 +msgid "NOT USING DARK: cannot open the file\n" +msgstr "SIN USAR DARK: no se puede abrir el fichero\n" + +#: ../src/gui/callbacks.c:3897 msgid "Opening flat image..." msgstr "Abriendo imagen plana..." -#: ../src/gui/callbacks.c:3850 -msgid "NOT USING FLAT: cannot open the file\n" -msgstr "SIN USAR IMAGEN PLANA: no se puede abrir el fichero\n" - -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3901 msgid "NOT USING FLAT: number of channels is different" msgstr "SIN USAR IMAGEN PLANA: número de canales incorrecto" -#: ../src/gui/callbacks.c:3884 -msgid "Opening offset image..." -msgstr "Abriendo imagen de compensación..." - -#: ../src/gui/callbacks.c:3887 -msgid "NOT USING OFFSET: cannot open the file\n" -msgstr "SIN USAR COMPENSACIÓN: no se puede abrir el fichero\n" +#: ../src/gui/callbacks.c:3904 +msgid "NOT USING FLAT: image dimensions are different" +msgstr "SIN USAR IMAGEN PLANA: las medidas de la imagen son diferentes" -#: ../src/gui/callbacks.c:3894 -msgid "NOT USING OFFSET: number of channels is different" -msgstr "SIN USAR COMPENSACIÓN: el número de canales es diferente" +#: ../src/gui/callbacks.c:3909 +msgid "NOT USING FLAT: cannot open the file\n" +msgstr "SIN USAR IMAGEN PLANA: no se puede abrir el fichero\n" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:3996 msgid "Error in preprocessing." msgstr "Error en el preprocesado." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4061 #, c-format msgid "Selected %s sequence %s..." msgstr "Seleccionada %s secuencia %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4130 msgid "Searching for sequences in the current working directory..." msgstr "Buscando secuencias en el directorio de trabajo actual..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"No se puede extraer el fondo de sí mismo. Por favor haga clic en Mostrar " -"Imagen\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "" -"Por favor, aplique la corrección en la imagen clicando en Mostrar Imagen\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Resta realizada ...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "División realizada ...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Cargue primero una imagen, abortado.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Se ha creado el archivo stars.lst.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4417 ../src/gui/callbacks.c:4465 msgid "Current selection is too large" msgstr "La selección actual es demasiado grande" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4418 ../src/gui/callbacks.c:4466 msgid "To determine the PSF, please make a selection around a star." msgstr "" "Para determinar el PSF, por favor realice una selección alrededor de una " "estrella." -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4430 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6317,37 +6456,111 @@ "RMSE:\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4447 msgid "PSF for the sequence only applies on sequences" msgstr "El PSF de la secuencia sólo es aplicable en secuencias" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4448 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" "Por favor cargue una secuencia antes de intentar aplicar el PSF a la " "secuencia." -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4512 msgid "FFT does not work with sequences !\n" msgstr "¡La FFT no funciona con secuencias!\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4518 msgid "Open an image first !\n" msgstr "¡Abra una imagen primero!\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4539 msgid "Select magnitude and phase before !\n" msgstr "¡Seleccione magnitud y fase primero!\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Canal gris" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "_No volver a mostrar este diálogo" -#: ../src/gui/plot.c:183 ../src/gui/plot.c:640 +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "Ficheros FITS (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "Ficheros RAW de cámaras DSLR" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Ficheros gráficos (*.bmp)" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Ficheros Netpbm (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "Ficheros IRIS PIC (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "FIcheros SER (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Ficheros de película (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Todos los ficheros soportados" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Calibración de color fotométrica" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Aplicando apertura fotométrica a %d estrellas.\n" + +#: ../src/gui/photometric_cc.c:285 +#, c-format +msgid "%d stars excluded from the calculation.\n" +msgstr "%d estrellas excluidas del cálculo.\n" + +#: ../src/gui/photometric_cc.c:288 +msgid "No valid stars found.\n" +msgstr "No se han encontrado estrellas válidas.\n" + +#: ../src/gui/photometric_cc.c:432 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalización en el canal %s.\n" + +#: ../src/gui/photometric_cc.c:432 +msgid "red" +msgstr "rojo" + +#: ../src/gui/photometric_cc.c:432 +msgid "green" +msgstr "verde" + +#: ../src/gui/photometric_cc.c:432 +msgid "blue" +msgstr "azul" + +#: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Frames" -#: ../src/gui/plot.c:278 +#: ../src/gui/plot.c:279 msgid "" "Please consider to install it before trying to plot a graph of a variable " "star.\n" @@ -6355,74 +6568,134 @@ "Por favor considere instalarlo antes de intentar dibujar una gráfica de una " "estrella variable.\n" -#: ../src/gui/plot.c:281 +#: ../src/gui/plot.c:282 msgid "Gnuplot is unavailable" msgstr "GNUPlot no disponible" -#: ../src/gui/plot.c:377 +#: ../src/gui/plot.c:379 #, c-format msgid "%s has been saved.\n" msgstr "Se ha guardado %s.\n" -#: ../src/gui/plot.c:378 ../src/gui/plot.c:439 +#: ../src/gui/plot.c:380 ../src/gui/plot.c:441 msgid "Information" msgstr "Información" -#: ../src/gui/plot.c:382 ../src/gui/plot.c:442 +#: ../src/gui/plot.c:384 ../src/gui/plot.c:444 msgid "Something went wrong while saving plot" msgstr "Algo fue mal al guardar el gráfico" -#: ../src/gui/plot.c:438 +#: ../src/gui/plot.c:440 #, c-format msgid "%s.csv has been saved.\n" msgstr "Se ha guardado el fichero %s.csv.\n" -#: ../src/gui/plot.c:566 +#: ../src/gui/plot.c:568 msgid "Quality" msgstr "Calidad" -#: ../src/gui/plot.c:722 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Redondez de la estrella (1 es redondo)" -#: ../src/gui/plot.c:732 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "Magnitud de la estrella (absoluta)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "Magnitud de la estrella (relativa, use setmag)" -#: ../src/gui/plot.c:737 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Valor de fondo" -#: ../src/gui/plot.c:740 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Posición de la estrella en el eje X" -#: ../src/gui/plot.c:743 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Posición de la estrella en el eje Y" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "Tiempo de ejecución" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "%s: %d h %02d min %.2d s.\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Las estrellas deben tener las mismas unidades." + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %d min %.2d s.\n" -msgstr "%s: %d min %.2d s.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"PSF Gausiano medio\n" +"\n" +"N:\t%d estrellas\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"ATMMx:\t%.2f%s\n" +"ATMMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Ángulo:\t%.2f deg\n" +"rmse:\t%.3e\n" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Media de datos de estrellas" + +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%d stars" +msgstr "%d estrellas" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:266 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "Star %d of %d" +msgstr "Estrella %d de %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Se ha creado el archivo stars.lst.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "Fichero de listado de estrellas (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Cargue primero una imagen, abortado.\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6435,64 +6708,60 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "Archivos BMP (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "Archivos JPEG (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "Archivos PNG (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "Ficheros TIFF (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:508 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Guardando BMP" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:466 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "Guardando PNG" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:487 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Guardando NetPBM" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:528 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Guardando JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:444 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Guardando TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:420 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "Guardando FITS" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Guardar" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Guardar archivo" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "Error al guardar fichero. Revise los logs para más información." -#: ../src/gui/save_dialog.c:386 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Este tipo de archivo no está soportado. No debería ocurrir" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, c-format -msgid "Searching scripts in: %s...\n" -msgstr "Iniciando scripts en: %s...\n" +msgid "Searching scripts in: \"%s\"...\n" +msgstr "Buscando scripts en: %s...\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "" @@ -6507,16 +6776,16 @@ msgid "Please go to %d)\n" msgstr "Secuencia cargada: %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d de %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "No se puede cargar la imagen %d de la secuencia %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "No se puede cargar el frame %d de la secuencia SER %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "No se puede cargar el frame %d de la secuencia AVI %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "No se puede cargar la imagen parcial %d de la secuencia %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "" "Esta operación no está soportada para secuencias AVI (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "Esta operación no está soportada para secuencias internas (seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1129 #, c-format msgid "Closing sequence %s\n" msgstr "Cerrando la secuencia %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1234 msgid "internal sequence" msgstr "secuencia interna" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1315 msgid "Processing..." msgstr "Procesando..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1441 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "No se han encontrado estrellas en la zona de imagen %d en torno a %d,%d " "(¿usar un area mayor?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1445 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" @@ -7256,7 +7553,7 @@ "No se han encontrado estrellas en la zona de imagen %d en torno a %d,%d " "(¿usar la opción 'seguimiento de estrellas'?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1494 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -7264,7 +7561,7 @@ "El análisis de estrellas no proporciona resultados consistentes cuando la " "exposición cambia a lo largo de la secuencia.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1568 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7272,7 +7569,7 @@ "La secuencia de análisis de PSF usará un área deslizante centrada en la " "estrella encontrada anterior; esto deshabilita el proceso paralelo.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1570 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -7281,17 +7578,17 @@ "área de selección en cada imagen; es compatible con procesado paralelo.\n" "\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1592 msgid "PSF on area" msgstr "PSF en el área" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Usando información de registro de la capa %d para exportar la secuencia\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7299,7 +7596,7 @@ "La salida en MP4 no está soportada porque Siril no se compiló con soporte " "ffmpeg.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7307,40 +7604,40 @@ "La salida de película necesita tener un ancho múltiplo de 32 y una altura " "incluso, cambiando la selección.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "la imagen %d se ha excluido de la exportación\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Procesando imagen " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Exportar: no se pudo leer el frame, abortando\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "Fallo al exportar la secuencia. Revise el log." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "Fallo al exportar la secuencia\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "Exportación de la secuencia correcta." -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "Exportación de la secuencia correcta.\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "El ancho o alto no pueden estar vacíos. No se redimensiona.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Recortando a la selección" @@ -7384,73 +7681,64 @@ "La escritura de archivos SER para imágenes FITS de más de 16 bits todavía no " "está implementada\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "La secuencia SER se está creando sin imágenes.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "Compactando el fichero SER tras la salida paralela...\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "Archivo SER %s creado\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Este tipo de patrón Bayer todavía no se maneja.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "" "Para una imagen con demosaico, la capa tiene que ser R,G o B (0 a 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Desbordamiento de memoria - abortando\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "Intentando añadir una imagen de diferente tamaño en un SER\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "Error al abrir imagen %s: archivo no encontrado o no soportado.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "Fallo al abrir %s.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:179 ../src/io/single_image.c:185 msgid "Error opening file" msgstr "Error abriendo fichero" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:180 msgid "This file could not be opened because its extension is not supported." msgstr "Este archivo no puede abrirse porque su extensión no está soportada." -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:186 msgid "" "There was an error when opening this image. See the log for more information." msgstr "" "Hubo un error al abrir esta imagen. Revise el log para más información." -#: ../src/main.c:250 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "parámetro de línea de comandos desconocido '%c'\n" - -#: ../src/main.c:274 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "" "%s. Buscando en otro directorio...\n" "\n" -#: ../src/main.c:280 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "" @@ -7458,28 +7746,34 @@ #: ../src/main.c:301 #, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "parámetro de línea de comandos desconocido '%c'\n" + +#: ../src/main.c:328 +#, c-format msgid "Welcome to %s v%s\n" msgstr "Bienvenido a %s v%s\n" -#: ../src/main.c:371 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "No se puede cargar o crear el archivo de configuración, saliendo.\n" #. Get CPU number and set the number of threads -#: ../src/main.c:419 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "Proceso paralelo %s: Usando %d procesador(es) lógico(s).\n" -#: ../src/main.c:421 +#: ../src/main.c:373 msgid "enabled" msgstr "habilitado" -#: ../src/main.c:423 +#: ../src/main.c:375 msgid "disabled" msgstr "deshabilitado" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "Deconvolución aplicada" @@ -7493,134 +7787,134 @@ msgstr "" "Siril no puede realizar el registro sin información de fecha en el fichero." -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "No se puede cargar la imagen de referencia\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 msgid "Moving object registration" msgstr "Moviendo registro de objeto" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "Recalculando registro ya existente para esta capa\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Imagen de referencia:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "Encontradas %d estrellas en la imagen, canal #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "No hay suficientes estrellas en la imagen de referencia para realizar el " "alineamiento\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Imagen de referencia: Limitada a las %d estrellas más brillantes\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:461 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx:%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx:%*.2f %s\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:462 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy:%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy:%*.2f %s\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Frame %d:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "" "Encontradas %d estrellas en la imagen %d, canal #%d\n" "\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "No hay suficientes estrellas. Descartada imagen %d\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Imagen Objetivo: Limitada a las %d estrellas más brillantes\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "No se puede realizar el emparejado de estrellas: pruebe #%d. Descartada " "imagen %d\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Registro terminado.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "%d imágenes procesadas.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Total: %d fallidas, %d registradas.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Registro cancelado.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 msgid "Global star registration" msgstr "Registro global de estrellas" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, c-format msgid "Matching stars in image %d: done\n" msgstr "Emparejado de estrellas en la imagen %d: completado\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "escalaX: %*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "escalaY: %*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "escala: %*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:454 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "rotación:%+*.2f deg\n" +msgid "rotation:%+*.3f deg\n" +msgstr "rotación:%+*.3f deg\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy:%+*.2f px\n" @@ -7695,100 +7989,164 @@ "dependiendo de la marca de tiempo de cada imagen y el movimiento global del " "objeto entre la primera y la última imagen." -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Registro de Una Estrella (espacio profundo)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Alineación de Imágenes por Patrón (planetas - disco completo)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "Coeficiente de Correlación Mejorado (superficies de planteas)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" msgstr "Registro de Cometas/Asteroides" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Añadido un método de registro: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "Registro DFT: cargando y procesando frame de referencia" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "" "Registro: no se puede cargar la primera imagen para registro, abortando.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, c-format msgid "Register: processing image %s" msgstr "Registro: procesando imagen %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "Mejor frame: #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" msgstr "" "Registro PSF: fallo al calcular PSF al menos para el frame de referencia\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "Mejor frame: #%d con fwhm=%.3g.\n" -#: ../src/registration/registration.c:575 -#, c-format -msgid "Cannot perform ECC alignment for frame %d\n" -msgstr "No se puede realizar alineación ECC para el frame %d\n" +#: ../src/registration/registration.c:571 +#, c-format +msgid "Cannot perform ECC alignment for frame %d\n" +msgstr "No se puede realizar alineación ECC para el frame %d\n" + +#: ../src/registration/registration.c:623 +#, c-format +msgid "%d frames were excluded.\n" +msgstr "%d frames excluídos.\n" + +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 +msgid "Select images in the sequence." +msgstr "Seleccione imágenes en la secuencia." + +#: ../src/registration/registration.c:726 +msgid "Select an area in image first, and select images in the sequence." +msgstr "" +"Seleccione un área de la imagen primero, y seleccione imágenes en la " +"secuencia." + +#: ../src/registration/registration.c:732 +msgid "Select an area in image first." +msgstr "Seleccione un área de la imagen primero." + +#: ../src/registration/registration.c:858 +msgid "" +"All prerequisites are not filled for registration. Select a rectangle " +"first.\n" +msgstr "" +"Todos los prerrequisitos nos se cumplen para el registro. Seleccione un " +"rectángulo primero.\n" + +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Abriendo la imagen %s para apilado" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "" +"Error en apilado: las imágenes con más de 3 dimensiones no están soportadas\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "Error en apilado: las imágenes de entrada tienen diferentes tamaños\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "" +"Error en apilado: las imágenes de entrada tienen diferente precisión\n" +"\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Todavía no se soporta Super-pixel para apilados SER al vuelo\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"El apilado por descarte sólo está soportado para imágenes FITS y secuencias " +"SER.\n" +"Use \"Apilado con el total\"\n" -#: ../src/registration/registration.c:628 +#: ../src/stacking/median_and_mean.c:195 #, c-format -msgid "%d frames were excluded.\n" -msgstr "%d frames excluídos.\n" - -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 -msgid "Select images in the sequence." -msgstr "Seleccione imágenes en la secuencia." +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "Tenemos %d bloques paralelos de tamaño %d (+%d) para apilar.\n" -#: ../src/registration/registration.c:730 -msgid "Select an area in image first, and select images in the sequence." +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" msgstr "" -"Seleccione un área de la imagen primero, y seleccione imágenes en la " -"secuencia." +"Se ha encontrado un bug. Imposible dividir el área de imagen en los bloques " +"de proceso correctos.\n" -#: ../src/registration/registration.c:736 -msgid "Select an area in image first." -msgstr "Seleccione un área de la imagen primero." +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Error al leer una de las áreas de imagen\n" -#: ../src/registration/registration.c:861 +#: ../src/stacking/normalization.c:102 +#, c-format msgid "" -"All prerequisites are not filled for registration. Select a rectangle " -"first.\n" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Todos los prerrequisitos nos se cumplen para el registro. Seleccione un " -"rectángulo primero.\n" +"Su sistema no tiene suficiente memoria para normalizar los ficheros para el " +"apilado (%d MB libres de %d requeridos)\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "No hay suficiente espacio en disco" +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"Con la memoria actual (%.2f) y límite de (%d) hilos, pueden usarse hasta %d " +"hilio(s) para normalizar la secuencia\n" -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "Calculando normalización...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" @@ -7796,179 +8154,104 @@ "La imagen de referencia no está en el set seleccionado. Por favor seleccione " "otra imagen de referencia.\n" -#: ../src/stacking/normalization.c:118 -#, fuzzy -msgid "Normalization skipped.\n" -msgstr "Normalización omitida.\n" - -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 msgid "Normalization failed." msgstr "Normalización fallida." -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "" -"El apilado con medianas sólo está soportado para imágenes FITS y secuencias " -"SER.\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "Seleccione al menos dos frames para apilar. Cancelando.\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Apilado con medianas: abriendo imagen %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Error en apilado con medianas: no se soportan imágenes con más de 3 " -"dimensiones\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "" -"Error en apilado con medianas: las imágenes de entrada tienen diferentes " -"tamaños\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "Todavía no se soporta Super-pixel para apilados SER al vuelo\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "Erro en apilado con medianas: secuencia sin inicializar\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Su versión de cfitsio no soporta multi hilo\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Procesando la secuencia como RGB\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "Tenemos %d bloques paralelos de tamaño %d (+%d) para apilar.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Se ha encontrado un bug. Imposible dividir el área de imagen en los bloques " -"de proceso correctos.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Comenzando apilado...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 msgid "Median stacking in progress..." msgstr "Apilado con medianas en progreso..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Error al leer una de las áreas de imagen\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Finalizando apilado..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "Apilado con medianas fallido. Revise el log." -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 msgid "Stacking failed.\n" msgstr "Apilado fallido.\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 msgid "Median stacking complete." msgstr "Apilado con medianas completado." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "Apilado con medianas completo. Se han apilado %d.\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "No se ha seleccionado frame para apilar (seleccione al menos 2). " "Cancelando.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 msgid "Stacking: could not read frame, aborting\n" msgstr "Apilado: no se puede leer el frame, cancelando\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "" "Apilando: las imágenes de la secuencia no tienen las mismas dimensiones\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "Aplilado fallido. Revise el log." -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Apilado completado." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"El apilado por descarte sólo está soportado para imágenes FITS y secuencias " -"SER.\n" -"Use \"Apilado con el total\"\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "Apilado por descarte: abriendo imagen %s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Error en apilado por descarte: no se soportan imágenes con más de 3 " -"dimensiones\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "" -"Error en apilado por descarte: las imágenes de entrada tienen diferente " -"tamaño\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "Error en apilado por descarte: secuencia no inicializada\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 msgid "Rejection stacking in progress..." msgstr "Apilado por descarte en progreso..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Descarte de píxeles en el canal #%d: %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "Fallo en apilado por descarte. Revise el log." -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 msgid "Rejection stacking complete." msgstr "Apilado por descarte completado." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -7981,216 +8264,493 @@ "secuencia FITS en una SER antes del apilado, o también apilar con el método " "\"sum\".\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "El apilado usará los datos de registro de la capa %d si existen.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Apilado: procesando...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Integración de %d imágenes:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Combinación de píxeles ......... media\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Combinación de píxeles ......... suma normalizada\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "Combinación de píxeles ......... mediana\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Combinación de píxeles ......... mínimo\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Combinación de píxeles ......... máximo\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Combinación de píxeles ......... ninguno\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "ninguno" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 msgid "additive" msgstr "aditivo" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative" msgstr "multiplicativo" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 msgid "additive + scaling" msgstr "aditivo + escalado" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "multiplicativo + escalado" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalización ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Descarte de píxeles ........... ninguno\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Parámetros de descarte ...... ninguno\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 msgid "percentile clipping" msgstr "recorte de percentiles" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 msgid "sigma clipping" msgstr "recorte sigma" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 msgid "median sigma clipping" msgstr "recorte sigma y mediana" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 msgid "Winsorized sigma clipping" msgstr "Recorte Winsorized sigma" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 msgid "linear fit clipping" msgstr "recorte de ajuste lineal" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Decarte de píxeles ........... %s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Parámetros de descarte ...... bajo=%.3f alto=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 msgid "Stacking result image" msgstr "Imagen resultado del apilado" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 msgid "Unsaved stacking result" msgstr "Resultado de apilado sin guardar" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "Usando %d MB de memoria máximos para el apilado\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"La imagen de referencia no está en el set seleccionado. Para evitar " -"problemas, por favor cambie los parámetros de filtrado.\n" -"\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Usndo imagen %d como imagen temporal de referencia\n" +msgid "Stacking %d images of the %d of the sequence" +msgstr "Apilando %d imágenes de %d de la secuencia" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Precaución: algunas imágenes no tienen información FWHM disponible para una " -"mejor selección de imágenes, usando sólo los datos disponibles (%d imágenes " -"de %d).\n" +"Su sistema no tiene suficiente memoria para escalar la imágenes prar el " +"`drizzle` (%d MB libres de %d requeridos)\n" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Error en la calidad más alta aceptada para el procesado de la secuencia: " -"algunas imágenes no tienen este tipo de información disponible para el canal " -"#%d.\n" +"Con la memoria actual (%.2f) y límite de (%d) hilos, hasta %d hilo(s) pueden " +"usarse para el escalado de la secuencia\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "Apilando todas las imágenes de la secuencia (%d)\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "Se hará el apilado sin escaldo (deshabilitando `drizzle`)\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "Apilando sólo las imágenes seleccionadas en la secuencia (%d)\n" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Secuencia de escalado para el apilado" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" -"Apilando imágenes de la secuencia con un FWHM menor o igual que %g (%d)\n" +#~ msgid "Loading and pre-processing image %d/%d (%s)" +#~ msgstr "Cargando y preprocesando imagen %d%d (%s)" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Basado en FWHM < %.2f (%d imágenes)" +#~ msgid "Could not read one of the raw files: %s. Aborting preprocessing." +#~ msgstr "No se pudo leer uno de los ficheros raw: %s. Abortando preproceso." -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "" -"Apilando imágenes de la secuencia con una redondez mayor o igual que %g " -"(%d)\n" +#, fuzzy +#~ msgid "Size of the annulus for background level measurement" +#~ msgstr "Tamaño del anillo para la medida del nivel de fondo (píxeles):" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Basado en redondez > %.2f (%d imágenes)" +#, fuzzy +#~ msgid "Normalization skipped.\n" +#~ msgstr "Normalización omitida.\n" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "Basado en la redondez" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "La memoria usada se corresponde a este valor multiplicado por el total de " +#~ "memoria disponible.\n" +#~ "ADVERTENCIA: Reducir la proporción de memoria asignada al proceso puede " +#~ "degradar su rendimiento." -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "" -"Apilando imágenes de la secuencia con una calidad mayor o igual que %g (%d)\n" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "imágenes seleccionadas previamente a mano de la secuencia" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Basado en calidad > %.2f (%d imágenes)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "mejores imágenes, seleccionadas automáticamente de los datos de registro " +#~ "(PSF - FWHM)" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Basado en calidad" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "mejores imágenes, seleccionadas automáticamente de los datos de registro " +#~ "(PSF - redondez)" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Secuencia de escalado para el apilado" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "las mejores imágenes, seleccionadas automáticamente de los datos de " +#~ "registro (Planetario)" + +#~ msgid "Based on FWHM" +#~ msgstr "Basado en FWHM" + +#~ msgid "Stack best:" +#~ msgstr "Apilar mejor:" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "Apilado proporcionado (%s) desconocido.\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "El apilado con medianas sólo está soportado para imágenes FITS y " +#~ "secuencias SER.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Apilado con medianas: abriendo imagen %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Apilado por descarte: abriendo imagen %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Error en apilado por descarte: no se soportan imágenes con más de 3 " +#~ "dimensiones\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "" +#~ "Error en apilado por descarte: las imágenes de entrada tienen diferente " +#~ "tamaño\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Error en la calidad más alta aceptada para el procesado de la secuencia: " +#~ "algunas imágenes no tienen este tipo de información disponible para el " +#~ "canal #%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Basado en FWHM < %.2f (%d imágenes)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Basado en redondez > %.2f (%d imágenes)" + +#~ msgid "Based on roundness" +#~ msgstr "Basado en la redondez" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Basado en calidad > %.2f (%d imágenes)" + +#~ msgid "Based on quality" +#~ msgstr "Basado en calidad" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Información" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Polar (Magnitud + Fase)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "PRECAUCIÓN: estas casillas se leen de forma automática del fichero FTIS " +#~ "abriendo y estableciéndolas aquí sólo funcionará para el fichero cargado " +#~ "actualmente." + +#~ msgid "Camera and Optics" +#~ msgstr "Cámara y óptica" + +#~ msgid "Camera & Optics" +#~ msgstr "Cámara y óptica" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Revirtiendo el directorio actual al directorio de inicio, el directorio " +#~ "guardado ya no está disponible\n" + +#~ msgid "BMP images, " +#~ msgstr "Imágenes BMP, " + +#~ msgid "autoStretch" +#~ msgstr "autoExtender" + +#~ msgid "Negative view" +#~ msgstr "Vista negativo" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "Gestión de memoria" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Usar el tema oscuro GTK\n" +#~ "(puede requerir reiniciar)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Algunos diálogos de Siril tienen colores brillantes no estándar. Con un " +#~ "tema oscuro, donde el texto es demasiado brillante, sería ilegible. " +#~ "Marcando aquí se oscurecerán esos colores no estándar." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Proporción de memoria usada: " + +#~ msgid "Siril message" +#~ msgstr "Mensaje de siril" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Las imágenes no tienen el mismo tamaño (an =%d|%d, al =%d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "Asegurar la compatibilidad con las imágenes almacenadas\n" +#~ "con orientación superior-inferior (KSTARS/EKOS,\n" +#~ "PixInsight, y otros ...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Si se marca esta casilla, SIril intentará asegurar la compatibilidad con " +#~ "KSTARS (y PixInsight) leyendo la imagen FITS de arriba a abajo." + +#~ msgid "Manual" +#~ msgstr "Manual" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "Haz clic en la imagen para tomar tus propias muestras del fondo." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril tomará las muestras del fondo automáticamente." + +#~ msgid "Clear background samples." +#~ msgstr "Borrar las muestras del fondo." + +#~ msgid "Draw samples" +#~ msgstr "Dibujar muestras" + +#~ msgid "Type of Extraction" +#~ msgstr "Tipo de extracción" + +#~ msgid "Box radius:" +#~ msgstr "Radio de la caja:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "" +#~ "Esta es la distancia en píxeles entre dos muestras del fondo adyacentes." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "Este es el radio en píxeles de una caja de muestras del fondo. " +#~ "Multiplícala por 2 para tener el largo de una caja." + +#~ msgid "Sample Generation" +#~ msgstr "Generación de muestras" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Este parámetro indica la tolerancia del descarte de muestras locales, en " +#~ "unidades sigma." + +#~ msgid "Local Rejection" +#~ msgstr "Descarte local" + +#~ msgid "Deviation: " +#~ msgstr "Desviación: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "Tolerancia del descarte de muestras global, en unidades sigma." + +#~ msgid "Unbalance:" +#~ msgstr "Desequilibrar:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Este es el factor multiplicado por el parámetro de desviación para " +#~ "incluir más píxeles negros en la evaluación del fondo." + +#~ msgid "Global Rejection" +#~ msgstr "Descarte global" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Este es el número de cajas de muestra en una línea." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Este es el factor multiplicado por el parámetro de desviación para " +#~ "incluir más píxeles negros en la evaluación del fondo" + +#~ msgid "Interpolation" +#~ msgstr "Interpolación" + +#~ msgid "Show Image" +#~ msgstr "Mostrar imagen" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Pulsar este botón para mostrar la imagen." + +#~ msgid "Show Background" +#~ msgstr "Mostrar el fondo" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Pulse este botón para mostrar el fondo estimado." + +#~ msgid "Compute" +#~ msgstr "Calcular" + +#~ msgid "Apply" +#~ msgstr "Aplicar" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Esto aplicará la corrección seleccionada." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Canal #%d: realizada extracción de fondo.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Extracción de fondo: procesando...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Muestras de fondo insuficientes.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "No se puede extraer el fondo de sí mismo. Por favor haga clic en Mostrar " +#~ "Imagen\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "" +#~ "Por favor, aplique la corrección en la imagen clicando en Mostrar Imagen\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Resta realizada ...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "División realizada ...\n" + +#~ msgid "Star detection" +#~ msgstr "Detección de estrellas" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2018 team free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "Recorta la imagen actual con el rectángulo previamente seleccionado" #~ msgid "FWHM will be updated" #~ msgstr "Se actualizará el FWHM" @@ -8236,35 +8796,6 @@ #~ msgid "Not a valid sequence for cropping.\n" #~ msgstr "No es una secuencia válida para recortar.\n" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "Brillo" - -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Joaquín. M. Llano Montero" - -#~ msgid "About siril" -#~ msgstr "Acerca de Siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Programa de (pre-)proceso de imágenes astronómicas" - -#~ msgid "Visit the Siril website" -#~ msgstr "Visitar el sitio web de Siril" - -#, fuzzy -#~ msgid "Not enough stars.\n" -#~ msgstr "No hay suficientes estrellas. Descartada imagen %d\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "Todavía no se soporta la conversión de SER\n" @@ -8373,9 +8904,6 @@ #~ msgid "NetPBM..." #~ msgstr "NetPBM..." -#~ msgid "JPEG Files" -#~ msgstr "Archivos JPEG" - #~ msgid "TIFF Files" #~ msgstr "Archivos TIFF" diff -Nru siril-0.9.10/po/fr.po siril-0.9.11/po/fr.po --- siril-0.9.10/po/fr.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/fr.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: siril 0.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 09:32+0100\n" -"PO-Revision-Date: 2019-01-11 09:32+0100\n" +"POT-Creation-Date: 2019-04-30 08:07+0200\n" +"PO-Revision-Date: 2019-04-30 08:09+0200\n" "Last-Translator: Cyril Richard \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/gui/siril3.glade.h:1 @@ -219,10 +219,6 @@ msgstr "Alignement sur une étoile (ciel profond)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Rotation de 90 degrés, sens antihoraire" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -237,70 +233,74 @@ "qualité. Les colonnes X et Y sont les translations relatives à l'image de " "référence." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "fichier" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "sel" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "qualité" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:72 msgid "Red" msgstr "Rouge" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "fichier rouge courrant" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1927 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Rouge" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:73 msgid "Green" msgstr "Vert" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "fichier vert courant" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Vert" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:74 msgid "Blue" msgstr "Bleu" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "La valeur stockée par le pixel pointé va apparaître ici." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "fichier bleu courant" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Bleu" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Rotation de 90 degrés, sens antihoraire" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Rotation de 90 degrés, sens horaire" @@ -324,8 +324,8 @@ "d'alignement" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Vue négative" +msgid "Switch to normal and negative view" +msgstr "Basculer en vue négative" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -414,251 +414,59 @@ msgid "User" msgstr "Utilisateur" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Extraction de gradient" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Résolution astrométrique" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Fermer la fenêtre." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Interpolation polynomiale" +msgid "Start the plate solving algorithm." +msgstr "Commencer la résolution astrométrique." #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Manuelle" +msgid "Start the photometric color calibration algorithm." +msgstr "Commencer l'étalonnage photométrique des couleurs." #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "Cliquer sur l'image pour créer un échantillon." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Automatique" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril créé les échantillons automatiquement." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Effacer les échantillons." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Dessiner échantillons" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Type d'extraction" - -#: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "Rayon de l'échantillon :" - -#: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "Intervalle des échantillons : " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "C'est la distance, en pixels, entre 2 échantillons adjacents." - -#: ../src/gui/siril3.glade.h:100 -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"C'est le rayon, en pixels, d'un échantillon. Il faut multiplier par 2 pour " -"avoir la longueur de l'échantillon." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Génération d'Échantillons" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Tolérance : " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Ce paramètre indique la tolérance du rejet local de l'échantillon, en unité " -"sigma." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Rejet local" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Déviation : " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "Tolérance du rejet global de l'échantillon, en unité sigma." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Déséquilibre :" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Il s'agit du facteur multiplié par le paramètre de déviation afin d'inclure " -"plus de pixels sombres dans l'évaluation gradient." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Rejet global" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Échantillons par ligne : " - -#: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "C'est le nombre d'échantillons dans une ligne." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"C'est le coefficient multiplié par le paramètre de déviation afin d'inclure " -"plus de pixels sombre dans l'évaluation du gradient" - -#: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "Ordre : " - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Choisir l'ordre de la fonction polynomiale utilisée dans l'ajustement.\n" -"Par défaut, la valeur est de 4.\n" -"Plus l'ordre est grand, plus le gradient supprimé peut être fort." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Interpolation" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Montrer l'image" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Cliquer sur ce bouton pour montrer l'image." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Montrer le Gradient" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Cliquer sur ce bouton pour montrer le gradient calculé." - -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." -msgstr "" -"Choisir le type de correction à appliquer :\n" -"Soustraction : principalement utilisée pour corriger les effets additifs " -"tels que les gradients causés par la pollution lumineuse ou la Lune.\n" -"Division : principalement utilisée pour corriger les phénomènes " -"multiplicatifs tels que le vignettage ou l'absorption atmosphérique " -"différentielle par exemple. Cependant, ce genre d'opération devrait être " -"effectué à l'aide du master-flat." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Soustraction" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "Division" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Correction" - -#: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "Calculer" - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "Calcul du gradient synthétique." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Appliquer" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "Applique la correction sélectionnée." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "Résolution astrométrique" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "Commencer la résolution astrométrique." - -#: ../src/gui/siril3.glade.h:134 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" "Coordonnées équatoriales initiales. La valeur d'entrée doit être à " "l'intérieur de l'image." -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 msgid "0" msgstr "0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "Ascension droite : " -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 msgid "Declination: " msgstr "Déclinaison : " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "S" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "Ce bouton est coché pour les déclinaisons négatives (hémisphère sud)." -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" "Entrer l'identifiant ou le nom de l'objet qui doit se trouver dans l'image." -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 msgid "Start searching." msgstr "Débute la recherche." -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -669,25 +477,25 @@ "valeur d'entrée n'a pas à être très précise, il faut essayer de donner une " "valeur avec une erreur ne dépassant pas 20%." -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" "Taille des pixels en micromètre. Les pixels sont assumés avoir une taille " "carrée." -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 msgid "Focal distance (mm):" msgstr "Longueur focale (mm) :" -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 msgid "Pixel size (µm):" msgstr "Pixel dim. (micron) :" -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 msgid "Resolution: " msgstr "Résolution : " -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." @@ -695,11 +503,11 @@ "La résolution de l'image est automatiquement déterminée à partir de la " "longueur focale et de la taille des pixels." -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "Obtenir Métadonnées de l'Image" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." @@ -707,23 +515,23 @@ "Cliquer sur ce bouton afin d'obtenir la focale et la taille des pixels si " "ces valeurs sont renseignées dans l'entête de l'image." -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "Base" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Nom" -#: ../src/gui/siril3.glade.h:153 -msgid "Image Parameters" -msgstr "Paramètres de l'Image" +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Paramètres de l'Image" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "Magnitude limite : " -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." @@ -731,11 +539,11 @@ "Magnitude maximale utilisée dans les requêtes du catalogue. Plus le champ " "est large, plus la valeur doit être basse." -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 msgid "Auto" msgstr "Auto" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." @@ -743,18 +551,19 @@ "La magnitude limite est automatiquement déterminée en fonction de " "l'approximation du champ de l'image." -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "Catalogue d'étoiles en ligne : " -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -770,8 +579,10 @@ "données photométriques de 2 539 913 étoiles les plus brillantes de la Voie " "Lactée.\n" "* NOMAD est une simple fusion de données des catalogues Hipparcos, Tycho-2, " -"UCAC-2 et USNO-B1, complétées par des informations photométriques issues du " -"catalogue 2MASS.\n" +"UCAC-2 Yellow-Blue 6 et USNO-B1, complétées par des informations " +"photométriques issues du catalogue 2MASS. Le jeu de données de près de 100 " +"Go contient des données astrométriques et photométriques pour environ 1,1 " +"milliard d'étoiles.\n" "* Gaia Data Release 2 a été publié le 25 avril 2018. La solution " "astrométrique à cinq paramètres, les positions dans le ciel (α, δ), les " "parallaxes et les mouvements propres sont fournies pour plus de 1,3 milliard " @@ -784,7 +595,7 @@ "correspond à peu près à toutes les étoiles visibles à l'œil nu depuis la " "Terre. Le catalogue contient 9 110 objets." -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." @@ -792,15 +603,15 @@ "Le catalogue en ligne est automatiquement déterminé en fonction de " "l'approximation du champ de l'image et de la magnitude." -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "Paramètres du catalogue" +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Paramètres du catalogue" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 msgid "Manual detection" msgstr "Détection manuelle" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " @@ -811,15 +622,86 @@ "assez d'étoiles. Il est important de sélectionner les étoiles les plus " "brillantes de l'image." -#: ../src/gui/siril3.glade.h:169 -msgid "Star detection" -msgstr "Détection d'étoiles" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Détection d'étoiles" -#: ../src/gui/siril3.glade.h:170 +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Auto-détection" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Décochez cette case si vous souhaitez sélectionner vous-même la référence de " +"fond de ciel. Cela peut être utile lorsque les nébuleuses couvrent presque " +"toute l'image." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "coordonnées x du début de la sélection du FDC" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "coordonnées y du début de la sélection du FDC" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Largeur de la sélection du FDC" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Hauteur de la sélection du FDC" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Zone sélectionnée" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Utiliser la sélection courante" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Vous devez sélectionner une zone qui représente le vrai fond du ciel de " +"l'image en essayant d'éviter d'inclure des étoiles ou d'autres objets " +"stellaires." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Référence de fond du ciel" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "" +"Cette option détermine sur quel canal les coefficients sont normalisés." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "Au plus haut" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "Au milieu" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "Au plus bas" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Canal de normalisation des coefficients" + +#: ../src/gui/siril3.glade.h:142 msgid "Median Filter" msgstr "Filtre Médian" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:143 msgid "" "Kernel Size. This is the odd size of the neighborhood considered for each " "pixel." @@ -827,11 +709,11 @@ "La taille du filtre. C'est la taille impaire du voisinage considéré pour " "chaque pixel." -#: ../src/gui/siril3.glade.h:172 +#: ../src/gui/siril3.glade.h:144 msgid "Modulation:" msgstr "Modulation :" -#: ../src/gui/siril3.glade.h:173 +#: ../src/gui/siril3.glade.h:145 msgid "" "Modulation parameter set in the [0, 1] range.\n" "When this parameter is equal to 1, no modulation is applied.\n" @@ -841,15 +723,15 @@ "Quand le paramètre est égal à 1, aucune modulation n'est appliquée.\n" "Si le paramètre est nul, alors aucun filtre n'est appliqué à l'image." -#: ../src/gui/siril3.glade.h:176 +#: ../src/gui/siril3.glade.h:148 msgid "Kernel Size: " msgstr "Taille du Filtre : " -#: ../src/gui/siril3.glade.h:177 +#: ../src/gui/siril3.glade.h:149 msgid "Iterations:" msgstr "Itérations :" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -859,71 +741,175 @@ "C'est utile quand le paramètre de modulation est différent de 1 afin d'aider " "le processus entier à converger vers un meilleur résultat." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Utiliser la Luminance" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Calculer les statistiques" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Fermer la fenêtre" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 msgid "Normalized Real [0, 1]" msgstr "Réels normalisés [0, 1]" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Aucune sélection" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 msgid "Asinh Transformation" -msgstr "Transformation ainh" +msgstr "Transformation asinh" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "Facteur d'étirement : " -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "Le facteur d’étirement permet d’ajuster le facteur de non-linéarité." -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "Point noir : " -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "Valeur constante qui est soustraite de l'image." -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "Utiliser l'espace de travail RGB" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Extraction de gradient" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Cliquer ici pour calculer le fond synthétique et appliquer la correction " +"sélectionnée." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Ordre : " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Choisir l'ordre de la fonction polynomiale utilisée dans l'ajustement.\n" +"Par défaut, la valeur est de 4.\n" +"Plus l'ordre est élevé, plus le gradient supprimé est complexe." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Échantillons par ligne : " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Nombre d'échantillons par ligne qui seront automatiquement placés." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Tolérance du rejet global de l'échantillon, en unités sigma. En diminuant " +"cette valeur, Siril sera plus restrictif pour sélectionner des échantillons " +"de fond." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Tolérance : " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Générer" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Cliquez ici pour générer les échantillons automatiquement." + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Cliquez ici pour effacer tous les échantillons." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"Vous pouvez ajouter des échantillons manuellement.\n" +"Clic gauche pour ajouter des échantillons, clic droit pour les supprimer." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Interpolation polynomiale" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Correction : " + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Choisir le type de correction à appliquer :\n" +"Soustraction : principalement utilisée pour corriger les effets additifs " +"tels que les gradients causés par la pollution lumineuse ou la Lune.\n" +"Division : principalement utilisée pour corriger les phénomènes " +"multiplicatifs tels que le vignettage ou l'absorption atmosphérique " +"différentielle par exemple. Cependant, ce genre d'opération devrait être " +"effectué à l'aide du master-flat." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Soustraction" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Division" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Correction" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:837 msgid "Banding Reduction" msgstr "Réduction de la trame" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "Protéger des hautes lumières" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "Trame verticale" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Cocher cette option si la trame est verticale." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Appliquer à la séquence" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -931,42 +917,42 @@ "Si une séquence est chargée et que cette option est cochée, le traitement " "s'appliquera à toute la séquence et pas seulement à l'image chargée." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Préfixe de sortie :" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "" "Préfixe du nom de l'image résultante du processus de suppression de la trame." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "Coeff. 1/Sigma" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Composition de l'image" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Composition d'image multi-canaux" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Alignements des canaux" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "non chargée" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Ajuster la luminosité des canaux" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -976,11 +962,11 @@ "de sorte qu'ils ne saturent pas lors de la composition (basé sur la valeur " "max pour chaque image). La teinte de la couleur est inchangée." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Finaliser la balance des couleurs" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -992,7 +978,7 @@ "Cependant, modifier les paramètres dans cette fenêtre après l'étalonnage, " "annulera les effets de la balance des blancs et ceux-ci devront être refaits." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -1001,19 +987,19 @@ "façon d'additionner les informations des couleurs avec les données de la " "luminance." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "Composition TSL" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "Composition TSV" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "Composition CIE L*a*b*" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -1021,53 +1007,53 @@ "ATTENTION : il est conseillé de ne pas appliquer une combinaison LRVB avec " "des images linéaires. Il faut d'abord traiter l'image." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Aligner les canaux sur ce canal de référence :" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Aligner" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "Alignement automatique utilisant la méthode d'alignement choisie." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Recadrer l'image après alignement" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "et utilisant la méthode d'alignement :" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "" "Pour les compositions LRVB, le canal de référence doit être la luminance." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:71 msgid "Luminance" msgstr "Luminance" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Correction cosmétique" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Fermer la fenêtre courrante" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Appliquer la correction cosmétique" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1075,16 +1061,16 @@ "Cocher si les images cibles sont de types CFA.\n" "Décocher si les images proviennent d'un capteur monochrome." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "Préfixe du nom de l'image résultant de la correction cosmétique." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "Sigma \"Froid\" :" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1093,11 +1079,11 @@ "différer de la valeur des pixels voisins pour que le pixel soit considéré " "comme un pixel \"froid\"." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "Sigma \"Chaud\" :" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1106,27 +1092,27 @@ "différer de la valeur des pixels voisins pour que le pixel soit considéré " "comme un pixel \"chaud\"." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Auto-détection" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "Recadrer séquence" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "Préfixe du nom de l'image résultant du recadrage." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Déconvolution" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma :" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." @@ -1134,431 +1120,399 @@ "Cela représente la taille du noyau de la gaussienne qui est appliquée. Plus " "la valeur est élevée plus l'effet est fort." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Algorithme :" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Nombre d'itérations." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Message de Siril" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Transformée de Fourier" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "Nom du fichier de module : " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "Nom du fichier de phase : " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "Ordre : " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Type : " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "module" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "phase" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Centré" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Normal" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "Polaire (Module + Phase)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "Transformation Directe" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "Module de l'image : " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Phase de l'image : " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "Sélectionner le Module" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "Sélectionner la Phase" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Transformation Inverse" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Extraction des canaux" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Nom du fichier pour le premier fichier FITS enregistré." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Nom du fichier pour le second fichier FITS enregistré." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Nom du fichier pour le troisième fichier FITS enregistré." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Canal #1 :" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Canal #2 :" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Canal #3 :" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "" "Sélectionner l'espace de couleur correspondant aux trois images qui vont " "être extraites" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RVB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "TSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "TSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Espace des couleurs :" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Extraction des Couches des Ondelettes" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Fermer" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Appliquer l'extraction des ondelettes." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "Nombre de couche d'ondelettes.. Vous pouvez choisir jusqu'à 6 couches." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Type d'algorithme" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "BSpline" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Nombre de Couches : " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Algorithme d'Interpolation :" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Histogrammes" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Zoom Horizontal" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Rétablir le zoom à 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Échelle logarithmique" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Balance des tons moyens" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "Basses lumières" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "Hautes lumières" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "V" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 msgid "Show grids" msgstr "Affiche la grille" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "Affiche la courbe MTF" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Appliquer l'algorithme d'auto ajustement à l'image" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "auto ajustement" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "Hautes lumières : " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "Tons Moyens : " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Basses lumières : " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Perte (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Compte des pixels perdus (basses lumières)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "Compte des pixels perdus (hautes lumières)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Rétablir" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Appliquer la transformation de l'histogramme" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "Ré-échantillonner" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "Échelle X (%) : " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Échelle Y (%) : " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Préserver le ratio" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Type d'algorithme utilisé pour ré-échantillonner" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Plus Proches Voisins" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Bilinéaire (défaut)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Zone de relation des pixels" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Bicubique" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "Gradient Rotationnel" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "Le gradient rotationnel va être appliqué." -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " msgstr "Décalage radial : " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "Décalage radial utilisé pour calculer le gradient rotationnel." -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " msgstr "Décalage rotationnel : " -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "Décalage rotationnel utilisé pour calculer le gradient rotationnel." -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." msgstr "Coordonnée X du centre des coordonnées polaires." -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." msgstr "Coordonnée Y du centre des coordonnées polaires." -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "Centre X :" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "Centre Y :" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "racine du nom des images converties (le 'dest' dans dest1.fit)" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "racine du nom des images converties (le 'dest' dans dest1.fit)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Nom de fichier" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "8-bit entier non signé" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "16-bit entier non signé" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Format" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Aucun" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "Compression Deflate" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Compression" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Description de l'image" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Copyright de l'image" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Qualité : " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "Non disponible" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "16-bit entier signé" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Format" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Enregistrer les valeurs MIPS-HI et MIPS-LO" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "Données intégrées" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Paramètres" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Utiliser les valeurs automatiques des coefficients" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1567,7 +1521,7 @@ "automatiquement calculés. Vous pouvez choisir manuellement ces coefficients " "en décochant cette option." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." @@ -1575,7 +1529,7 @@ "Spécifier votre propre balance des blancs. La valeur du Rouge est relative à " "la valeur du Vert." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." @@ -1583,19 +1537,19 @@ "Spécifier votre propre balance des blancs. La valeur du Bleu est relative à " "la valeur du Vert." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Luminosité" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Divise le niveau de blanc par ce nombre." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Pas de correction du point noir" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1603,60 +1557,60 @@ "Quand cette option est activée, aucune correction du point noir n'est " "appliquée aux images brutes." -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "Ajustement des couleurs de l'image" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "Sélectionner une méthode d'interpolation afin de dématricer l'image." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Rapide, qualité basse, bilinéaire" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Homogénéité Dirigée et Adaptative (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Nombre Variable de Gradients (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Regroupement par Motif de Pixel (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Interpolation de dématriçage" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "Aucune correction gamma n'est appliquée à l'image." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "Courbe BT.709" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Appliquer à l'image une courbe gamma spécifique." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "Courbe sRGB" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Appliquer à l'image une courbe gamma spécifique" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Correction gamma de l'image" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" @@ -1664,7 +1618,7 @@ "Utilise la balance \n" "des blancs de la caméra" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1674,7 +1628,7 @@ "couleur illuminée avec une lampe D65 standard. En cochant cette case, libraw " "essaye d'utiliser les informations données par l'appareil photo." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1682,7 +1636,7 @@ "Calcule la balance des blancs \n" "en moyennant toute l'image" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1692,57 +1646,25 @@ "couleur illuminée avec une lampe D65 standard. En cochant cette case, libraw " "calcule la balance des blancs en moyennant l'image entière." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Balance des blancs de l'image" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "" "Décodeur de fichiers bruts d’Appareil Photo Numérique basé sur la " "bibliothèque libraw." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "Dématriçage (RAW APN)" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Sélectionner le motif de Bayer du capteur." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Motif de Bayer : " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Sélectionner une méthode d'interpolation pour exécuter le dématriçage." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Interpolation de dématriçage : " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Bilinéaire" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Super Pixel" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Motif de Bayer à partir de l'entête du fichier si disponible" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1753,146 +1675,117 @@ "décocher cette option et choisir manuellement le motif pour dématricer le " "fichier." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"S'assurer de la compatibilité des images\n" -"stockées de haut en bas (KSTARS/EKOS, \n" -"PixInsight, et probablement d'autres ...)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Dématrice selon l'orientation haut-bas" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." -msgstr "" -"Si cette option est cochée, Siril va essayer d'assurer la compatibilité avec " -"KSTARS (et PixInsight et autres) en lisant les images FITS de haut en bas." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Siril lit les données FITS dans l’orientation bas-haut. Si le logiciel de " +"capture stock les données selon une orientation haut-bas (comme ils le font " +"souvent), vous devez cocher cette case afin de dématricer le fichier " +"correctement." -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Dématricer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Autre dématriçage" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Longueur focale (mm) : " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Normaliser les fichiers FITS CFA d'APN à 16 bits" -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Pixel dim. X (micron) : " +#: ../src/gui/siril3.glade.h:366 +msgid "" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"Si les données RAW proviennent d'un APN et si l'information de normalisation " +"est présente dans l'entête du FITS, alors cocher cette option va étirer " +"l'image jusqu'à 16 bits." -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:367 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." -msgstr "" -"Effacer tous les champs. Si l'image est par la suite enregistrée, l'entête " -"ne contiendra aucune information concernant la focale ou la taille du " -"capteur." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"En raison de contraintes d’algorithme, des algorithmes de dématriçage plus " +"complexes ne peuvent pas être utilisés dans l’empilement de rejet. Nos tests " +"ont également montré qu'il n'y a aucun gain de qualité lorsque de nombreuses " +"images sont utilisées, alors que le temps de traitement est multiplié par 20." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Si la taille des pixels en Y n'est pas automatiquement chargée, en utilisant " -"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Pixel dim. Y (micron) : " +"Attention : Pour le dématriçage à la volée des SER, l'algorithme bilinéaire " +"est toujours utilisé." -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "Binning : " +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Sélectionner le motif de Bayer du capteur." -#: ../src/gui/siril3.glade.h:396 -msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." -msgstr "" -"Si le binning n'est pas automatiquement chargé, en utilisant l'entête du " -"fichier, vous pouvez mettre ce champ à jour manuellement." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Motif de Bayer : " -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "La FWHM sera convertie en arcsec" +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Sélectionner une méthode d'interpolation pour exécuter le dématriçage." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Si la longueur focale n'est pas automatiquement chargée, en utilisant " -"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Interpolation de dématriçage : " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Si la taille des pixels en X n'est pas automatiquement chargée, en utilisant " -"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilinéaire" -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "Aucun binning dans la valeur de la taille des pixels" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" -"Cocher ce bouton si le binning n'est pas pris en compte dans la valeur de la " -"taille des pixels. Dans ce cas, la valeur du binning de la liste déroulante " -"sera utilisée." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Imageur et Optiques" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super Pixel" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"ATTENTION : ces champs sont automatiquement lus à partir du fichier FITS à " -"l'ouverture s'ils existent. Les définir manuellement ici ne fonctionne que " -"pour l'image chargée." +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Dématricer" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Imageur & Optiques" +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Autre dématriçage" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "" "Gain du convertisseur A/N en électrons par ADU. La valeur par défaut est " "2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "Gain ADC :" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Imageur" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Rayon interne : " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Rayon externe :" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." @@ -1900,7 +1793,7 @@ "Rayon interne de l'anneau utilisé dans la mesure du fond de ciel local. La " "valeur par défaut est de 20.00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." @@ -1908,31 +1801,43 @@ "Rayon externe de l'anneau utilisé dans la mesure du fond de ciel local. La " "valeur par défaut est de 30.00." -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "Taille de l'anneau pour la mesure du fond de ciel (pixels) :" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Fond du ciel" +#: ../src/gui/siril3.glade.h:386 +msgid "Background Annulus" +msgstr "Anneaux du fond de ciel" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Restaurer" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Restaurer les paramètres par défaut" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 +msgid "Min. pixel value:" +msgstr "Valeur de Pixel Min. :" + +#: ../src/gui/siril3.glade.h:390 +msgid "Max. pixel value:" +msgstr "Valeur de Pixel Max. :" + +#: ../src/gui/siril3.glade.h:391 +msgid "Bad pixels have value equal to or less than." +msgstr "Les pixels défectueux ont une valeur égale ou inférieure." + +#: ../src/gui/siril3.glade.h:392 +msgid "Overexposed pixels have value equal to or greater than." +msgstr "Les pixels surexposés ont une valeur égale ou supérieure." + +#: ../src/gui/siril3.glade.h:393 +msgid "Pixel Value Range" +msgstr "Plage de valeurs des pixels" + +#: ../src/gui/siril3.glade.h:394 msgid "Photometry" msgstr "Photométrie" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "Restaurer le répertoire de swap par défaut" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:395 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1940,85 +1845,86 @@ "Sélectionner un répertoire existant. Soyez sûr d'avoir les droits en " "écriture et assez de place." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:396 msgid "Select Swap Directory" msgstr "Sélectionner le Répertoire de Swap" -#: ../src/gui/siril3.glade.h:420 -msgid "Swap Storage Directory" -msgstr "Répertoire Swap" +#: ../src/gui/siril3.glade.h:397 +msgid "Restore the defaut swap storage directory" +msgstr "Restaurer le répertoire de swap par défaut" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Ratio de la mémoire utilisée : " +#: ../src/gui/siril3.glade.h:398 +msgid "Swap Storage Directory" +msgstr "Répertoire swap" -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:399 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." -msgstr "" -"La mémoire utilisée correspond à cette valeur multipliée par le nombre " -"totale de mémoire disponible.\n" -"ATTENTION : Réduire le ratio de mémoire allouée aux calculs dégrade les " -"performances globales." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" +msgstr "" +"Définit un nouveau ratio de mémoire disponible sur la mémoire utilisée pour " +"l’empilement. La valeur doit être comprise entre 0,05 et 2, en fonction des " +"autres activités de la machine. Un rapport plus élevé devrait permettre à " +"siril d'empiler les images plus rapidement, mais pour définir le rapport de " +"mémoire utilisé pour l’empilement au-dessus de 1, il faudra utiliser de la " +"mémoire disque, ce qui est très lent et non recommandé" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Gestion de la mémoire" +#: ../src/gui/siril3.glade.h:400 +msgid "RAM Ratio" +msgstr "Ratio de RAM" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:401 msgid "Type of extension: " msgstr "Type d'extension : " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:402 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:403 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:404 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:405 msgid "FITS Format" msgstr "Format FITS" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:406 msgid "Don't ask before quitting" msgstr "Quitter sans confirmation" -#: ../src/gui/siril3.glade.h:431 -msgid "Confirmation dialog" +#: ../src/gui/siril3.glade.h:407 +msgid "Confirmation Dialog" msgstr "Confirmation" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"Thème GTK sombre\n" -"(redémarrage requis)" +#: ../src/gui/siril3.glade.h:408 +msgid "Change the theme of the interface." +msgstr "Changer le thème de l'interface." -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Certaines parties de Siril ont des couleurs non standards. Avec un thème " -"sombre, cela peut devenir illisible. Cocher cette option va modifier les " -"couleurs non standards pour s'adapter à ce genre de thème." +#: ../src/gui/siril3.glade.h:409 +msgid "Automatic" +msgstr "Automatique" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:410 +msgid "Dark theme" +msgstr "Thème sombre" + +#: ../src/gui/siril3.glade.h:411 +msgid "Light theme" +msgstr "Thème clair" + +#: ../src/gui/siril3.glade.h:412 msgid "Remember window positions" msgstr "Se souvenir des positions des fenêtres" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:413 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." @@ -2026,11 +1932,11 @@ "Se souvenir des positions des fenêtres d'affichage. Cette fonctionnalité " "peut ne pas fonctionner sur toutes les architectures." -#: ../src/gui/siril3.glade.h:437 -msgid "Look and feel" -msgstr "Thème" +#: ../src/gui/siril3.glade.h:414 +msgid "Look and Feel" +msgstr "Aspect et comportement" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:415 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2042,361 +1948,385 @@ "avec autant de lignes que vous voulez. Cependant, vous devez garder à " "l'esprit que plus de chemins sont vérifiés, plus le démarrage est long." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:416 msgid "Scripts Storage Directories" -msgstr "Répertoire des Scripts" +msgstr "Répertoire des scripts" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:417 msgid "Misc." msgstr "Divers" -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:418 msgid "Dynamic PSF" msgstr "PSF Dynamique" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:419 msgid "Ch." msgstr "Ca." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:420 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:421 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:422 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:423 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:424 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:425 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:426 msgid "Mag" msgstr "Mag" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:427 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:428 msgid "Angle" msgstr "Angle" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:429 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:430 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" +"Les modifications de ces trois valeurs doivent être testées sur une image " +"représentative avant de les utiliser pour l'alignement." + +#: ../src/gui/siril3.glade.h:431 msgid "Size in pixels of the search box." msgstr "Taille en pixels du curseur de recherche." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:432 msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." -msgstr "" -"Valeur du seuil au dessus du bruit pour la détection des étoiles.\n" -"Les valeurs de la déviation standard et de la médiane de l'image sont " -"déterminées et le seuil est : médiane + [seuil] x stdev.\n" -"La valeur par défaut du seuil est de 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." +msgstr "" +"Valeur seuil supérieure au bruit pour la détection d'étoiles.\n" +"La médiane et l'écart type de l'image sont calculés, le seuil est alors: " +"médiane + [seuil] x stdev.\n" +"La valeur par défaut pour le seuil est 1,00. L'augmentation de cette valeur " +"détectera moins d'étoiles faibles, ce qui ne devrait être fait que lorsque " +"les images ont beaucoup de signal ou peu de bruit (S/B élevé)." -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:435 msgid "Radius: " msgstr "Rayon : " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:436 msgid "Threshold: " msgstr "Seuil : " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:437 msgid "Roundness threshold:" msgstr "Seuil de rondeur :" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:438 msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." -msgstr "" -"Seuil de rondeur des étoiles. Diminuer cette valeur si les étoiles ne sont " -"pas très ponctuelles.\n" -"\n" -"ATTENTION : assurez-vous d'avoir une bonne raison de changer cette valeur " -"car cela peut dégrader la détection des étoiles." - -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Détection d'étoiles" +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." +msgstr "" +"Valeur seuil de la rondeur des étoiles. Diminuez cette valeur si les étoiles " +"dans les images montrent de petites traînées, au contraire, augmentez-la si " +"elles sont très rondes pour éviter les faux positifs.\n" +"La valeur par défaut est 0,5 et convient aux étoiles deux fois plus grandes " +"dans un sens que dans l'autre." -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:440 +msgid "Export PSF parameters in an ASCII file" msgstr "Exporter les paramètres PSF dans un fichier ASCII" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:441 msgid "Remove selected star from the list" msgstr "Supprimer les étoiles sélectionnées de la liste" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:442 msgid "Remove all stars from the list" msgstr "Supprimer toutes les étoiles de la liste" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:443 msgid "Wavelets control" msgstr "Contrôle des ondelettes" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:444 msgid "Cancel all changes applied" msgstr "Annuler tous les changements appliqués" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:445 msgid "Select an algorithm type to perform wavelets" msgstr "Sélectionner un algorithme pour calculer les ondelettes" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:446 msgid "Type:" msgstr "Type :" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:447 msgid "Nb of plans:" msgstr "Nombre de plans :" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:448 msgid "Number of wavelet layers that will be used" msgstr "Nombre de couches d'ondelettes qui vont être utilisées" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:449 msgid "Compute wavelets" msgstr "Calculer Ondelettes" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:450 msgid "1st Plan:" msgstr "1er Plan :" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:451 msgid "2nd Plan:" msgstr "2d Plan :" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:452 msgid "3th Plan:" msgstr "3e Plan :" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:453 msgid "4th Plan:" msgstr "4e Plan :" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:454 msgid "5th Plan:" msgstr "5e Plan :" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:455 msgid "6th Plan:" msgstr "6e Plan :" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:456 msgid "Reset changes" msgstr "Rétablir" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:457 msgid "Adjust" msgstr "Ajuster" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:458 msgid "Rotation" msgstr "Rotation" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:459 msgid "Angle (°): " msgstr "Angle (°) : " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:460 msgid "Checking this box will crop the output image." msgstr "Cocher cette option pour recadrer l'image de sortie." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:461 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Angle en degrés. Le centre de rotation est le centre de l'image." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:462 msgid "Type of algorithm used for rotation" msgstr "Type d'algorithme utilisé pour la rotation" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:463 msgid "Siril control center" msgstr "Centre de contrôle de Siril" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:464 msgid "_File" msgstr "_Fichier" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:465 msgid "Save as..." msgstr "Enregistrer sous..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:466 +msgid "Informations..." +msgstr "Informations..." + +#: ../src/gui/siril3.glade.h:467 msgid "FITS Header..." msgstr "Entête FITS..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:468 msgid "_Edit" msgstr "_Édition" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:469 msgid "_Image Processing" msgstr "Traitement de l'_image" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:470 msgid "Asinh Transformation..." msgstr "Transformation asinh..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:471 msgid "Histogram Transformation..." msgstr "Transformation de l'histogramme..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:472 +msgid "Color Calibration" +msgstr "Étalonnage des couleurs" + +#: ../src/gui/siril3.glade.h:473 msgid "Color Calibration..." msgstr "Étalonnage des couleurs..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:474 +msgid "Photometric Color Calibration..." +msgstr "Étalonnage des couleurs par photométrie..." + +#: ../src/gui/siril3.glade.h:475 msgid "Color Saturation..." msgstr "Saturation des couleurs..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:476 msgid "Remove Green Noise..." msgstr "Suppression du \"bruit\" vert (SCNR)..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:477 msgid "Negative Transformation" msgstr "Transformation négative" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:478 msgid "À trous Wavelets Transform..." msgstr "Transformation d'ondelettes \"à trous\"..." -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:479 msgid "Banding Reduction..." msgstr "Réduction de la trame..." -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:480 msgid "Cosmetic Correction..." msgstr "Correction cosmétique..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:481 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Déconvolution..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:482 msgid "Fourier Transform..." msgstr "Transformée de Fourier..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:483 msgid "Median Filter..." msgstr "Filtre médian..." -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:484 msgid "Rotational Gradient..." msgstr "Gradient Rotationnel..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:485 msgid "Geometry" msgstr "Géométrie" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:486 msgid "Horizontal Mirror" msgstr "Miroir horizontal" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:487 msgid "Vertical Mirror" msgstr "Miroir vertical" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:488 msgid "Rotation..." msgstr "Rotation..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:489 msgid "Resample..." msgstr "Ré-échantillonner..." -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:490 msgid "Background Extraction..." msgstr "Extraction du gradient..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:491 msgid "Extraction" msgstr "Extraction" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:492 msgid "Channels..." msgstr "Canaux..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:493 msgid "Wavelet Layers..." msgstr "Couches des ondelettes..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:494 msgid "RGB Compositing..." msgstr "Composition RVB..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:495 msgid "_Scripts" msgstr "_Scripts" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:496 msgid "_Analysis" msgstr "_Analyse" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:497 msgid "Dynamic PSF..." msgstr "PSF dynamique..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:498 msgid "Image Plate Solver..." msgstr "Résolution astrométrique..." -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:499 msgid "Statistics..." msgstr "Statistiques..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:500 msgid "Noise Estimation" msgstr "Estimation du bruit" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:501 msgid "_Windows" msgstr "Fenêtre" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:502 msgid "Gray Channels Images" msgstr "Images en niveau de gris" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:503 msgid "Color Image" msgstr "Image en couleur" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:504 msgid "_Help" msgstr "Aide" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:505 msgid "Check For Updates" msgstr "Vérification des mises à jour" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:506 msgid "Get scripts" msgstr "Obtenir des scripts" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:507 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2404,35 +2334,35 @@ "Cet onglet de conversion est utilisé pour importer et convertir les fichiers " "dans le format utilisé par Siril : FITS ou SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:508 msgid "Source" msgstr "Source" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:509 msgid "Date" msgstr "Date" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:510 msgid "Add files to convert" msgstr "Ajouter des fichiers à convertir" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:511 msgid "Remove selected files" msgstr "Supprimer les fichiers sélectionnés" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:512 msgid "Remove all files from the list" msgstr "Supprimer tous les fichiers de la liste" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:513 msgid "Destination" msgstr "Destination" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:514 msgid "Sequence name:" msgstr "Nom de la séquence :" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:515 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2442,15 +2372,15 @@ "des images de la forme NGC_6822-L_00001.fit. Le nom peut aussi se finir par ." "ser, ce qui activera le format de sortie SER pour la conversion." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:516 msgid "Colour image target" msgstr "Image cible" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:517 msgid "Keep three channels" msgstr "Garder les 3 canaux" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:518 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." @@ -2458,25 +2388,25 @@ "Garde l'image de destination avec les canaux RVB, ne change pas la " "configuration des canaux." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:519 msgid "Create three images" msgstr "Créer 3 images" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:520 msgid "Split an RGB image into three images, R, G and B." msgstr "Éclater une image RVB en trois images, R, V et B." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:521 msgid "Keep only first channel" msgstr "Garder le 1er canal" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:522 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "Pour une image RVB, garde seulement le canal R. Utile pour les images en " "niveau de gris enregistrées comme des images RVB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:523 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2484,7 +2414,7 @@ "Indique l'indice de départ des fichiers à convertir. Cette valeur doit être " "inclue dans l'intervalle [1, 65535]." -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:524 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2496,7 +2426,7 @@ "à la conversion seule.\n" "Utilisable seulement pour les images RAW et FITS ainsi que les films SER." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:527 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2504,11 +2434,11 @@ "Début de la conversion de tous les fichiers sources dans un format " "configuré : FITS ou SER, en couleur ou non." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:528 msgid "Create as many SER files as input files" msgstr "Créer autant de fichiers SER que de fichiers sources" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:529 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2519,11 +2449,11 @@ "(films) n'ont pas les mêmes dimensions ou ne doivent pas être traitées " "ensemble." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:530 msgid "Supported file types:" msgstr "Type de fichiers supportés :" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:531 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2541,11 +2471,11 @@ "Les fichiers SER sont directement gérés en tant que séquences et ne sont " "ainsi pas convertibles." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:535 msgid "File conversion" msgstr "Conversion" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:536 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2553,30 +2483,30 @@ "Les images sont manipulées sous forme de séquences. Siril peut trouver ces " "séquences dans le répertoire de travail." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:537 msgid "Sequence selection" msgstr "Sélection de la séquence" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:538 msgid "Sequence:" msgstr "Séquence :" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:539 msgid "Search sequences" msgstr "Chercher séquences" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:540 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "" "Cherche des séquences d'images FITS, des vidéos SER ou des films dans le " "répertoire de travail." -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:541 msgid "Force .seq recomputation" msgstr "Forcer à recalculer le fichier .seq" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:542 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2593,15 +2523,15 @@ "ATTENTION : cela effacera toutes les informations d'alignement et de " "statistiques." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:546 msgid "Image selection in sequence" msgstr "Sélection d'images dans la séquence" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:547 msgid "No sequence selected" msgstr "Aucune séquence n'est sélectionnée" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:548 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2610,11 +2540,11 @@ "flèches du clavier pour parcourir les images ainsi que la touche ESPACE pour " "cocher ou décocher le bouton \"exclure\"." -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:549 msgid "Excluded" msgstr "Exclue" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:550 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" @@ -2622,11 +2552,11 @@ "Si ce bouton est coché, l'image est exclue de la séquence, et donc du " "traitement (le fichier lui même n'est pas effacé)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:551 msgid "Reference image" msgstr "Image de référence" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:552 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2640,35 +2570,35 @@ "Si aucun choix n'est fait, la première image de la séquence est prise comme " "référence." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:555 msgid "Exclude All" msgstr "Tout Exclure" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:556 msgid "Exclude all images of the sequence from the processing schedule" msgstr "Exclure toutes les images de la séquence" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:557 msgid "Include All" msgstr "Tout Inclure" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:558 msgid "includes all images of the sequence in the processing schedule" msgstr "inclus toutes les images de la séquence" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:559 msgid "Sequence export" msgstr "Exportation de la séquence" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:560 msgid "Base name:" msgstr "Base du nom :" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:561 msgid "Base name for the exported sequence" msgstr "Base du nom pour la séquence exportée" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:562 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2676,11 +2606,11 @@ "Format de la séquence exportée. Les formats MP4 et WEBM remplacent le GIF " "pour les publications modernes sur le Web, l'AVI n'est pas compressé." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:563 msgid "Export sequence" msgstr "Exporter la séquence" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:564 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2693,11 +2623,11 @@ "images exportées peuvent être recadrées ainsi que sélectionnées avec les " "mêmes critères de sélection que pour l'empilement." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:565 msgid "Normalize images" msgstr "Normaliser les images" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:566 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2713,19 +2643,19 @@ "cela peut prendre un peu de temps lors de la première exportation.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:569 msgid "Fps:" msgstr "Fps :" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:570 msgid "Frame rate" msgstr "Fréquence" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:571 msgid "Resize" msgstr "Redimensionner" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:572 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2733,19 +2663,19 @@ "Cocher cette option si vous voulez changer la taille de la séquence " "exportée. À noter que cela dégradera la qualité de l'image." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:573 msgid "Width of output video" msgstr "Largeur de la vidéo de sortie" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:574 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:575 msgid "Height of output video" msgstr "Hauteur de la vidéo de sortie" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:576 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2754,29 +2684,29 @@ "important et un débit moindre. Le résultat est un fichier de taille plus " "petite." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:577 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Sélectionner zone à recadrer" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:578 msgid "Image selection uses the same controls as for stacking" msgstr "La sélection d'image utilise les mêmes contrôles que pour l'empilement" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:579 msgid "Go to the stacking tab" msgstr "Aller à l'onglet Empilement" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:580 msgid "Sequence" msgstr "Séquence" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:581 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "" "Le pré-traitement est une étape optionnelle appliquée à la séquence des " "images." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:582 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2784,18 +2714,18 @@ "Le fichier maître, souvent appelé le master, est le résultat d'un empilement " "de plusieurs images." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:583 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "Les fichiers dark, offset (bias) et flat peuvent seulement être des fichiers " "FITS uniques." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:585 msgid "Use flat" msgstr "Utiliser flat" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:586 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2803,7 +2733,7 @@ "Toutes les images de la séquence vont être divisées par le master flat " "(chaque pixel)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:587 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2813,20 +2743,20 @@ "parcourir.\n" "Toutes les images de la séquence sont divisées par le master-flat." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:589 msgid "Browse..." msgstr "Parcourir..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:591 msgid "Use dark" msgstr "Utiliser dark" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:592 msgid "The dark master image will be removed from all images in the sequence." msgstr "Le master-dark est soustrait de chaque image de la séquence." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2836,16 +2766,16 @@ "L'image master-dark est soustrait de chaque image dans la séquence." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:596 msgid "Use offset" msgstr "Utiliser offset" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:597 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "Le bias/offset est soustrait de chaque image de la séquence." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:598 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2854,19 +2784,19 @@ "parcourir.\n" "L'image master bias/offset est soustrait de chaque image dans la séquence." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:600 msgid "Choose your own normalisation value." msgstr "Choisir une valeur de normalisation." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:601 msgid "Normalisation value for flat division" msgstr "Valeur de normalisation pour la division des flats" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:602 msgid "Dark optimization" msgstr "Optimisation des darks" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:603 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2884,11 +2814,11 @@ "ATTENTION: Ne pas appliquer d'optimisation des darks sur un master-dark si " "le master-bias n'a pas été soustrait précédemment." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:606 msgid "Auto evaluate normalisation value" msgstr "Auto-évaluation de la valeur de normalisation" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:607 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2896,21 +2826,21 @@ "Si cette option est cochée, Siril auto évalue la valeur de normalisation.\n" "Cette valeur est la moyenne du master-flat calibré, par le master offset." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:609 msgid "Equalize CFA" msgstr "Égaliser CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:610 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" "Cette option égalise l'intensité moyenne des couches RVB dans un flat CFA." -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:611 msgid "Cosmetic correction (using master-dark)" msgstr "Correction cosmétique (utilisant le master-dark)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:612 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2918,11 +2848,11 @@ "Combien de fois la déviation standard la valeur du pixel doit différer pour " "être considérée comme défectueuse." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:613 msgid "Enable Cosmectic Correction" msgstr "Activer la correction cosmétique" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:614 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2930,11 +2860,11 @@ "Cocher si vous voulez appliquer une suppression de pixels défectueux.\n" "Les pixels défectueux sont localisés sur le master-dark." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:616 msgid "Estimate" msgstr "Estimer" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:618 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2945,23 +2875,23 @@ "valeurs sont supérieures à 1% du total des pixels vous serez encouragés à " "changer les valeurs sigma." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:619 msgid "Cold: 0 px" msgstr "Froid : 0px" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:620 msgid "Hot: 0 px" msgstr "Chaud : 0px" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:621 msgid "Output sequence" msgstr "Séquence de sortie" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:622 msgid "Debayer FITS images before saving" msgstr "Dématricer les images FITS avant sauvegarde" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:623 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -2977,19 +2907,19 @@ "ATTENTION : cette option est seulement disponible pour les images FITS, " "étant donné qu'une séquence SER peut être dématricée à la volée." -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:626 msgid "Store resulting sequence with prefix:" msgstr "Enregistrer la séquence résultante avec le préfixe :" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:627 msgid "Prefix of the image names resulting from the pre-processing." msgstr "Préfixe du nom des images résultantes du pré-traitement." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:628 msgid "Start pre-processing" msgstr "Pré-traiter" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:629 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -3007,11 +2937,11 @@ "de récupérer les informations sur la couleur. Cette opération se fait dans " "l'onglet conversion." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:632 msgid "Pre-processing" msgstr "Pré-traitement" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:633 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -3019,19 +2949,27 @@ "L'alignement est l'étape essentielle avant l'empilement. Elle permet de " "déterminer les transformations à appliquer pour chaque image." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:634 msgid "Image registration" msgstr "Alignement des images" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:635 +msgid "Register all images from sequence" +msgstr "Aligner toutes les images de la séquence" + +#: ../src/gui/siril3.glade.h:636 +msgid "Register selected images only" +msgstr "Aligner seulement les images sélectionnées" + +#: ../src/gui/siril3.glade.h:637 msgid "Choose registration method:" msgstr "Choisir la méthode d'alignement :" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:638 msgid "Select registration layer:" msgstr "Choisir le canal de référence :" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:639 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3048,31 +2986,23 @@ "à partir du canal par défaut si elles sont disponibles (pour les images " "RVB : Vert, sinon Bleu puis Rouge)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Aligner toutes les images de la séquence" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Aligner seulement les images sélectionnées" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:642 msgid "Prefix:" msgstr "Préfixe :" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:643 msgid "Prefix of the image names resulting from the registration." msgstr "Préfixe du nom des images résultantes de l'alignement." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:644 msgid "Algorithm: " msgstr "Algorithme : " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:645 msgid "Match stars in selection" msgstr "Aligner les étoiles dans la sélection" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:646 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3085,11 +3015,11 @@ "ATTENTION : Soyez sûr de sélectionner une zone contenant un nombre suffisant " "d'étoiles." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:648 msgid "Translation only" msgstr "Translation seule" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:649 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3112,11 +3042,11 @@ "ATTENTION : aucune nouvelle séquence n'est construite, les données " "d'alignement étant enregistrées dans la séquence originale." -#: ../src/gui/siril3.glade.h:673 +#: ../src/gui/siril3.glade.h:653 msgid "Pick object in #1" msgstr "Pointer objet dans #1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3126,19 +3056,19 @@ "première image sélectionnée, puis cliquez sur ce bouton. Les coordonnées en " "pixels de l'objet seront calculées et affichées." -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:655 msgid "Core X-coordinates of the first image." msgstr "Coordonnées en X du noyau dans la première image." -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:656 msgid "Core Y-coordinates of the first image." msgstr "Coordonnées en Y du noyau dans la première image." -#: ../src/gui/siril3.glade.h:677 +#: ../src/gui/siril3.glade.h:657 msgid "Pick object in #2" msgstr "Pointer objet dans #2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:658 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3148,27 +3078,27 @@ "dernière image sélectionnée, puis cliquez sur ce bouton. Les coordonnées en " "pixels de l'objet seront calculées et affichées." -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:659 msgid "Core X-coordinates of the second image." msgstr "Coordonnées en X du noyau dans la seconde image." -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:660 msgid "Core Y-coordinates of the second image." msgstr "Coordonnées en Y du noyau dans la seconde image." -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:661 msgid "Comet velocity in pixel per hour." msgstr "Vitesse de la comète en pixel par heure." -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:662 msgid "Velocity: " msgstr "Vitesse : " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:663 msgid "Go register" msgstr "Aligner" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:664 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3179,15 +3109,15 @@ "l'onglet 'Séquences d'images', le nom de la séquence courante est lui, " "visible en bas de la fenêtre également)." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:665 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Charger d'abord une séquence." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:666 msgid "Simplified Drizzle x2" msgstr "Drizzle x2 simplifié" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:667 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3219,11 +3149,11 @@ "mémoire et d'espace disque nécessaire pour créer de telles images est " "multipliée par le carré du facteur Drizzle." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:672 msgid "Cumul reg. data" msgstr "Cumul données de reg." -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:673 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3237,11 +3167,11 @@ "méthode ne générant pas de nouvelle séquence, mais elle doit être décochée " "lorsque l'algorithme comète/astéroïde est appliqué plusieurs fois." -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:675 msgid "Follow star movement" msgstr "Suivre le mouvement de l'étoile" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:676 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3258,15 +3188,15 @@ "ATTENTION : activer cette option désactive la parallélisation de " "l'algorithme." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:678 msgid "Manual registration" msgstr "Alignement manuel" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:679 msgid "Display reference image" msgstr "Afficher l'image de référence" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:681 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3279,7 +3209,7 @@ "Pour être activé, l'image de référence doit avoir explicitement été " "sélectionnée et déjà affichée une fois sur le canal d'alignement sélectionné." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:683 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3288,11 +3218,11 @@ "haut et bas afin d'aligner l'image avec l'image de référence le long de " "l'axe X." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:684 msgid "X translation:" msgstr "Translation X :" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:685 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3301,19 +3231,19 @@ "haut et bas afin d'aligner l'image avec l'image de référence le long de " "l'axe Y." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:686 msgid "Y translation:" msgstr "Translation Y :" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:687 msgid "Set reference image first." msgstr "Définir l'image de référence." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:688 msgid "Set first preview" msgstr "Définir 1er aperçu" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:689 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3322,53 +3252,53 @@ "ce bouton, cliquer sur l'image pour positionner le centre de la zone de " "prévisualisation" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:690 msgid "Set second preview" msgstr "Définir 2d aperçu" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:691 msgid "Registration" msgstr "Alignement" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:692 msgid "Filename:" msgstr "Nom de fichier :" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:693 msgid "Enter the filename of the exported CSV file." msgstr "Entrer le nom du fichier CSV que vous voulez exporter." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:694 msgid "Export to CSV" msgstr "Exporter en CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:695 msgid "Export displayed plot to a CSV file." msgstr "Exporte le graphique affiché vers un fichier CSV." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:696 msgid "Clear all" msgstr "Tout effacer" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:697 msgid "Clear all curves displayed in photometry." msgstr "Effacer toutes les courbes de photométrie affichées." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:698 msgid "Clear latest" msgstr "Effacer la dernière" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:699 msgid "Clear the last curve added in photometry." msgstr "Effacer la dernière courbe de photométrie ajoutée." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:364 +#: ../src/gui/siril3.glade.h:701 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Courbe de luminosité" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:702 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3382,43 +3312,47 @@ "choisissez 'Magnitude' comme type de graphique affiché.\n" "ATTENTION : gnuplot doit être installé." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:704 msgid "Select the source of graph information." msgstr "Sélectionner la source des informations affichées." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:705 msgid "Select which information to display from photometry data." msgstr "Sélectionner l'information des données photométriques à afficher." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:706 msgid "Roundness" msgstr "Rondeur" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:565 ../src/gui/plot.c:727 +#: ../src/gui/siril3.glade.h:707 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:730 +#: ../src/gui/siril3.glade.h:708 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Amplitude" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:709 msgid "Magnitude" msgstr "Magnitude" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:710 +msgid "Background" +msgstr "Fond du ciel" + +#: ../src/gui/siril3.glade.h:711 msgid "X position" msgstr "Position X" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:712 msgid "Y position" msgstr "Position Y" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:713 msgid "Plot" msgstr "Graphique" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:714 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3426,19 +3360,15 @@ "Empilement des images, soit par somme, médiane, moyenne avec rejet ou pixel " "minimum/maximum." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:715 msgid "Sequence stacking" msgstr "Empilement de la séquence" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:716 msgid "Stacking Methods:" msgstr "Méthodes d'empilement :" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Empiler cet ensemble d'images :" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:717 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3505,85 +3435,35 @@ "Les pixels de l'image sont remplacés par les pixels aux mêmes coordonnées si " "l'intensité est inférieure." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:740 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Empilement par somme" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:741 msgid "Average stacking with rejection" msgstr "Empilement par moyenne avec rejet des pixels déviants" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:742 msgid "Median stacking" msgstr "Empilement médian" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:743 msgid "Pixel maximum stacking" msgstr "Empilement du pixel maximum" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:744 msgid "Pixel minimum stacking" msgstr "Empilement du pixel minimum" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Sélectionne le jeu d'images qui sera empilé. L'ensemble des images ou " -"seulement celles sélectionnées manuellement peuvent être utilisées. " -"Cependant, il est aussi possible de sélectionner un pourcentage des " -"meilleurs images selon des critères de qualité (planétaire, rondeur ou fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "toutes les images de la séquence" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "images manuellement sélectionnées dans la séquence" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"meilleures images, automatiquement sélectionnées à partir des informations " -"d'alignement (PSF - FWHM)" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"meilleures images, automatiquement sélectionnées à partir des informations " -"d'alignement (PSF - rondeur)" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"meilleures images, automatiquement sélectionnées à partir des informations " -"d'alignement (Planétaire)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Basé sur la FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Empiler les meilleures :" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:745 msgid "Sigma low: " msgstr "Sigma bas : " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:746 msgid "Sigma high: " msgstr "Sigma haut : " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:747 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3630,70 +3510,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:763 msgid "No rejection" msgstr "Aucun rejet" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:764 msgid "Percentile Clipping" msgstr "Percentile Clipping" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:765 msgid "Sigma Clipping" msgstr "Sigma Clipping" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:766 msgid "Median Sigma Clipping" msgstr "Sigma Clipping Médian" -#: ../src/gui/siril3.glade.h:795 -msgid "Winsorized Sigma Clipping" -msgstr "Winsorized Sigma Clipping" - -#: ../src/gui/siril3.glade.h:796 -msgid "Linear Fit Clipping" -msgstr "Linear Fit Clipping" - -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"Normaliser à 16 bits\n" -"(Ne pas cocher pour les Masters)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"Si vous cochez ce bouton, l'image finale sera normalisée en 16 bits par " -"canal. Ceci est important lorsque la séquence d'entrée à une profondeur de 8 " -"bits par canal.\n" -"Cependant vous pourriez avoir besoin de désactiver cette option pour " -"construire des images maîtres de séquences 8 bits." - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:767 +msgid "Winsorized Sigma Clipping" +msgstr "Winsorized Sigma Clipping" + +#: ../src/gui/siril3.glade.h:768 +msgid "Linear Fit Clipping" +msgstr "Linear Fit Clipping" + +#: ../src/gui/siril3.glade.h:769 msgid "Rejection:" msgstr "Méthode de Rejet :" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:770 msgid "Normalisation:" msgstr "Normalisation :" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:771 msgid "Start stacking" msgstr "Débute l'empilement" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:772 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3705,19 +3558,19 @@ "Siril utilise une représentation interne en 32-bit pour empiler et converti " "le résultat en une image 16-bit dont le nom est donné ci-dessous." -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:774 msgid "Store result in file:" msgstr "Enregistrer dans le fichier :" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:775 msgid "Overwrite" msgstr "Écraser" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:776 msgid "Overwrite file without notice if it already exists." msgstr "Écraser le fichier sans notification s'il existe déjà." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:777 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3753,31 +3606,31 @@ "normalisation. Cependant, la normalisation multiplicative est recommandée " "pour les images flats." -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:789 msgid "No normalisation" msgstr "Aucune normalisation" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:790 msgid "Additive" msgstr "Additive" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:791 msgid "Multiplicative" msgstr "Multiplicative" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:792 msgid "Additive with scaling" msgstr "Additive avec mise à l'échelle" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:793 msgid "Multiplicative with scaling" msgstr "Multiplicative avec mise à l'échelle" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:794 msgid "Force recomputing" msgstr "Forcer à recalculer" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:795 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3787,11 +3640,93 @@ "fichier seq s'ils ont déjà été calculés. Cependant vous pouvez forcer Siril " "à les recalculer avant l'empilement." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:796 +msgid "Add another filter" +msgstr "Ajouter un autre filtre" + +#: ../src/gui/siril3.glade.h:797 +msgid "Remove this filter" +msgstr "Supprimer ce filtre" + +#: ../src/gui/siril3.glade.h:798 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Sélectionnez le jeu d'images à empiler :\n" +"- sélectionnées : n'utilise que des images qui n'ont pas été désélectionnées " +"de la séquence\n" +"- FWHM : images avec le meilleur calcul FWHM (alignement basé sur les " +"étoiles)\n" +"- rondeur : images avec la meilleure rondeur en étoile (alignement basé sur " +"les étoiles)\n" +"- qualité : images de meilleure qualité (alignements planétaires DFT ou ECC)" + +#: ../src/gui/siril3.glade.h:803 +msgid "all" +msgstr "toutes" + +#: ../src/gui/siril3.glade.h:804 +msgid "selected" +msgstr "sélectionnées" + +#: ../src/gui/siril3.glade.h:805 +msgid "roundness" +msgstr "rondeur" + +#: ../src/gui/siril3.glade.h:806 +msgid "Percents of the images of the sequence." +msgstr "Pourcentage des images de la séquence." + +#: ../src/gui/siril3.glade.h:807 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Sélectionne le jeu d'images qui sera empilé. L'ensemble des images ou " +"seulement celles sélectionnées manuellement peuvent être utilisées. " +"Cependant, il est aussi possible de sélectionner un pourcentage des " +"meilleurs images selon des critères de qualité (planétaire, rondeur ou fwhm)." + +#: ../src/gui/siril3.glade.h:808 +msgid "Stack this set of images:" +msgstr "Empiler cet ensemble d'images :" + +#: ../src/gui/siril3.glade.h:809 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Empiler 0 images sur 0 de la séquence" + +#: ../src/gui/siril3.glade.h:810 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Normaliser à 16 bits\n" +"(Ne pas cocher pour les Masters)" + +#: ../src/gui/siril3.glade.h:812 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Si vous cochez ce bouton, l'image finale sera normalisée en 16 bits par " +"canal. Ceci est important lorsque la séquence d'entrée à une profondeur de 8 " +"bits par canal.\n" +"Cependant vous pourriez avoir besoin de désactiver cette option pour " +"construire des images maîtres de séquences 8 bits." + +#: ../src/gui/siril3.glade.h:814 msgid "Stacking" msgstr "Empilement" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:815 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3799,37 +3734,45 @@ "Fenêtre de sortie de Siril, affiche les messages sur ce qui a été fait en " "réponse aux commandes ou opérations diverses." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:816 +msgid "Export the log" +msgstr "Exporter les logs" + +#: ../src/gui/siril3.glade.h:817 +msgid "Clear the log" +msgstr "Effacer les logs" + +#: ../src/gui/siril3.glade.h:818 msgid "Output logs" msgstr "Sortie de console" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:819 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "" "Console Siril. Taper 'help' ici donne la liste des commandes supportées." -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:820 msgid "Type help for the list of supported commands" msgstr "Taper help pour avoir la liste des commandes supportées" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:821 msgid "Displays manual of the command written in the console." msgstr "Affiche le manuel des commandes écrites dans la console." -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:822 msgid "Console" msgstr "Console" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:823 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Prêt." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:824 msgid "Current working directory:" msgstr "Répertoire de travail :" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:825 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3838,23 +3781,23 @@ "duquel on va écrire. Peut être changé avec le bouton \"Modifier rep\" sur la " "droite, ou en ligne de commande." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:826 msgid "Change dir..." msgstr "Modifier rep..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:827 msgid "Change current working directory" msgstr "Modifier le répertoire de travail" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:828 msgid "Stop running processes" msgstr "Arrêter le processus en cours" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:829 msgid "Current working sequence:" -msgstr "Répertoire de travail de la séquence :" +msgstr "Séquence chargée :" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:830 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3864,11 +3807,11 @@ "ATTENTION : Réduire le nombre de processeurs utilisés pour les calculs " "dégrade les performances." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:832 msgid "Displays the amount of used RAM memory by Siril." msgstr "Affiche la quantité de mémoire RAM utilisée par Siril." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:833 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3877,63 +3820,104 @@ "contenant le répertoire de travail." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:835 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Disque : N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Étalonnage des couleurs" +#: ../src/gui/siril3.glade.h:836 +msgid "Informations" +msgstr "Informations" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:837 +msgid "Focal length (mm): " +msgstr "Longueur focale (mm) : " + +#: ../src/gui/siril3.glade.h:838 +msgid "Pixel X dim. (micron): " +msgstr "Pixel dim. X (micron) : " + +#: ../src/gui/siril3.glade.h:839 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." msgstr "" -"Un jeu de trois coefficients d'étalonnage des couleurs va être déterminé et " -"multiplié avec chaque canal de couleur.\n" -"La neutralisation du fond de ciel doit être appliqué avant cette opération." +"Effacer tous les champs. Si l'image est par la suite enregistrée, l'entête " +"ne contiendra aucune information concernant la focale ou la taille du " +"capteur." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "coordonnées x du début de la sélection du FDC" +#: ../src/gui/siril3.glade.h:840 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si la taille des pixels en Y n'est pas automatiquement chargée, en utilisant " +"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "coordonnées y du début de la sélection du FDC" +#: ../src/gui/siril3.glade.h:841 +msgid "Pixel Y dim. (micron): " +msgstr "Pixel dim. Y (micron) : " -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Largeur de la sélection du FDC" +#: ../src/gui/siril3.glade.h:842 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si la longueur focale n'est pas automatiquement chargée, en utilisant " +"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Hauteur de la sélection du FDC" +#: ../src/gui/siril3.glade.h:843 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Si la taille des pixels en X n'est pas automatiquement chargée, en utilisant " +"l'entête du fichier, vous pouvez mettre ce champ à jour manuellement." -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Zone sélectionnée" +#: ../src/gui/siril3.glade.h:844 +msgid "No binning in pixel size value" +msgstr "Aucun binning dans la taille des pixels" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Utiliser la sélection courante" +#: ../src/gui/siril3.glade.h:845 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Cocher ce bouton si le binning n'est pas pris en compte dans la valeur de la " +"taille des pixels. Dans ce cas, la valeur du binning de la liste déroulante " +"sera utilisée." -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:846 +msgid "FWHM is converted into arcsec" +msgstr "La FWHM est convertie en arcsec" + +#: ../src/gui/siril3.glade.h:847 +msgid "Binning: " +msgstr "Binning : " + +#: ../src/gui/siril3.glade.h:848 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." msgstr "" -"Vous devez sélectionner une zone qui représente le vrai fond du ciel de " -"l'image en essayant d'éviter d'inclure des étoiles ou d'autres objets " -"stellaires." +"Si le binning n'est pas automatiquement chargé, en utilisant l'entête du " +"fichier, vous pouvez mettre ce champ à jour manuellement." -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:849 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Un jeu de trois coefficients d'étalonnage des couleurs va être déterminé et " +"multiplié avec chaque canal de couleur.\n" +"La neutralisation du fond de ciel doit être appliqué avant cette opération." + +#: ../src/gui/siril3.glade.h:851 msgid "Background Neutralization" msgstr "Neutralisation du fond du ciel" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:852 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3944,15 +3928,15 @@ "Cette étape doit être exécutée avant toute tentative d'étalonnage des " "couleurs." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:854 msgid "Background reference" msgstr "Référence de fond du ciel" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:855 msgid "Manual White Balance" msgstr "Balance des blancs manuelle" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:856 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -3960,35 +3944,35 @@ "En cliquant sur cette option, vous utiliserez vos propres coefficients " "d'étalonnage. Cette option est désactivée par défaut." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:857 msgid "Red:" msgstr "Rouge :" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:858 msgid "Green:" msgstr "Vert :" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:859 msgid "Blue:" msgstr "Bleu :" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:860 msgid "x coordinate of the start of the white reference selection" msgstr "coordonnées x du début de la sélection de la référence des blancs" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:861 msgid "y coordinate of the start of the white reference selection" msgstr "coordonnées y du début de la sélection de la référence des blancs" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:862 msgid "Width of the white reference selection" msgstr "Largeur de la sélection de la référence des blancs" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:863 msgid "Height of the white reference selection" msgstr "Hauteur de la sélection de la référence des blancs" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:864 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -3998,7 +3982,7 @@ "moyenne appropriée.\n" "Si la sélection est vide, l'image entière sera utilisée comme référence." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:866 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." @@ -4007,7 +3991,7 @@ "cette valeur ne sont pas pris en compte. Les pixels noirs sont toujours " "exclus des calculs." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:867 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." @@ -4016,38 +4000,33 @@ "cette valeur ne sont pas pris en compte. Les pixels saturés sont toujours " "exclus des calculs." -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:868 msgid "Lower limit: " msgstr "Limite basse : " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:869 msgid "Upper limit: " msgstr "Limite haute : " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:870 msgid "White reference" msgstr "Référence des blancs" -#: ../src/algos/PSF.c:690 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" msgstr "" -"Résultat de l'ajustement PSF :\n" -"\\x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Valeur du FDC=%0.6f\n" -"Inensité Maximale=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"Il n'y a pas assez d'échantillons de fond de ciel. Le fond à extraire ne " +"peut pas être calculé.\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Mémoire insuffisante - abandon" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "Échantillons insuffisants." #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -4065,13 +4044,13 @@ msgstr "Rehaussement de la saturation : en cours...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1761 ../src/core/preprocess.c:63 +#: ../src/core/preprocess.c:182 ../src/core/siril.c:611 ../src/core/siril.c:902 +#: ../src/core/siril.c:998 ../src/core/siril.c:1090 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:326 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "Erreur : échec du calcul des statistiques.\n" @@ -4081,12 +4060,14 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:546 +#: ../src/gui/photometric_cc.c:564 msgid "There is no selection" msgstr "Il n'y a aucune sélection" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:547 +#: ../src/gui/photometric_cc.c:565 msgid "Make a selection of the background area" msgstr "Faire d'abord une sélection d'une zone de fond de ciel" @@ -4094,7 +4075,7 @@ msgid "Make a selection of the white reference area" msgstr "Faire d'abord une sélection d'une zone de référence des blancs" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:322 msgid "Background reference:\n" msgstr "Référence de fond du ciel :\n" @@ -4102,7 +4083,7 @@ msgid "White reference:\n" msgstr "Référence des blancs :\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:307 msgid "Color calibration factors:\n" msgstr "Coefficients de l'étalonnage des couleurs :\n" @@ -4110,51 +4091,37 @@ msgid "Color Calibration: processing...\n" msgstr "Étalonnage des couleurs : en cours...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Image %d : %ld pixels corrigés (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Correction cosmétique : en cours...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:197 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld pixels corrigés (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Transformée de Fourier : en cours...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" -msgstr "Fichiers corrompus\n" - -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Canal #%d : extraction de gradient terminée.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Extraction du gradient : en cours...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Échantillons insuffisants.\n" +msgstr "Fichiers corrompus\n" #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:260 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" "Les rayons internes et externes sont trop petits. Veuillez mettre à jour " "leur valeur dans les paramètres.\n" -#: ../src/algos/photometry.c:303 +#: ../src/algos/photometry.c:311 msgid "" "Warning: There aren't enough pixels in the sky annulus. You need to make a " "larger selection.\n" @@ -4162,78 +4129,96 @@ "Attention : Il n'y a pas assez de pixels dans l'anneau du ciel. Vous devez " "faire une plus grande sélection.\n" +#: ../src/algos/photometry.c:364 ../src/algos/photometry.c:378 +msgid "Wrong value" +msgstr "Mauvaise valeur" + +#: ../src/algos/photometry.c:365 ../src/algos/photometry.c:379 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "" +"La valeur du rayon interne doit être plus petite que celle du rayon externe." + +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1839 +#: ../src/gui/callbacks.c:2904 ../src/gui/callbacks.c:4513 +#: ../src/gui/callbacks.c:4519 ../src/gui/callbacks.c:4540 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Erreur" + #. Matching information -#: ../src/algos/plateSolver.c:700 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "%d paires correspondantes.\n" -#: ../src/algos/plateSolver.c:702 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "Pts OK : %*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:708 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "Résolution : %*.3lf arcsec/px\n" -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:762 #, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "Rotation : %+*.2lf deg %s\n" -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "(inversée)" -#: ../src/algos/plateSolver.c:728 +#: ../src/algos/plateSolver.c:776 #, c-format msgid "Focal:%*.2lf mm\n" msgstr "Focale : %*.2lf mm\n" -#: ../src/algos/plateSolver.c:729 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "Pixel dim. : %*.2lf µm\n" -#: ../src/algos/plateSolver.c:732 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "Champ de vision : %s x %s\n" -#: ../src/algos/plateSolver.c:735 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "Centre de l'image : RA: %s, DEC: %s\n" -#: ../src/algos/plateSolver.c:770 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "Taille du catalogue NOMAD : %d objets\n" -#: ../src/algos/plateSolver.c:804 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "Taille du catalogue TYCHO-2 : %d objets\n" -#: ../src/algos/plateSolver.c:838 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "Taille du catalogue Gaia DR2 : %d objets\n" -#: ../src/algos/plateSolver.c:872 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "Taille du catalogue PPMXL : %d objets\n" -#: ../src/algos/plateSolver.c:907 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "Taille du catalogue Bright stars : %d objets\n" -#: ../src/algos/plateSolver.c:967 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" @@ -4241,7 +4226,7 @@ "La résolution astrométrique a échoué. L'image n'a pas pu être alignée sur " "les étoiles de référence.\n" -#: ../src/algos/plateSolver.c:970 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4256,7 +4241,7 @@ "Enfin, gardez à l'esprit que la résolution astrométrique devrait seulement " "s'utiliser sur des images linéaires." -#: ../src/algos/plateSolver.c:1015 +#: ../src/algos/plateSolver.c:1067 #, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4264,19 +4249,19 @@ "Il n'y a pas assez d'étoiles dans l'image de référence pour procéder à un " "alignement. Au moins %d étoiles sont nécessaires." -#: ../src/algos/plateSolver.c:1220 +#: ../src/algos/plateSolver.c:1283 msgid "There are no keywords stored in the FITS header.\n" msgstr "Il n'y a aucun mot clé stocké dans l'entête du fichier.\n" -#: ../src/algos/plateSolver.c:1221 +#: ../src/algos/plateSolver.c:1284 msgid "No metadata" msgstr "Aucune métadonnée" -#: ../src/algos/plateSolver.c:1268 +#: ../src/algos/plateSolver.c:1351 msgid "Astrometric solution detected" msgstr "Solution astrométrique detectée" -#: ../src/algos/plateSolver.c:1268 +#: ../src/algos/plateSolver.c:1351 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." @@ -4284,6 +4269,27 @@ "La solution astrométrique contenue dans l'image va être effacée par la " "transformation géométrique et aucun retour en arrière n'est possible." +#: ../src/algos/PSF.c:704 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"Résultat de l'ajustement PSF :\n" +"\\x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Valeur du FDC=%0.6f\n" +"Inensité Maximale=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" + #. only used for progress bar #: ../src/algos/rgradient.c:69 msgid "Rotational gradient in progress..." @@ -4293,34 +4299,34 @@ msgid "Rotational gradient complete." msgstr "Gradient rotationnel terminé." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:223 +#: ../src/core/command.c:461 ../src/core/command.c:784 +#: ../src/core/command.c:952 ../src/core/command.c:987 +#: ../src/core/command.c:1067 ../src/core/command.c:1419 +#: ../src/core/command.c:1546 ../src/core/command.c:1569 +#: ../src/core/command.c:1597 ../src/core/command.c:1623 +#: ../src/core/command.c:1799 ../src/core/command.c:1868 +#: ../src/core/command.c:2681 ../src/gui/callbacks.c:3932 +#: ../src/gui/callbacks.c:4124 ../src/gui/callbacks.c:4282 +#: ../src/gui/callbacks.c:4315 ../src/gui/callbacks.c:4363 +#: ../src/gui/callbacks.c:4497 ../src/gui/callbacks.c:4651 +#: ../src/gui/callbacks.c:4830 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "" "Une autre tâche est déjà en cours d'exécution, nouvelle requête ignorée.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "Findstar : en cours...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "Cette étoile a déjà été choisie !\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "Pointage" @@ -4333,7 +4339,7 @@ msgstr "Erreur dans l'alignement des canaux." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Alignement terminé." @@ -4378,9 +4384,9 @@ msgid "You must at least load two layers before!\n" msgstr "Vous devez au moins charger 2 canaux\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:154 ../src/gui/wavelets.c:163 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4617 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Attention" @@ -4411,97 +4417,97 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Réajustement du canal %d (x%g)\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:391 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "" "La multiplication par un coefficient inférieur ou égal à 0 est impossible.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:414 #, c-format msgid "Entropy: %.3lf\n" msgstr "Entropie : %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:450 msgid "Number of iterations must be > 0.\n" msgstr "Le nombre d'itérations doit être supérieur à 0.\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:455 msgid "Sigma must be > 0.\n" msgstr "Sigma doit être supérieur à 0.\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:495 ../src/core/command.c:998 msgid "Crop: x and y must be positive values.\n" msgstr "Recadrage : x et y doivent avoir des valeurs positives.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:499 ../src/core/command.c:1002 msgid "Crop: width and height must be greater than 0.\n" msgstr "" "Recadrage : la largeur et la hauteur doivent avoir une valeur supérieure à " "0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:503 ../src/core/command.c:1039 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "" "Recadrage : la largeur et la hauteur doivent respectivement avoir une valeur " "inférieure à %d et %d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:512 ../src/core/command.c:1011 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "" "Recadrage : sélectionner une zone ou entrer les valeurs de x, y, largeur et " "hauteur\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:152 +#: ../src/core/command.c:598 ../src/core/command.c:2517 +#: ../src/gui/callbacks.c:4615 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "Ondelettes : le nombre maximum de plan pour cette image est %d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:161 +#: ../src/core/command.c:604 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Ondelettes : le type doit être %d ou %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:673 msgid "Cannot list files, set working directory first.\n" msgstr "" "Impossible de lister les fichiers, veuillez d'abord définir un répertoire.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:679 ../src/core/command.c:688 msgid "Siril cannot open the directory.\n" msgstr "Impossible d'ouvrir le répertoire.\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:710 #, c-format msgid "Link: %s\n" msgstr "Lien : %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:714 #, c-format msgid "Directory: %s\n" msgstr "Répertoire : %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:724 ../src/core/command.c:731 #, c-format msgid "Sequence: %s\n" msgstr "Séquence : %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:727 ../src/core/command.c:729 #, c-format msgid "Image: %s\n" msgstr "Image : %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:736 ../src/core/command.c:2496 msgid "********* END OF THE LIST *********\n" msgstr "********* FIN DE LA LISTE***********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:766 msgid "The scaling factor must be less than 5.0\n" msgstr "Le facteur d'échelle doit être inférieur à 5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:836 ../src/core/command.c:934 +#: ../src/core/command.c:956 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4509,27 +4515,27 @@ "La sélection courante est trop grande. Afin de déterminer la PSF, veuillez " "faire une sélection autour d'une seule étoile.\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:840 ../src/core/command.c:938 +#: ../src/core/command.c:960 ../src/io/sequence.c:1564 msgid "Select an area first\n" msgstr "Sélectionner une zone dans l'image\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:846 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" msgstr "Magnitude relative : %.3lf, Vraie magnitude : %.3lf, Offset : %.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:862 ../src/core/command.c:917 +#: ../src/core/command.c:979 msgid "This command can be used only when a sequence is loaded\n" msgstr "Cette commande ne peut être utilisée que sur une séquence chargée\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:870 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Exécuter tout d'abord une PSF sur la séquence (voir seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:874 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4538,12 +4544,12 @@ "La magnitude de référence a été définie pour l'étoile %d à %f et sera " "calculée pour chaque image\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:886 #, c-format msgid "FITS extension unknown: %s\n" msgstr "Extension FITS inconnue : %s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:909 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" @@ -4551,134 +4557,133 @@ "Mauvaises valeurs de paramètres. Sigma doit être supérieur ou égal à 0.05 et " "\"roundness\" se situer entre 0 et 0.9.\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:922 msgid "Reference magnitude unset for sequence\n" msgstr "Suppression de la magnitude de référence pour la séquence\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:974 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Exécution de la PSF sur la séquence chargée, canal %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1025 ../src/core/command.c:1031 +#: ../src/core/command.c:1638 ../src/core/command.c:1644 +#: ../src/core/command.c:1880 ../src/core/command.c:1887 +#: ../src/core/command.c:2144 ../src/core/command.c:2286 +#: ../src/core/command.c:2359 ../src/core/command.c:2366 #, c-format -msgid "No sequence %s found.\n" -msgstr "La séquence %s n'a pas été pas trouvée.\n" +msgid "No sequence `%s' found.\n" +msgstr "Aucune séquence `%s' trouvée.\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1060 #, c-format msgid "Background value: %d\n" msgstr "Valeur de fond du ciel : %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1115 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Le fichier %s a été créé pour le canal %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1198 msgid "Number of layers MUST be 1 or 3\n" msgstr "Le nombre de canal DOIT être de 1 ou 3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1213 msgid "new empty image" msgstr "nouvelle image vide" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1230 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "Les valeurs doivent être positives et inférieures à %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1250 ../src/core/command.c:1511 msgid "Wrong parameters.\n" msgstr "Mauvais paramètres.\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1255 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "" "Fill2 : sélectionner une zone ou entrer les valeurs de x, y, largeur et " "hauteur\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1278 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "%d étoiles trouvées dans l'image, canal #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1292 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "" "find_hot doit être appliqué sur les images master-dark avec un seul canal" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1300 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld pixels froids et %ld pixels chauds\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1305 ../src/core/command.c:1340 #, c-format msgid "Cannot open file: %s\n" msgstr "Impossible d'ouvrir le fichier : %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1401 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "" "correction cosmétique : le fichier cosme a une erreur de format à la ligne " "%d : %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1409 msgid "There were some errors, please check your input file.\n" msgstr "Des erreurs ont été rencontrées, veuillez vérifier les fichiers.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1431 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "La taille du filtre DOIT être impaire et plus grande que 1.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1436 msgid "Modulation value MUST be between 0 and 1\n" msgstr "La valeur de la modulation DOIT être entre 0 et 1\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1459 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Les coordonnées du centre de gravité sont (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1574 msgid "FFT does not work with sequences\n" msgstr "La FFT ne fonctionne pas avec des séquences\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1678 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Utiliser cette commande pour sélectionner les images dans la séquence, " "charger une séquence d'abord.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1684 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "Le premier argument doit se situer entre 0 et le nombre d'images - 1.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1718 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "" "Mise à jour de la sélection finie. %d images sont sélectionnées dans la " "séquence\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1737 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Impossible d'éclater l'image. Assurez-vous que cette dernière soit une image " "RVB.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1781 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4687,62 +4692,91 @@ "Canal %s : Moyenne : %0.1lf, Médiane : %0.1lf, Sigma : %0.1lf, AvgDev : " "%0.1lf, Min : %0.1lf, Max : %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1811 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Conversion : erreur lors de l'ouverture du répertoire de travail %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1830 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Conversion : en cours...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1841 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Conversion: aucun répertoire de travail défini.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1900 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Alignement global (ciel profond)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "Pas assez d'espace disque pour procéder au Drizzle !\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1961 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "Alignement : traitement en cours utilisant la méthode : %s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1980 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" +"Les options de normalisation ne sont pas autorisées dans ce contexte, elles " +"sont ignorées.\n" + +#: ../src/core/command.c:2000 ../src/core/command.c:2018 +#: ../src/core/command.c:2036 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "Impossible d'analyser l'argument `%s' dans le filtre `%s', abandon.\n" + +#: ../src/core/command.c:2007 ../src/core/command.c:2025 +#: ../src/core/command.c:2043 ../src/core/command.c:2056 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Argument manquant dans %s, abandon.\n" + +#: ../src/core/command.c:2062 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"L'option de nom de fichier en sortie n'est pas autorisée dans ce contexte, " +"elle est ignorée.\n" + +#: ../src/core/command.c:2066 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Argument inattendu pour l'empilement `%s',, abandon.\n" + +#: ../src/core/command.c:2083 #, c-format msgid "Stacking sequence %s\n" msgstr "Empile la séquence %s\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2093 +msgid "Not using rejection for stacking\n" +msgstr "N'utilise pas le rejet pour l'empilement\n" + +#: ../src/core/command.c:2136 #, c-format msgid "Could not save the stacking result %s\n" msgstr "Impossible d'enregistrer le résultat de l'empilement %s\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2158 msgid "Looking for sequences in current working directory...\n" msgstr "Cherche les séquences dans le répertoire de travail...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2160 msgid "Error while searching sequences or opening the directory.\n" msgstr "" "Erreur pendant la recherche des séquences ou l'ouverture du répertoire.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2169 msgid "Starting stacking of found sequences...\n" msgstr "Début de l'empilement des séquences trouvées...\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2177 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "%d séquences empilées avec succès.\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2217 ../src/core/command.c:2312 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4751,20 +4785,20 @@ "Winsorized ici et requiert deux arguments supplémentaires : sigma bas et " "haut.\n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2226 ../src/core/command.c:2321 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "Le type de séquence proposée est inconnu (%s).\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "Le type de méthode d'empilement '%s' est invalide\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2257 msgid "Stacked sequence successfully.\n" msgstr "Séquence empilée avec succès.\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2430 ../src/gui/callbacks.c:3939 msgid "Preprocessing...\n" msgstr "Prétraitement...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2455 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4772,81 +4806,108 @@ msgstr "" "Le nombre de processeurs doit être supérieur à 0 et inférieur ou égal à %d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2465 #, c-format msgid "Using now %d logical processors\n" msgstr "Utilise maintenant %d processeurs\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2477 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"La plage acceptée pour le ratio de mémoire utilisé pour l'empilement est " +"[0.05, 2], avec des valeurs inférieures à la mémoire disponible recommandée\n" + +#: ../src/core/command.c:2481 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"La définition du ratio de mémoire utilisé pour l’empilement supérieur à 1 " +"nécessitera l’utilisation de mémoire sur disque, ce qui est très lent et non " +"recommandé (%g demandé)\n" + +#: ../src/core/command.c:2485 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "Modification de la mémoire utilisable pour l'empilement à %g\n" + +#: ../src/core/command.c:2491 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* LISTE DES COMMANDES DISPONIBLES *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2572 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Commande inconnue : '%s' ou pas encore implémentée\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2579 #, c-format msgid "Usage: %s\n" msgstr "Usage : %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2586 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "Cette commande ne peut pas être utilisée dans un script : %s\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2592 #, c-format msgid "Running command: %s\n" msgstr "Exécution de la commande : %s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2641 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "Erreur à la ligne %d. Abandon\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Erreur à la ligne %d : '%s'.\n" + +#: ../src/core/command.c:2642 +msgid "Exiting batch processing.\n" +msgstr "Sortie du traitement par lot.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2661 msgid "Script execution finished successfully.\n" msgstr "L'exécution du script s'est terminée avec succès.\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2663 msgid "Total execution time" msgstr "Temps d'exécution total" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2665 msgid "Script execution failed.\n" msgstr "L'exécution du script a échoué.\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:469 +#: ../src/core/command.c:2691 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "Le fichier [%s] n'existe pas\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2699 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "Début du script %s\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2706 msgid "Command execution failed.\n" msgstr "L'exécution de la commande a échoué.\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2831 msgid "Can be used in a script: " msgstr "Peut être utilisé dans un script : " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2834 msgid "YES" msgstr "OUI" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2836 msgid "NO" msgstr "NON" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2846 msgid "No help for this command" msgstr "Aucune aide pour cette commande" @@ -4932,8 +4993,18 @@ msgstr "Commande identique à COSME mais appliquée a des images RAW CFA" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "Recadre l'image selon le rectangle de sélection précédemment défini" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Peut être utilisé avec l'interface graphique : si une sélection a été " +"effectuée avec la souris, l'appel de la commande CROP sans argument permet " +"de recadrer dans cette sélection. Sinon, ou dans les scripts, il faut donner " +"des arguments, \"x\" et \"y\" étant les coordonnées du coin supérieur " +"gauche, et \"width\" et \"height\" la taille de la sélection" #: ../src/core/command_def.h:22 msgid "" @@ -5194,8 +5265,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5205,11 +5278,13 @@ "Prétraite la séquence \"sequencename\" en utilisant le bias, dark et flat " "donné en argument. Il est possible de spécifier si les images sont CFA à des " "fins de correction cosmétique avec l'option \"-cfa\" et aussi de dématricer " -"les images à la fin du processus avec \"-debayer\". L'option \"-flip\" " -"indique à Siril de lire l'image de haut en bas pendant l'opération de " -"dématricage et l'option \"-equalize_cfa\" égalise l'intensité moyenne des " -"couches RVB du maître flat CFA. Il est également possible d'optimiser la " -"soustraction des darks avec l'option \"-opt\".\n" +"les images à la fin du processus avec \"-debayer\". Cette option peut être " +"associée à \"-stretch\" afin d'étirer la dynamique de l'image jusqu'à 16 " +"bits durant cette opération (ne marche qu'avec des images provenant d'APN). " +"L'option \"-flip\" indique à Siril de lire l'image de haut en bas pendant " +"l'opération de dématricage et l'option \"-equalize_cfa\" égalise l'intensité " +"moyenne des couches RVB du maître flat CFA. Il est également possible " +"d'optimiser la soustraction des darks avec l'option \"-opt\".\n" "\n" "Notez que seuls les pixels chauds sont corrigés lors du processus de " "correction cosmétique" @@ -5456,7 +5531,7 @@ "taper la commande la rend facile à comprendre. Pour réinitialiser l'étoile " "de référence et le décalage de magnitude, voir UNSETMAGSEQ" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" @@ -5464,37 +5539,51 @@ "Divise l'image couleur en trois fichiers distincts (un pour chaque canal) et " "les enregistre dans les fichiers \"r\" \"g\" et \"b\" entrés en argument" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" -"Empile la séquence \"sequencename\", en utilisant des options. Les types " -"autorisés sont: sum, max, min, med ou median, et rej ou mean qui nécessite " +"Empile la séquence \"sequencename\" en utilisant les options. Les types " +"autorisés sont: sum, max, min, med ou median et rej ou mean qui nécessitent " "l'utilisation d'arguments supplémentaires \"sigma low\" et \"high\" utilisés " -"pour l'algorithme de rejet Winsorized sigma clipping (ne peut pas être " -"modifié à partir d'ici). Différents types de normalisation sont autorisés: " -"\"-norm=add\" pour l'additive, \"-norm=mul\" pour la multiplicative. Les " -"options \"-norm=addscale\" et \"-norm=mulscale\" appliquent les mêmes " -"normalisations mais avec des opérations d'échelle. Si aucun argument autre " -"que le nom de la séquence n'est fourni, l'empilement par somme est utilisé" +"pour l'algorithme de rejet sigma Winsorized (ne peut pas être modifié à " +"partir d'ici).\n" +"Différents types de normalisation sont autorisés: \"-norm=add\" pour " +"l'addition, \"-norm=mul\" pour multiplicatif. Les options \"-norm=addscale\" " +"et \"-norm=mulscale\" appliquent les mêmes normalisations mais avec des " +"opérations d'échelle.\n" +"Si aucun argument autre que le nom de séquence n'est fourni, l'empilement " +"par somme est exécuté par défaut.\n" +"Le nom de l'image résultante peut être défini avec l'option \"-out=\".\n" +"Les images empilées peuvent être sélectionnées en fonction de certains " +"filtres, comme la sélection manuelle ou la meilleure FWHM, avec certaines " +"des options \"-filter- *\".\n" +"Voir la référence de la commande pour la documentation complète sur cette " +"commande" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" -"Ouvre toutes les séquences du Répertoire de Travail et les empile avec le " -"type d'empilement éventuellement spécifié ou avec l'empilement par somme. " -"Voir la commande STACK pour la description des options" +"Ouvre toutes les séquences dans le dossier de travail et les empile avec le " +"type d’empilement et le filtrage éventuellement spécifiés ou avec " +"l’empilement de somme. Voir commande STACK pour la description des options" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5502,22 +5591,22 @@ "Renvoie les statistiques globales de l'image actuelle. Si une sélection est " "faite, la commande renvoie les statistiques dans la sélection" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Remplace les valeurs en deçà de \"level\" par \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Remplace les valeurs au dessus de \"level\" par \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Remplace les valeurs en deçà de \"lo\" par \"lo\" et les valeurs au dessus " "de \"hi\" par \"hi\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5525,11 +5614,11 @@ "Permet une désélection de masse facile des images de la séquence chargée (de " "\"from\" à \"to\" inclus). Voir SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Réinitialise l'étalonnage d'amplitude à 0. Voir SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5537,7 +5626,7 @@ "Réinitialise l'étalonnage de la magnitude et l'étoile de référence de la " "séquence. Voir SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5545,12 +5634,12 @@ "Applique à l'image courante un masque flou avec sigma \"sigma\" et un " "coefficient \"multi\"" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "Affiche une image avec \"low\" et \"high\" comme seuil bas et haut" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5563,7 +5652,7 @@ "contenant les plans, prêt pour la reconstruction pondérée avec la commande " "WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5578,13 +5667,48 @@ msgid "Loading init file: '%s'\n" msgstr "Fichier de paramètres chargé : '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"Le répertoire de travail sauvegardé n'est plus accessible. Le répertoire par " -"défaut vient d'être défini comme nouveau répertoire de travail\n" +"Espace disque libre insuffisant pour effectuer cette opération : %sB " +"disponible pour %sB nécessaire (manque %sB)\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "Espace disque insuffisant" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Ouvrir le fichier" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Ouvrir" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Cancel" +msgstr "_Annuler" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +msgid "Add Files" +msgstr "Ajouter Fichiers" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Add" +msgstr "_Ajouter" + +#: ../src/core/OS_utils.c:416 ../src/core/OS_utils.c:419 +msgid "Save File" +msgstr "Enregistrer le fichier" + +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Save" +msgstr "_Enregistrer" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 msgid "Could not create the named pipe " @@ -5594,50 +5718,85 @@ msgid "The named pipe file " msgstr "Le fichier du tube nommé " -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" msgstr "Impossible d'ouvrir le tube nommé\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" msgstr "commande trop longue ou mal formée\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "commande interrompue\n" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:151 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Optimisation des darks : k0=%.3lf\n" + +#: ../src/core/preprocess.c:186 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Valeur de normalisation auto-évaluée : %.2lf\n" + +#: ../src/core/preprocess.c:200 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"La correction cosmétique utilisant le master-dark ne supporte que des images " +"à un canal\n" + +#: ../src/core/preprocess.c:267 +msgid "Preprocessing" +msgstr "Pré-traitement" + +#: ../src/core/preprocess.c:290 +#, c-format +msgid "Pre-processing image %s" +msgstr "Pré-traitement de l'image %s" + +#: ../src/core/preprocess.c:308 +#, c-format +msgid "Saving image %s" +msgstr "Image %s enregistrée" + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "Aucune image sélectionnée pour traitement, annulation\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Échec du traitement de la séquence.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Le mapping de l'index de sortie a échoué (%d/%d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr " : en cours...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Traitement de l'image %d (%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Échec du traitement de la séquence. Vérifier les log." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "Le traitement de la séquence a échoué.\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "Le traitement de la séquence a partiellement réussi. Vérifier les log." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " @@ -5646,140 +5805,198 @@ "Le traitement de la séquence a partiellement réussi, avec %d image(s) en " "échec et temporairement exclue(s) de la séquence.\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Le traitement de la séquence a réussi." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "Le traitement de la séquence a réussi.\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "Échec de la finalisation du traitement de la séquence.\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:435 msgid "Process aborted by user\n" msgstr "Traitement interrompu par l'utilisateur\n" -#: ../src/core/siril.c:164 +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" +msgstr "" +"Filtre de séquence: les valeurs ne peuvent être que littérales ou en " +"pourcent\n" + +#: ../src/core/sequence_filtering.c:200 #, c-format -msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" -msgstr "imoper : les images n'ont pas la même taille (w = %u|%u, h = %u|%u)\n" +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Utilisation du filtre d'images sélectionnées (%d/%d de la séquence)\n" -#: ../src/core/siril.c:211 +#: ../src/core/sequence_filtering.c:208 #, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Les images n'ont pas la même taille (l = %d|%d, h = %d|%d)\n" +msgid "Using star FWHM images filter (below %f)\n" +msgstr "" +"Utilisation du filtre de FWHM (inférieure à %f)\n" +"\n" -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:383 ../src/gui/plot.c:443 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Erreur" +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Utilisation du filtre de rondeur des étoiles (supérieure %f)\n" -#: ../src/core/siril.c:249 +#: ../src/core/sequence_filtering.c:224 #, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Utilisation du filtre de qualité (inférieure à %f)\n" + +#: ../src/core/sequence_filtering.c:251 msgid "" -"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" -"%d)\n" +"Provided filtering options do not allow at least two images to be " +"processed.\n" msgstr "" -"addmax les images n'ont pas la même taille (l = %d|%d, h = %d|%d, canaux = " -"%d|%d)\n" +"Les options de filtrage fournies ne permettent pas de traiter au moins deux " +"images.\n" -#: ../src/core/siril.c:337 -msgid "Unsharp: processing...\n" -msgstr "Masque flou : en cours...\n" +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"L'image de référence n'est pas dans le jeu d'images sélectionnées. Afin " +"d'éviter cette situation, veuillez la modifier ou changer les paramètres de " +"filtrage.\n" -#: ../src/core/siril.c:587 -msgid "Could not compute normalization values for the images, aborting.\n" +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "Utilise l'image %d comme image de référence temporaire\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" msgstr "" -"Impossible de calculer les valeurs de normalisation pour les images, " -"abandon.\n" +"Avertissement: certaines images ne disposent pas des informations " +"nécessaires à la sélection des meilleures images et n'utilisent que les " +"données disponibles (%d images sur %d).\n" -#: ../src/core/siril.c:753 +#: ../src/core/sequence_filtering.c:367 #, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "Optimisation des darks : k0=%1.3lf\n" +msgid "Processing all images in the sequence (%d)\n" +msgstr "Traitement de toutes les images de la séquence (%d)\n" -#: ../src/core/siril.c:836 +#: ../src/core/sequence_filtering.c:370 #, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Valeur de normalisation auto-évaluée : %.2lf\n" +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "Traitement des images uniquement sélectionnées dans la séquence (%d)\n" -#: ../src/core/siril.c:843 +#: ../src/core/sequence_filtering.c:373 #, c-format -msgid "Pre-processing image %s" -msgstr "Pré-traitement de l'image %s" +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "" +"Traitement des images de la séquence avec une FWHM inférieure ou égale à %g " +"(%d)\n" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 +#: ../src/core/sequence_filtering.c:378 +#, c-format msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" msgstr "" -"La correction cosmétique utilisant le master-dark ne supporte que des images " -"à un canal\n" +"Traitement des images de la séquence avec une rondeur supérieure ou égale à " +"%g (%d)\n" -#: ../src/core/siril.c:895 +#: ../src/core/sequence_filtering.c:383 #, c-format -msgid "Saving image %s" -msgstr "Image %s enregistrée" +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "" +"Traitement des images de la séquence avec une qualité supérieure ou égale à " +"%g (%d)\n" + +#: ../src/core/sequence_filtering.c:388 +#, c-format +msgid "Processing images whose output don't already exist (%d)" +msgstr "Traitement des images dont la sortie n'existe pas déjà (%d)" + +#: ../src/core/sequence_filtering.c:405 +#, c-format +msgid "for a total of images processed of %d)\n" +msgstr "pour un total d'images traitées de %d)\n" -#: ../src/core/siril.c:944 +#: ../src/core/siril.c:161 #, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Chargement et pré-traitement de l'image %d/%d (%s)" +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "imoper : les images n'ont pas la même taille (w = %u|%u, h = %u|%u)\n" -#: ../src/core/siril.c:950 +#: ../src/core/siril.c:203 #, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" msgstr "" -"Impossible de lire un des fichiers raw : %s. Abandon du pré-traitement." +"addmax les images n'ont pas la même taille (l = %d|%d, h = %d|%d, canaux = " +"%d|%d)\n" + +#: ../src/core/siril.c:293 +msgid "Unsharp: processing...\n" +msgstr "Masque flou : en cours...\n" + +#: ../src/core/siril.c:543 +msgid "Could not compute normalization values for the images, aborting.\n" +msgstr "" +"Impossible de calculer les valeurs de normalisation pour les images, " +"abandon.\n" -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:675 #, c-format msgid "Extracting %s..." msgstr "Extraire %s..." -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:718 msgid "Median Filter: processing...\n" msgstr "Filtre médian : en cours...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:727 msgid "Median filter failed" msgstr "Le filtre médian à échoué" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:795 msgid "Median filter applied" msgstr "Filtre médian appliqué" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:872 msgid "Banding Reducing: processing...\n" msgstr "Réduction de la trame : en cours...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1041 msgid "backgroundnoise: Error, no data computed\n" msgstr "backgroundnoise : Erreur, aucune donnée calculée\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1051 msgid "backgroundnoise: does not converge\n" msgstr "backgroundnoise : aucune convergence\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1081 msgid "Noise standard deviation: calculating...\n" msgstr "Déviation standard du bruit : calcul en cours...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1101 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Estimation du bruit : (canal : #%d) : %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1116 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Déconvolution Lucy-Richardson : en cours...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "Fichiers log (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "" @@ -5836,210 +6053,142 @@ "Erreur I/O de fichiers : Impossible d'écrire dans le fichier swap dans %s : " "[%s]\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "Erreur inconnue\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "Aucun fichier ou dossier de ce type\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "\"%s\" n'est pas un répertoire\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2903 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "Vous n'avez pas la permission d'écrire dans ce dossier : %s\n" -#: ../src/core/utils.c:373 -#, c-format -msgid "Setting CWD (Current Working Directory) to '%s'\n" -msgstr "Définir le répertoire de travail à '%s'\n" - -#: ../src/core/utils.c:380 -#, c-format -msgid "Could not change directory to '%s'.\n" -msgstr "Impossible de modifier le répertoire de travail en '%s'.\n" - -#: ../src/core/utils.c:799 -msgid "Filename is too long, not expanding it\n" -msgstr "Nom de fichier trop long, ne fera rien\n" - -#: ../src/core/utils.c:1019 -#, c-format -msgid "Checking GTK version ... GTK-%d.%d\n" -msgstr "Vérifie la version de GTK ... GTK-%d.%d\n" - -#: ../src/core/utils.c:1042 -#, c-format -msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" -msgstr "La version de GTK ne correspond pas aux prérequis: (GTK-%d.%d)\n" - -#: ../src/core/utils.c:1048 -#, c-format -msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -msgstr "" -"Impossible de charger le fichier de la feuille de style CSS : %s. Veuillez " -"réinstaller %s\n" - -#: ../src/core/utils.c:1058 ../src/main.c:257 -#, c-format -msgid "Successfully loaded '%s'\n" -msgstr "Chargé avec succès '%s'\n" - -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Les étoiles doivent avoir les mêmes unités." - -#: ../src/gui/PSF_list.c:171 -#, c-format -msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" -"Moyenne du PSF Gaussien\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Étoile %d sur %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "Fichiers FITS (*.fit, *.fits, *.fts)" - -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "Fichiers bruts d'APN" - -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "Fichiers graphiques (*.bmp" - -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Fichiers Netpbm (*.ppm, *.pnm, *.pgm)" +#: ../src/core/utils.c:318 +#, c-format +msgid "Setting CWD (Current Working Directory) to '%s'\n" +msgstr "Définir le répertoire de travail à '%s'\n" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "Fichier PIC d'IRIS (*.pic)" +#: ../src/core/utils.c:321 +#, c-format +msgid "Could not change directory to '%s'.\n" +msgstr "Impossible de modifier le répertoire de travail en '%s'.\n" -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "Fichiers SER (*.ser)" +#: ../src/core/utils.c:488 +msgid "Filename is too long, not expanding it\n" +msgstr "Nom de fichier trop long, ne fera rien\n" -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "Fichiers Film (*.avi, *.mpg, ...)" +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Vérifie la version de GTK ... GTK-%d.%d\n" -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Ouvrir le fichier" +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "La version de GTK ne correspond pas aux prérequis: (GTK-%d.%d)\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Ouvrir" +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "" +"Impossible de charger le fichier de la feuille de style CSS : %s. Veuillez " +"réinstaller %s\n" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Annuler" +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "Chargé avec succès '%s'\n" + +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Cyril Richard " + +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "À propos de siril" + +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Programme de (pré-)traitement des images astronomiques" + +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Visiter le site de Siril" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:800 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "L'image %d a été exclue de la séquence\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:810 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "L'image %d a été inclue dans la séquence\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:844 msgid "Selected all images from sequence\n" msgstr "Sélectionner toutes les images de la séquence\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:848 msgid "Unselected all images from sequence\n" msgstr "Désélectionner toutes les images de la séquence\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1057 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "Ajuste la valeur maximale pour les curseurs d'ajustement\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1100 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "initialise scalemin=%d, scalemax=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1206 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "" "<%%s.seq> : %%d images sélectionnées sur %%d, l'image de référence est %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1209 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "" "<%%s.seq> : %%d images sélectionnées sur %%d, l'image de référence est %%.%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1218 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "" "<%s.seq> : %d images sélectionnées sur %d, aucune image de référence définie" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1221 #, c-format msgid "%s, %d images selected" msgstr "%s, %d images sélectionnées" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "No sequence" msgstr "Aucune séquence" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1226 #, c-format msgid "- none -" -msgstr "- aucun -" +msgstr "- aucune -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1309 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" @@ -6047,88 +6196,103 @@ "redraw : le nombre maximum de couches supportées est %d (l'image chargée a " "%d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1609 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm : la sélection est trop grande" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1611 #, c-format msgid "fwhm: no selection" msgstr "fwhm : aucune sélection" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1636 #, c-format msgid "%s (channel 0)" msgstr "%s (canal 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1641 #, c-format msgid "%s (channel 1)" msgstr "%s (canal 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1645 #, c-format msgid "%s (channel 2)" msgstr "%s (canal 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1672 msgid "Unassigned" msgstr "Non assigné" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1698 #, c-format msgid "%d: not affected yet" msgstr "%d : n'est pas encore affecté" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1838 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Valeur de zoom non connue, quel est le zoom actuel ?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1924 msgid "B&W channel" msgstr "N&B" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1957 +#, c-format +msgid "%d file loaded" +msgstr "%d fichier chargé" + +#: ../src/gui/callbacks.c:1959 #, c-format msgid "%d files loaded" msgstr "%d fichiers chargés" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1964 +#, c-format +msgid "%d file selected, %s" +msgstr "%d fichier sélectionné, %s" + +#: ../src/gui/callbacks.c:1966 +#, c-format +msgid "%d files selected, %s" +msgstr "%d fichiers sélectionnés, %s" + +#: ../src/gui/callbacks.c:2108 #, c-format msgid "Mem: %ldMB" msgstr "Mem : %ldMo" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2110 #, c-format msgid "Mem: N/A" msgstr "Mem : N/A" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2118 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "Disque : %.0lf%s" +msgid "Disk Space: %s" +msgstr "Disque : %s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2121 #, c-format msgid "Disk Space: N/A" msgstr "Disque : N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2183 msgid "This binning is not handled yet\n" msgstr "Ce binning n'est pas géré pour l'instant\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2716 ../src/gui/callbacks.c:2717 #, c-format msgid "ERROR" msgstr "ERREUR" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2729 #, c-format msgid "Cold: %ld px" msgstr "Froid : %ld px" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2730 ../src/gui/callbacks.c:2742 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -6136,144 +6300,128 @@ "Cette valeur est peut-être trop haute. S'il vous plaît veuillez reconsidérer " "la valeur de sigma ou bien décocher l'option." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2733 #, c-format msgid "Cold: %ld px" msgstr "Froid : %ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2741 #, c-format msgid "Hot: %ld px" msgstr "Chaud : %ld px" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2745 #, c-format msgid "Hot: %ld px" msgstr "Chaud : %ld px" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 msgid "Closing application" msgstr "Fermeture de l'application" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 msgid "Are you sure you want to quit?" msgstr "Êtes vous sûr de vouloir quitter ?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3659 #, c-format msgid "new zoom value: %f\n" msgstr "nouvelle valeur du zoom : %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3698 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3700 #, c-format msgid "undefined" msgstr "non défini" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3796 msgid "Exclude all images ?" msgstr "Exclure toutes les images ?" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3797 ../src/gui/callbacks.c:3807 msgid "This erases previous image selection and there's no possible undo." msgstr "" "Cela supprime la sélection précédente et il n'y a pas de retour possible." -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3806 msgid "Include all images ?" msgstr "Inclure toutes les images ?" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3826 +msgid "Opening offset image..." +msgstr "Ouverture de l'image d'offset..." + +#: ../src/gui/callbacks.c:3830 +msgid "NOT USING OFFSET: number of channels is different" +msgstr "OFFSET NON UTILISÉ : nombre de canal différent" + +#: ../src/gui/callbacks.c:3833 +msgid "NOT USING OFFSET: image dimensions are different" +msgstr "OFFSET NON UTILISÉ : les dimensions des images sont différentes" + +#: ../src/gui/callbacks.c:3838 +msgid "NOT USING OFFSET: cannot open the file\n" +msgstr "OFFSET NON UTILISÉ : impossible d'ouvrir le fichier\n" + +#: ../src/gui/callbacks.c:3858 msgid "Opening dark image..." msgstr "Ouverture de l'image dark..." -#: ../src/gui/callbacks.c:3802 -msgid "NOT USING DARK: cannot open the file\n" -msgstr "DARK NON UTILISÉ : impossible d'ouvrir le fichier\n" - -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3862 msgid "NOT USING DARK: number of channels is different" msgstr "DARK NON UTILISÉ : nombre de canal différent" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3865 +msgid "NOT USING DARK: image dimensions are different" +msgstr "DARK NON UTILISÉ : les dimensions des images sont différentes" + +#: ../src/gui/callbacks.c:3870 +msgid "NOT USING DARK: cannot open the file\n" +msgstr "DARK NON UTILISÉ : impossible d'ouvrir le fichier\n" + +#: ../src/gui/callbacks.c:3897 msgid "Opening flat image..." msgstr "Ouverture de l'image falt..." -#: ../src/gui/callbacks.c:3850 -msgid "NOT USING FLAT: cannot open the file\n" -msgstr "FLAT NON UTILISÉ : impossible d'ouvrir le fichier\n" - -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3901 msgid "NOT USING FLAT: number of channels is different" msgstr "FLAT NON UTILISÉ : nombre de canal différent" -#: ../src/gui/callbacks.c:3884 -msgid "Opening offset image..." -msgstr "Ouverture de l'image d'offset..." - -#: ../src/gui/callbacks.c:3887 -msgid "NOT USING OFFSET: cannot open the file\n" -msgstr "OFFSET NON UTILISÉ : impossible d'ouvrir le fichier\n" +#: ../src/gui/callbacks.c:3904 +msgid "NOT USING FLAT: image dimensions are different" +msgstr "FLAT NON UTILISÉ : les dimensions des images sont différentes" -#: ../src/gui/callbacks.c:3894 -msgid "NOT USING OFFSET: number of channels is different" -msgstr "OFFSET NON UTILISÉ : nombre de canal différent" +#: ../src/gui/callbacks.c:3909 +msgid "NOT USING FLAT: cannot open the file\n" +msgstr "FLAT NON UTILISÉ : impossible d'ouvrir le fichier\n" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:3996 msgid "Error in preprocessing." msgstr "Erreur dans le pré-traitement." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4061 #, c-format msgid "Selected %s sequence %s..." msgstr "Séquence %s sélectionnée %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4130 msgid "Searching for sequences in the current working directory..." msgstr "Cherche des séquences dans le répertoire de travail..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"Le gradient ne peut pas être extrait de lui même. Veuillez cliquer sur " -"\"Montrer Image\"\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "" -"Appliquer la correction sur l'image en cliquant sur \"Montrer Image\"\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Soustraction effectuée ...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "Division effectuée ...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Veuillez d'abord charger l'image.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Le fichier stars.lst a été créé.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4417 ../src/gui/callbacks.c:4465 msgid "Current selection is too large" msgstr "La sélection courante est trop grande" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4418 ../src/gui/callbacks.c:4466 msgid "To determine the PSF, please make a selection around a star." msgstr "" "Afin de déterminer la PSF, veuillez faire une sélection autour d'une étoile." -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4430 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6322,32 +6470,106 @@ "RMSE :\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4447 msgid "PSF for the sequence only applies on sequences" msgstr "La PSF de la séquence ne s'applique que sur des séquences" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4448 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" "Veuillez charger une séquence avant d'essayer d'appliquer une PSF de la " "séquence." -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4512 msgid "FFT does not work with sequences !\n" msgstr "La FFT ne marche pas avec des séquences !\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4518 msgid "Open an image first !\n" msgstr "Veuillez d'abord ouvrir une image !\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4539 msgid "Select magnitude and phase before !\n" msgstr "Veuillez d'abord sélectionner des fichiers de module et de phase !\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Canal gris" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "_Ne plus afficher cette fenêtre" +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "Fichiers FITS (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "Fichiers bruts d'APN" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Fichiers graphiques (*.bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Fichiers Netpbm (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "Fichier PIC d'IRIS (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "Fichiers SER (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Fichiers Film (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Tous fichiers supportés" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Étalonnage des couleurs par photométrie" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Applique la photométrie d'ouverture à %d étoiles.\n" + +#: ../src/gui/photometric_cc.c:285 +#, c-format +msgid "%d stars excluded from the calculation.\n" +msgstr "%d étoiles exclues du calcul.\n" + +#: ../src/gui/photometric_cc.c:288 +msgid "No valid stars found.\n" +msgstr "Aucune étoile valide trouvée.\n" + +#: ../src/gui/photometric_cc.c:432 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalisation sur le canal %s.\n" + +#: ../src/gui/photometric_cc.c:432 +msgid "red" +msgstr "rouge" + +#: ../src/gui/photometric_cc.c:432 +msgid "green" +msgstr "vert" + +#: ../src/gui/photometric_cc.c:432 +msgid "blue" +msgstr "bleu" + #: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Images" @@ -6386,48 +6608,108 @@ msgid "Quality" msgstr "Qualité" -#: ../src/gui/plot.c:724 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Rondeur de l'étoile (1 = rond parfait)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "Magnitude de l'étoile (absolue)" -#: ../src/gui/plot.c:736 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "Magnitude de l'étoile (relative, utilisez \"setmag\")" -#: ../src/gui/plot.c:739 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Valeur de fond du ciel" -#: ../src/gui/plot.c:742 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Position de l'étoile sur l'axe X" -#: ../src/gui/plot.c:745 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Position de l'étoile sur l'axe Y" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "Temps d'exécution" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 #, c-format -msgid "%s: %d min %.2d s.\n" -msgstr "%s: %d min %.2d s.\n" +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "%s: %d h %02d min %.2d s.\n" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/progress_and_log.c:263 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/progress_and_log.c:267 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Les étoiles doivent avoir les mêmes unités." + +#: ../src/gui/PSF_list.c:228 +#, c-format +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"Moyenne du PSF Gaussien\n" +"\n" +"N:\t%d étoiles\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" + +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Moyenne des données stellaires" + +#: ../src/gui/PSF_list.c:261 +#, c-format +msgid "%d stars" +msgstr "%d étoiles" + +#: ../src/gui/PSF_list.c:266 +#, c-format +msgid "Star %d of %d" +msgstr "Étoile %d sur %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Le fichier stars.lst a été créé.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "Fichiers liste d'étoiles (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Veuillez d'abord charger l'image.\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6440,64 +6722,60 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "Fichiers BMP (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "Fichiers JPEG (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "Fichiers PNG (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "Fichiers TIFF (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:513 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Enregistrer BMP" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:471 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "Enregistrer PNG" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:492 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Enregistrer Netpbm" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:533 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Enregistrer JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:449 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Enregistrer TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:425 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "Enregistrer FITS" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Enregistrer" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Enregistrer le fichier" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "L'enregistrement du fichier a échoué. Vérifier les log." -#: ../src/gui/save_dialog.c:391 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Ce type de fichier n'est pas pris en charge. Ne devrait pas arriver" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, c-format -msgid "Searching scripts in: %s...\n" -msgstr "Recherche de scripts dans : %s ...\n" +msgid "Searching scripts in: \"%s\"...\n" +msgstr "Recherche de scripts dans : \"%s\" ...\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "Chargement du script %s\n" @@ -6510,16 +6788,16 @@ msgid "Please go to %d)\n" msgstr "Séquence chargée : %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d de %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "Impossible de charger l'image %d de la séquence %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Impossible de charger l'image %d de la séquence SER %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Impossible de charger l'image %d de la séquence AVI %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Impossible de charger l'image partielle %d de la séquence %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "Cette opération n'est pas supportée pour les séquences AVI\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "Cette opération n'est pas supportée pour les séquences internes\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1129 #, c-format msgid "Closing sequence %s\n" msgstr "Fermeture de la séquence %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1234 msgid "internal sequence" msgstr "séquence interne" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1315 msgid "Processing..." msgstr "En cours..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1441 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "Aucune étoile trouvée dans la région de l'image %d autour de %d, %d " "(utilisez une zone plus large ?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1445 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" @@ -7269,7 +7575,7 @@ "Aucune étoile trouvée dans la région de l'image %d autour de %d, %d " "(utilisez l'option 'Suivre le mouvement de l'étoile' ?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1494 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -7277,7 +7583,7 @@ "L'analyse des étoiles ne donne pas de résultat cohérent lorsque la durée " "d'exposition change au cours de la séquence.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1568 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7285,7 +7591,7 @@ "L'analyse PSF de la séquence utilise une zone de sélection glissante centrée " "sur l'étoile trouvée précédemment; ceci désactive la parallélisation.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1570 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -7294,17 +7600,17 @@ "d'enregistrement pour déplacer la zone de sélection de chaque image; ceci " "est compatible avec la parallélisation.\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1592 msgid "PSF on area" msgstr "PSF de la zone" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Utilise les informations d'alignement du canal %d pour exporter la séquence\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7312,7 +7618,7 @@ "L'exportation mp4 n'est pas supportée car siril n'a pas été compilé avec le " "support ffmpeg.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7320,41 +7626,41 @@ "Le film doit avoir une largeur multiple de 32 et une hauteur paire, " "sélection redimensionnée.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "l'image %d est exclue de l'exportation\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Traitement de l'image " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Exportation : impossible de lire les images, abandon\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "L'exportation de la séquence a échoué. Vérifier les log." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "Échec de l'exportation de la séquence\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "Séquence exportée avec succès." -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "Séquence exportée avec succès.\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "" "La largeur ou la hauteur ne peuvent être nulle. Aucun redimensionnement.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Recadrer selon la sélection" @@ -7396,100 +7702,97 @@ "Créé un fichier SER d'une précision supérieur à 16-bit n'est pas encore " "implémenté\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "La séquence SER est créée avec aucune image.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "Compactage du fichier SER ...\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "Fichier SER créé : %s\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Ce type de motif de Bayer n'est pas pris en charge.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "Pour les images dématricées, le canal doit être R, V ou B (0 à 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Mémoire insuffisante - abandon\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "Essaye d'ajouter une image de taille différente dans le fichier SER\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "" "Erreur à l'ouverture de l'image %s : fichier non trouvé ou non supporté.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "Échec de l'ouverture de %s.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:179 ../src/io/single_image.c:185 msgid "Error opening file" msgstr "Erreur lors de l'ouverture du fichier" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:180 msgid "This file could not be opened because its extension is not supported." msgstr "Impossible d'ouvrir le fichier à cause d'une extension non supportée." -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:186 msgid "" "There was an error when opening this image. See the log for more information." msgstr "Impossible d'ouvrir cette image. Vérifier les log." -#: ../src/main.c:237 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "option inconnue '%c'\n" - -#: ../src/main.c:261 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "%s. Recherche dans un autre répertoire...\n" -#: ../src/main.c:267 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "" "%s est introuvable ou contient des erreurs, impossible d'afficher " "l'interface graphique.\n" -#: ../src/main.c:288 +#: ../src/main.c:301 +#, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "option inconnue '%c'\n" + +#: ../src/main.c:328 #, c-format msgid "Welcome to %s v%s\n" msgstr "Bienvenue dans %s v%s\n" -#: ../src/main.c:358 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "Impossible de charger ou de créer le fichier de paramètres.\n" #. Get CPU number and set the number of threads -#: ../src/main.c:406 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "Calcul parallèle %s : Utilisation de %d processeur(s).\n" -#: ../src/main.c:408 +#: ../src/main.c:373 msgid "enabled" msgstr "activé" -#: ../src/main.c:410 +#: ../src/main.c:375 msgid "disabled" msgstr "désactivé" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "Déconvolution appliquée" @@ -7504,133 +7807,133 @@ "Siril ne peut pas effectuer l'alignement sans information de date dans le " "fichier." -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "Impossible de charger l'image de référence\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 msgid "Moving object registration" msgstr "Alignement des objets en mouvement" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "" "Recalcule les informations d'alignement déjà existantes pour ce canal\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Image de Référence :\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "%d étoiles trouvées dans l'image référence, canal #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "Il n'y a pas assez d'étoiles dans l'image de référence pour procéder à un " "alignement\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Image de référence : Limitée aux %d étoiles les plus brillantes\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:461 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx :%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx :%*.2f %s\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:462 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy :%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy :%*.2f %s\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Image %d :\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "%d étoiles trouvées dans l'image %d, canal #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "Pas assez d'étoiles. Image %d écartée\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Image cible : Limitée aux %d étoiles les plus brillantes\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "Impossible d'effectuer un alignement sur les étoiles : essai #%d. Image %d " "écartée\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Alignement fini.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "%d images traitées.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Total : %d en échec, %d alignées.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Alignement interrompu.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 msgid "Global star registration" msgstr "Alignement global sur les étoiles" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, c-format msgid "Matching stars in image %d: done\n" msgstr "Correspondance des étoiles dans l'image %d : finie\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "échelleX :%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "échelleY :%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "échelle :%*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:454 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "rotation :%+*.2f deg\n" +msgid "rotation:%+*.3f deg\n" +msgstr "rotation :%+*.3f deg\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx :%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy :%+*.2f px\n" @@ -7707,100 +8010,164 @@ "chaque image et du décalage global de l'objet entre la première et la " "dernière image." -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Alignement sur une étoile (ciel profond)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Alignement par motif de l'image (planétaire - disque entier)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "Coefficient de corrélation (planétaire - surfaces)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" msgstr "Alignement Comète/Astéroïde" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Nouvelle méthode d’alignement : %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "Alignement DFT : charge et traite l'image de référence" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "Alignement : impossible de charger la première image, abandon.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, c-format msgid "Register: processing image %s" msgstr "Alignement : traitement de l'image %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "Meilleure image : #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" msgstr "" "Alignement PSF : impossible de calculer la PSF, pour l'image de référence au " "moins\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "Meilleure image : #%d avec fwhm=%.3g.\n" -#: ../src/registration/registration.c:575 +#: ../src/registration/registration.c:571 #, c-format msgid "Cannot perform ECC alignment for frame %d\n" msgstr "Impossible de procéder à l'alignement ECC pour l'image %d\n" -#: ../src/registration/registration.c:628 -#, c-format -msgid "%d frames were excluded.\n" -msgstr "%d images sont exclues.\n" +#: ../src/registration/registration.c:623 +#, c-format +msgid "%d frames were excluded.\n" +msgstr "%d images sont exclues.\n" + +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 +msgid "Select images in the sequence." +msgstr "Sélectionner des images dans la séquence." + +#: ../src/registration/registration.c:726 +msgid "Select an area in image first, and select images in the sequence." +msgstr "" +"Sélectionner une zone dans l'image et sélectionner des images dans la " +"séquence." + +#: ../src/registration/registration.c:732 +msgid "Select an area in image first." +msgstr "Sélectionner une zone dans l'image." + +#: ../src/registration/registration.c:858 +msgid "" +"All prerequisites are not filled for registration. Select a rectangle " +"first.\n" +msgstr "" +"Tous les prérequis ne sont pas remplis pour l'alignement. Sélectionner un " +"rectangle d'abord.\n" + +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Ouverture de l'image %s pour l'empilement" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "" +"Erreur d'empilement : les images avec des dimensions > 3 ne sont pas " +"supportées\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "Erreur d'empilement : les images sont de tailles différentes\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "" +"Erreur d'empilement : les images d'entrée ont une précision différente\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Le super-pixel n'est pas géré pour l'empilement des séquences SER\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"L'empilement avec rejet est seulement supporté pour les images FITS et les " +"séquences SER.\n" +"Utiliser l'empilement par somme à la place.\n" -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 -msgid "Select images in the sequence." -msgstr "Sélectionner des images dans la séquence." +#: ../src/stacking/median_and_mean.c:195 +#, c-format +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "Nous avons %d blocs parallèles de taille %d (+%d) pour l'empilement.\n" -#: ../src/registration/registration.c:730 -msgid "Select an area in image first, and select images in the sequence." +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" msgstr "" -"Sélectionner une zone dans l'image et sélectionner des images dans la " -"séquence." +"Un bug a été trouvé. Impossible d'éclater la zone de l'image en bloc " +"nécessaire au traitement.\n" -#: ../src/registration/registration.c:736 -msgid "Select an area in image first." -msgstr "Sélectionner une zone dans l'image." +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Erreur pendant la lecture d'une zone de l'image\n" -#: ../src/registration/registration.c:861 +#: ../src/stacking/normalization.c:102 +#, c-format msgid "" -"All prerequisites are not filled for registration. Select a rectangle " -"first.\n" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Tous les prérequis ne sont pas remplis pour l'alignement. Sélectionner un " -"rectangle d'abord.\n" +"Votre système ne dispose pas de suffisamment de mémoire pour normaliser les " +"images en vue de l’empilement (%d Mo disponibles pour %d Mo requis)\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "Pas assez d'espace disque" +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"Avec les limites actuelles de la mémoire (%.2f) et du thread (%d), vous " +"pouvez utiliser jusqu'à %d thread(s) pour la normalisation de la séquence\n" -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "Calcul de la normalisation...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" @@ -7808,175 +8175,104 @@ "L'image de référence n'est pas dans le jeu d'images sélectionnées. Veuillez " "choisir une autre image de référence.\n" -#: ../src/stacking/normalization.c:118 -msgid "Normalization skipped.\n" -msgstr "Normalisation ignorée.\n" - -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 msgid "Normalization failed." msgstr "Échec de la normalisation." -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "" -"L'empilement médian est seulement supporté pour les images FITS et les " -"séquences SER.\n" -"Utiliser l'empilement par somme à la place.\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "Sélectionner au moins deux images pour l'empilement. Abandon.\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Empilement médian : ouverture de l'image %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Erreur dans l'empilement : les images avec des dimensions > 3 ne sont pas " -"supportées\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "Erreur dans l'empilement : les images ont des tailles différentes\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "Le super-pixel n'est pas géré pour l'empilement des séquences SER\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "Erreur dans l'empilement : séquence non initialisée\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Votre version de cfitsio ne supporte pas le multi-threading\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Traite la séquence comme une séquence RVB\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "Nous avons %d blocs parallèles de taille %d (+%d) pour l'empilement.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Un bug a été trouvé. Impossible d'éclater la zone de l'image en bloc " -"nécessaire au traitement.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Débute l'empilement...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 msgid "Median stacking in progress..." msgstr "Empilement médian en cours..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Erreur pendant la lecture d'une zone de l'image\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Finalisation de l'empilement..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "Empilement médian en échec. Vérifier les log." -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 msgid "Stacking failed.\n" msgstr "Échec de l'empilement.\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 msgid "Median stacking complete." msgstr "Empilement médian terminé." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "Empilement médian fini. %d images ont été empilées.\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "Aucune image n'est sélectionnée pour l'empilement. Veuillez en sélectionner " "au moins 2. Abandon.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 msgid "Stacking: could not read frame, aborting\n" msgstr "Empilement : impossible de lire les images abandon\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "" "Empilement : des images de la séquence n'ont pas les mêmes dimensions\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "Empilement en échec. Vérifier les log." -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Empilement terminé." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"L'empilement avec rejet est seulement supporté pour les images FITS et les " -"séquences SER.\n" -"Utiliser l'empilement par somme à la place.\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "Empilement avec rejet : ouverture de l'image %s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Erreur dans l'empilement : les images avec des dimensions > 3 ne sont pas " -"supportées\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "Erreur dans l'empilement : les images ont des tailles différentes\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "Erreur dans l'empilement : séquence non initialisée\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 msgid "Rejection stacking in progress..." msgstr "Empilement avec rejet en cours..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Rejet des pixels dans le canal #%d : %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "Empilement avec rejet en échec. Vérifier les log." -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 msgid "Rejection stacking complete." msgstr "Empilement avec rejet fini." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -7989,219 +8285,499 @@ "d'Exploitation) ou de convertir la séquence FITS en séquence SER avant " "l'empilement, ou encore d'empiler avec la méthode \"somme\".\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "" "L'empilement utilise les données d'alignement du canal %d si elles " "existent.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Empilement : en cours...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Intégration de %d images : \n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Combinaison ............... moyenne\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Combinaison ............... somme normalisée\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "Combinaison ............... médiane\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Combinaison ............... minimum\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Combinaison ............... maximum\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Combinaison ............... aucune\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "aucune" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 msgid "additive" msgstr "additive" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative" msgstr "multiplicative" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 msgid "additive + scaling" msgstr "additive + mise à l'échelle" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "multiplicative + mise à l'échelle" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalisation ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Rejet des pixels .......... aucun\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Paramètres de rejet ....... aucun\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 msgid "percentile clipping" msgstr "percentile clipping" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 msgid "sigma clipping" msgstr "sigma clipping" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 msgid "median sigma clipping" msgstr "sigma clipping médian" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 msgid "Winsorized sigma clipping" msgstr "Winsorized sigma clipping" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 msgid "linear fit clipping" msgstr "linear fit clipping" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Rejet des pixels .......... %s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Paramètres de rejet ....... bas=%.3f haut=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 msgid "Stacking result image" msgstr "Image résultant de l'empilement" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 msgid "Unsaved stacking result" msgstr "Résultat non enregistré" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "Utilisation de %d Mo maximum pour l'empilement\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"L'image de référence n'est pas dans le jeu d'images sélectionnées. Afin " -"d'éviter cette situation, veuillez la modifier ou changer les paramètres de " -"filtrage.\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Utilise l'image %d comme image de référence temporaire\n" +msgid "Stacking %d images of the %d of the sequence" +msgstr "Empilement de %d images sur %d de la séquence" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Attention: certaines images n'ont pas d'informations FWHM disponibles pour " -"la sélection des meilleures images, utilise uniquement les données " -"disponibles (%d images sur %d).\n" +"Votre système ne dispose pas de suffisamment de mémoire pour mettre à " +"l'échelle les images pour l’opération `drizzle' (%d Mo disponible pour %d Mo " +"requis)\n" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Erreur dans le tri des images de la séquence en fonction de la qualité : " -"certaines images n'ont pas les informations nécessaires sur le canal #%d.\n" +"Avec les limites actuelles de la mémoire (%.2f) et du thread (%d), vous " +"pouvez utiliser jusqu'à %d thread(s) pour la mise à l'échelle de la " +"séquence.\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "Empiler toutes les images de la séquence (%d)\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "" +"L'empilement se fera sans mise à l'échelle (désactivation du 'drizzle')\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "Empiler seulement les images sélectionnées dans la séquence (%d)\n" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Mise à l'échelle de la séquence pour l’empilement" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" -"Empiler les images de la séquence avec une FWHM inférieure ou égale à %g " -"(%d)\n" +#~ msgid "Loading and pre-processing image %d/%d (%s)" +#~ msgstr "Chargement et pré-traitement de l'image %d/%d (%s)" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Basé sur la FWHM < %.2f (%d images)" +#~ msgid "Could not read one of the raw files: %s. Aborting preprocessing." +#~ msgstr "" +#~ "Impossible de lire un des fichiers raw : %s. Abandon du pré-traitement." -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "" -"Empiler les images de la séquence avec une rondeur supérieure ou égale à %g " -"(%d)\n" +#~ msgid "Size of the annulus for background level measurement" +#~ msgstr "Taille de l'anneau pour la mesure du fond de ciel" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Basé sur la rondeur > %.2f (%d images)" +#~ msgid "Normalization skipped.\n" +#~ msgstr "Normalisation ignorée.\n" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "Basé sur la rondeur" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "La mémoire utilisée correspond à cette valeur multipliée par le nombre " +#~ "totale de mémoire disponible.\n" +#~ "ATTENTION : Réduire le ratio de mémoire allouée aux calculs dégrade les " +#~ "performances globales." -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "" -"Empiler les images de la séquence avec une qualité supérieure ou égale à %g " -"(%d)\n" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "images manuellement sélectionnées dans la séquence" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Basé sur la qualité > %.2f (%d images)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "meilleures images, automatiquement sélectionnées à partir des " +#~ "informations d'alignement (PSF - FWHM)" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Basé sur la qualité" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "meilleures images, automatiquement sélectionnées à partir des " +#~ "informations d'alignement (PSF - rondeur)" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Mise à l'échelle de la séquence pour l’empilement" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "meilleures images, automatiquement sélectionnées à partir des " +#~ "informations d'alignement (Planétaire)" + +#~ msgid "Based on FWHM" +#~ msgstr "Basé sur la FWHM" + +#~ msgid "Stack best:" +#~ msgstr "Empiler les meilleures :" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "Le type de séquence proposée est inconnu (%s).\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "L'empilement médian est seulement supporté pour les images FITS et les " +#~ "séquences SER.\n" +#~ "Utiliser l'empilement par somme à la place.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Empilement médian : ouverture de l'image %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Empilement avec rejet : ouverture de l'image %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Erreur dans l'empilement : les images avec des dimensions > 3 ne sont pas " +#~ "supportées\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "Erreur dans l'empilement : les images ont des tailles différentes\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Erreur dans le tri des images de la séquence en fonction de la qualité : " +#~ "certaines images n'ont pas les informations nécessaires sur le canal #" +#~ "%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Basé sur la FWHM < %.2f (%d images)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Basé sur la rondeur > %.2f (%d images)" + +#~ msgid "Based on roundness" +#~ msgstr "Basé sur la rondeur" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Basé sur la qualité > %.2f (%d images)" + +#~ msgid "Based on quality" +#~ msgstr "Basé sur la qualité" + +#~ msgid "File Informations" +#~ msgstr "Informations du fichier" + +#~ msgid "Type: " +#~ msgstr "Type : " + +#~ msgid "Normal" +#~ msgstr "Normal" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Polaire (Module + Phase)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "ATTENTION : ces champs sont automatiquement lus à partir du fichier FITS " +#~ "à l'ouverture s'ils existent. Les définir manuellement ici ne fonctionne " +#~ "que pour l'image chargée." + +#~ msgid "Camera and Optics" +#~ msgstr "Imageur et Optiques" + +#~ msgid "Camera & Optics" +#~ msgstr "Imageur & Optiques" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Le répertoire de travail sauvegardé n'est plus accessible. Le répertoire " +#~ "par défaut vient d'être défini comme nouveau répertoire de travail\n" + +#~ msgid "BMP images, " +#~ msgstr "Images BMP, " + +#~ msgid "autoStretch" +#~ msgstr "auto ajustement" + +#~ msgid "Negative view" +#~ msgstr "Vue négative" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "V" + +#~ msgid "Memory Managment" +#~ msgstr "Gestion de la mémoire" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Thème GTK sombre\n" +#~ "(redémarrage requis)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Certaines parties de Siril ont des couleurs non standards. Avec un thème " +#~ "sombre, cela peut devenir illisible. Cocher cette option va modifier les " +#~ "couleurs non standards pour s'adapter à ce genre de thème." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Ratio de la mémoire utilisée : " + +#~ msgid "Siril message" +#~ msgstr "Message de Siril" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Les images n'ont pas la même taille (l = %d|%d, h = %d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "S'assurer de la compatibilité des images\n" +#~ "stockées de haut en bas (KSTARS/EKOS, \n" +#~ "PixInsight, et probablement d'autres ...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Si cette option est cochée, Siril va essayer d'assurer la compatibilité " +#~ "avec KSTARS (et PixInsight et autres) en lisant les images FITS de haut " +#~ "en bas." + +#~ msgid "Manual" +#~ msgstr "Manuelle" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "Cliquer sur l'image pour créer un échantillon." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril créé les échantillons automatiquement." + +#~ msgid "Clear background samples." +#~ msgstr "Effacer les échantillons." + +#~ msgid "Draw samples" +#~ msgstr "Dessiner échantillons" + +#~ msgid "Type of Extraction" +#~ msgstr "Type d'extraction" + +#~ msgid "Box radius:" +#~ msgstr "Rayon de l'échantillon :" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "C'est la distance, en pixels, entre 2 échantillons adjacents." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "C'est le rayon, en pixels, d'un échantillon. Il faut multiplier par 2 " +#~ "pour avoir la longueur de l'échantillon." + +#~ msgid "Sample Generation" +#~ msgstr "Génération d'Échantillons" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Ce paramètre indique la tolérance du rejet local de l'échantillon, en " +#~ "unité sigma." + +#~ msgid "Local Rejection" +#~ msgstr "Rejet local" + +#~ msgid "Deviation: " +#~ msgstr "Déviation : " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "Tolérance du rejet global de l'échantillon, en unité sigma." + +#~ msgid "Unbalance:" +#~ msgstr "Déséquilibre :" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Il s'agit du facteur multiplié par le paramètre de déviation afin " +#~ "d'inclure plus de pixels sombres dans l'évaluation gradient." + +#~ msgid "Global Rejection" +#~ msgstr "Rejet global" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "C'est le nombre d'échantillons dans une ligne." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "C'est le coefficient multiplié par le paramètre de déviation afin " +#~ "d'inclure plus de pixels sombre dans l'évaluation du gradient" + +#~ msgid "Interpolation" +#~ msgstr "Interpolation" + +#~ msgid "Show Image" +#~ msgstr "Montrer l'image" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Cliquer sur ce bouton pour montrer l'image." + +#~ msgid "Show Background" +#~ msgstr "Montrer le Gradient" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Cliquer sur ce bouton pour montrer le gradient calculé." + +#~ msgid "Compute" +#~ msgstr "Calculer" + +#~ msgid "Apply" +#~ msgstr "Appliquer" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Applique la correction sélectionnée." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Canal #%d : extraction de gradient terminée.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Extraction du gradient : en cours...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Échantillons insuffisants.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Le gradient ne peut pas être extrait de lui même. Veuillez cliquer sur " +#~ "\"Montrer Image\"\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "" +#~ "Appliquer la correction sur l'image en cliquant sur \"Montrer Image\"\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Soustraction effectuée ...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "Division effectuée ...\n" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#~ msgid "Star detection" +#~ msgstr "Détection d'étoiles" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2018 team free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "Recadre l'image selon le rectangle de sélection précédemment défini" #~ msgid "page 1" #~ msgstr "page 1" @@ -8260,37 +8836,6 @@ #~ msgid "4" #~ msgstr "4" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "Luminosité" - -#~ msgid "1" -#~ msgstr "1" - -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Cyril Richard " - -#~ msgid "About siril" -#~ msgstr "À propos de siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Programme de (pré-)traitement des images astronomiques" - -#~ msgid "Visit the Siril website" -#~ msgstr "Visiter le site de Siril" - -#~ msgid "Not enough stars.\n" -#~ msgstr "Pas assez d'étoiles.\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "" #~ "La conversion à partir d'un fichier SER n'est pas encore supportée\n" @@ -8410,9 +8955,6 @@ #~ msgid "NetPBM..." #~ msgstr "NetPBM..." -#~ msgid "JPEG Files" -#~ msgstr "Fichiers JPEG" - #~ msgid "TIFF Files" #~ msgstr "Fichiers TIFF" diff -Nru siril-0.9.10/po/it_IT.po siril-0.9.11/po/it_IT.po --- siril-0.9.10/po/it_IT.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/it_IT.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,9 +7,9 @@ msgstr "" "Project-Id-Version: Siril in Italiano\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-14 09:33+0100\n" -"PO-Revision-Date: 2019-01-04 17:56+0100\n" -"Last-Translator: Sonia Zorba \n" +"POT-Creation-Date: 2019-04-29 17:17+0200\n" +"PO-Revision-Date: 2019-05-01 01:18+0200\n" +"Last-Translator: Luca Benassi \n" "Language-Team: Italian \n" "Language: it_IT\n" "MIME-Version: 1.0\n" @@ -219,10 +219,6 @@ msgstr "Registrazione ad una stella (cielo profondo)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Ruota di 90 gradi in senso antiorario" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -235,70 +231,74 @@ "si usa lo stimatore del gradiente, quindi i valori alti sono i migliori. Le " "colonne X e Y sono la traslazione relativa all'immagine di riferimento." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "file" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "sel" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "qualità" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:71 msgid "Red" msgstr "Rosso" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "file rosso corrente" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1926 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Canale rosso" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:72 msgid "Green" msgstr "Verde" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "file verde corrente" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Canale verde" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:73 msgid "Blue" msgstr "Blu" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "Il valore memorizzato nei pixel puntati apparirà qui." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "file blu corrente" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Canale blu" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Ruota di 90 gradi in senso antiorario" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Ruota di 90 gradi in senso orario" @@ -322,8 +322,8 @@ "registrazione" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Visuale in negativo" +msgid "Switch to normal and negative view" +msgstr "Cambia da visuale normale a visuale in negativo" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -414,252 +414,61 @@ msgid "User" msgstr "Utente" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Estrazione dello sfondo" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Plate Solver dell'immagine" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Chiudi la finestra." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Interpolazione polinomiale" +msgid "Start the plate solving algorithm." +msgstr "Avvia l'algoritmo di plate solving." #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Manuale" +msgid "Start the photometric color calibration algorithm." +msgstr "Avvia l'algoritmo fotometrico per la calibrazione del colore." #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "Devi cliccare sull'immagine per prendere i tuoi campioni dello sfondo." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Automatico" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril prende automaticamente i campioni dello sfondo." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Pulisci campioni dello sfondo." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Disegna campioni" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Tipo di estrazione" - -#: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "Raggio del riquadro:" - -#: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "Separazione del riquadro: " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "Questa è la distanza in pixel tra due riquadri campione dello sfondo." - -#: ../src/gui/siril3.glade.h:100 -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"Questo è il raggio in pixel di un riquadro campione dello sfondo. Moltiplica " -"per 2 per ottenere la lunghezza del riquadro." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Generazione di campioni" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Tolleranza: " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Questo parametro indica la tolleranza dello scarto del campione locale, in " -"unità di sigma." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Scarto locale" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Deviazione: " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "Tolleranza dello scarto del campione globale, in unità di sigma." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Sbilanciamento:" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Questo è il fattore moltiplicato per il parametro di deviazione allo scopo " -"di includere più pixel scuri nella valutazione dello sfondo." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Rejection globale" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Campioni per riga: " - -#: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "Questo è il numero di riquadri campione in una riga." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"Questo è il fattore moltiplicato per il parametro di deviazione allo scopo " -"di includere più pixel scuri nella valutazione dello sfondo" - -#: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "Ordine del grado: " - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Scegli il grado della funzione polinomiale usata nel fit.\n" -"Di default questo valore è 4.\n" -"Maggiore è il grado, più forte sarà la rimozione del gradiente." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Interpolazione" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Mostra immagine" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Clicca su questo pulsante per visualizzare l'immagine." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Mostra sfondo" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Clicca su questo pulsante per visualizzare lo sfondo generato." - -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." -msgstr "" -"Scegli il tipo di correzione che vuoi applicare:\n" -"Sottrazione: usata principalmente per correggere effetti additivi, come i " -"gradienti causati dall'inquinamento luminoso o dalla Luna.\n" -"Divisione: usata principalmente per correggere fenomeni moltiplicativi, come " -"la vignettatura o l'assorbimento atmosferico differenziale. Tuttavia, questo " -"tipo di operazione dovrebbe essere fatta dalla correzione master-flat." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Sottrazione" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "Divisione" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Correzione" - -#: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "Calcola" - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "Questo calcolerà lo sfondo sintetico." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Applica" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "Questo applicherà la correzione selezionata." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "Plate Solver dell'immagine" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "Avvia l'algoritmo di plate solving." - -#: ../src/gui/siril3.glade.h:134 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" "Coordinate equatoriali iniziali. I valori di input devono essere all'interno " "dell'immagine." -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 msgid "0" msgstr "0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "Ascensione retta: " -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 msgid "Declination: " msgstr "Declinazione: " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "S" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "" "Questo pulsante è selezionato per declinazioni negative (emisfero sud)." -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" "Inserisci l'identificativo o il nome dell'oggetto che deve essere " "all'interno dell'immagine." -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 msgid "Start searching." msgstr "Inizia a cercare." -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -670,25 +479,25 @@ "valore in input non necessita di essere estremamente accurato, cerca di " "fornire un valore con un errore che non superi il 20%." -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" "Dimensione del pixel in micrometri. Si assume che l'immagine abbia pixel " "quadrati." -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 msgid "Focal distance (mm):" msgstr "Distanza focale (mm):" -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 msgid "Pixel size (µm):" msgstr "Dimensione del pixel (µm):" -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 msgid "Resolution: " msgstr "Risoluzione: " -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." @@ -696,11 +505,11 @@ "La risoluzione dell'immagine che viene determinata automaticamente dalla " "focale e dalla dimensione del pixel." -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "Ottieni metadati dall'immagine" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." @@ -708,23 +517,23 @@ "Clicca su questo pulsante per ottenere i valori di focale e dimensione del " "pixel dall'header del file, se esistono." -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "Resolver" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Nome" -#: ../src/gui/siril3.glade.h:153 -msgid "Image Parameters" -msgstr "Parametri dell'immagine" +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Parametri dell'immagine" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "Mag limite del catalogo: " -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." @@ -732,11 +541,11 @@ "Massima magnitudine stellare usata nelle richieste al catalogo. Più ampio è " "il campo, più basso è il valore." -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 msgid "Auto" msgstr "Auto" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." @@ -744,18 +553,19 @@ "La magnitudine limite è determinata automaticamente usando l'approssimazione " "del Campo di Vista." -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "Catalogo di Stelle Online: " -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -766,24 +576,27 @@ "stellar magnitude 6.5 or brighter, which is roughly every star visible to " "the naked eye from Earth. The catalog contains 9,110 objects." msgstr "" -"Seleziona il catalogo online che si vuole usare per comparare l'immagine.\n" +"Selezionare il catalogo online che si vuole usare per confrontare " +"l'immagine.\n" "* Il catalogo TYCHO-2 contiene posizioni, moti propri e dati fotometrici a " "due colori per 2.539.913 delle stelle più luminose della Via Lattea.\n" -"* NOMAD è una semplice unione di dati provenienti dai cataloghi Hipparcos, " -"Tycho-2, UCAC-2 e USNO-B1, con l'aggiunta di informazioni fotometriche dalla " -"final release del catalogo di sorgenti puntiformi 2MASS.\n" +"* NOMAD è una semplice unione di dati astronometrici e fotometrici " +"provenienti dai cataloghi Hipparcos, Tycho-2, UCAC2, Yellow-Blue 6 e USNO-" +"B1, con l'aggiunta di 2MASS nel vicino infrarosso. Questa mole di dati di " +"quasi 100 GB contiene dati astronometrici e fotometrici per quasi 1.1 " +"miliardi di stelle.\n" "* Gaia Data Release 2 è stato rilasciato il 25 aprile 2018. La soluzione " -"astrometrica a 5 parametri, posizioni nel cielo (α, δ), parallassi e moti " +"astronometrica a 5 parametri, posizioni nel cielo (α, δ), parallassi e moti " "propri vengono forniti per più di 1,3 miliardi di sorgenti, con una " "magnitudine limite di G = 21.\n" -"* PPMXL è un catalogo di posizioni, moti propri, 2-MASS e fotometria ottica " +"* PPMXL è un catalogo di posizioni, moti propri, 2MASS e fotometria ottica " "di 900 milioni di stelle e galassie.\n" "* Il Bright Star Catalogue è un catalogo di stelle che elenca tutte le " -"stelle di magnitudine 6,5 o più luminose, che sono approssimativamente tutte " -"le stelle visibili ad occhio nudo dalla Terra. Il catalogo contiene 9.110 " +"stelle di magnitudine 6,5 o superiore, che sono approssimativamente tutte le " +"stelle visibili ad occhio nudo dalla Terra. Il catalogo contiene 9.110 " "oggetti." -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." @@ -791,15 +604,15 @@ "Il catalogo online viene determinato automaticamente usando " "l'approssimazione del Campo di Vista e la magnitudine." -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "Parametri del Catalogo" +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Parametri del Catalogo" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 msgid "Manual detection" msgstr "Rilevazione manuale" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " @@ -810,15 +623,86 @@ "abbastanza stelle. Si prega di scegliere le stelle più luminose " "nell'immagine." -#: ../src/gui/siril3.glade.h:169 -msgid "Star detection" -msgstr "Rilevamento stella" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Rilevamento stella" -#: ../src/gui/siril3.glade.h:170 +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Rilevamento automatico" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Deselezionare il pulsante se si vuole selezionare lo sfondo di riferimento " +"da soli. Può essere utile quando la nebulosa copre quasi interamente " +"l'immagine." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "coordinate x dell'inizio della selezione dello sfondo" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "coordinate y dell'inizio della selezione dello sfondo" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Larghezza della selezione dello sfondo" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Altezza della selezione dello sfondo" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Area selezionata" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Usa selezione attuale" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Devi specificare una selezione che rappresenti lo sfondo reale " +"dell'immagine, tentando di escludere tutte le stelle o gli altri oggetti " +"stellari." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Sfondo di riferimento" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "" +"Questa opzione determina il canale utilizzato per normalizzare i fattori." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "Sul più alto" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "Sul centrale" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "Sul più basso" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Normalizzazione Channel Factor" + +#: ../src/gui/siril3.glade.h:142 msgid "Median Filter" msgstr "Filtro mediano" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:143 msgid "" "Kernel Size. This is the odd size of the neighborhood considered for each " "pixel." @@ -826,11 +710,11 @@ "Dimensione del nucleo. La dimensione dispari della zona considerata per ogni " "pixel." -#: ../src/gui/siril3.glade.h:172 +#: ../src/gui/siril3.glade.h:144 msgid "Modulation:" msgstr "Modulazione:" -#: ../src/gui/siril3.glade.h:173 +#: ../src/gui/siril3.glade.h:145 msgid "" "Modulation parameter set in the [0, 1] range.\n" "When this parameter is equal to 1, no modulation is applied.\n" @@ -840,15 +724,15 @@ "Quando questo parametro è uguale a 1 nessuna modulazione è applicata.\n" "Se il parametro è nullo non viene applicato alcun filtro." -#: ../src/gui/siril3.glade.h:176 +#: ../src/gui/siril3.glade.h:148 msgid "Kernel Size: " msgstr "Dimensione del nucleo: " -#: ../src/gui/siril3.glade.h:177 +#: ../src/gui/siril3.glade.h:149 msgid "Iterations:" msgstr "Iterazioni:" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -858,73 +742,176 @@ "Questo è utile quando il parametro di modulazione è diverso da 1, aiutando " "l'intero processo a convergere verso un miglior risultato." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Usa luminanza" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Avvia calcolo statistico" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Chiudi la finestra" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 msgid "Normalized Real [0, 1]" msgstr "Reale normalizzato [0,1]" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Nessuna selezione" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 msgid "Asinh Transformation" msgstr "Trasformazione Asinh" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "Fattore di stretch: " -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "" "Il parametro fattore di stretch permette di aggiustare il fattore di non " "linearità." -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "Punto Nero: " -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "Il valore costante che è sottratto dall'immagine." -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "Usa lo spazio di lavoro RGB" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Estrazione dello sfondo" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Questo calcolerà lo sfondo sintetico e aplicherà la correzzione selezionata." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Ordine del grado: " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Scegli il grado della funzione polinomiale usata nel fit.\n" +"Di default questo valore è 4.\n" +"Maggiore è il grado, più complesso potrà essere il gradiente da rimuovere." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Campioni per riga: " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Numero di campioni per riga che saranno automaticamente posizionati." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Tolleranza per rifiutare il campione globale, in unità sigma. Abbassando " +"questo valore, Siril sarà più restrittivo nel selezionare i campioni di " +"sfondo." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Tolleranza: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Generazione" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Cliccare qui per generare i campioni definiti automaticamente," + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Cliccare qui per eliminare tutti i campioni." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"Potete anche selezionare i campioni manualmente.\n" +"Click col tasto sinistro aggiunge i campioni, mentre il il click col tasto " +"destro li rimuove." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Interpolazione polinomiale" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Correzione: " + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Scegli il tipo di correzione che vuoi applicare:\n" +"Sottrazione: usata principalmente per correggere effetti additivi, come i " +"gradienti causati dall'inquinamento luminoso o dalla Luna.\n" +"Divisione: usata principalmente per correggere fenomeni moltiplicativi, come " +"la vignettatura o l'assorbimento atmosferico differenziale. Tuttavia, questo " +"tipo di operazione dovrebbe essere fatta dalla correzione master-flat." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Sottrazione" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Divisione" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Correzione" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:835 msgid "Banding Reduction" msgstr "Riduzione del banding" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "Proteggi dalle alteluci" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "Banding verticale" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Seleziona questa checkbox se il banding è verticale." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Applica alla sequenza" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -932,43 +919,43 @@ "Se una sequenza è caricata e questa opzione è attiva, esegui l'elaborazione " "di tutte le immagini nella sequenza invece che solo dell'immagine caricata." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Prefisso di output:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "" "Prefisso dei nomi delle immagini risultanti dal processo di rimozione del " "banding." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "Fattore 1/Sigma" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Composizione dell'immagine" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Composizione d'immagine multi-livello" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Allineamento dei livelli" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "non caricato" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Regola la luminosità dei livelli" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -979,11 +966,11 @@ "valore massimo per ciascuna immagine). Le tonalità del colore non sono " "modificate." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Finalizza il bilanciamento del colore" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -996,7 +983,7 @@ "Modificando in seguito i parametri di questa finestra, il bilanciamento del " "colore verrà azzerato e dovrai reimpostarlo." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -1004,19 +991,19 @@ "Tipo di composizione del colore basata sulla luminanza. Rappresenta il modo " "di aggiungere informazioni relative al colore ai dati della luminanza." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "Composizione HSL" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "Composizione HSV" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "Composizione CIE L*a*b*" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -1024,55 +1011,55 @@ "ATTENZIONE: non dovresti eseguire una combinazione LRGB con immagini " "lineari. Processa prima le immagini." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Allinea i livelli su questo livello di riferimento:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Allinea" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "" "Allineamento automatico utilizzando il metodo di registrazione selezionato." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Ritaglia l'immagine ad un'area comune dopo l'allineameno" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "e utilizzando questo metodo di allineamento:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "" "Per la composizione LRGB il livello di riferimento dovrebbe essere la " "luminanza." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:70 msgid "Luminance" msgstr "Luminanza" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Correzione cosmetica" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Chiudi la finestra corrente" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Applica correzione cosmetica" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1080,18 +1067,18 @@ "Seleziona se i frame target sono immagini CFA.\n" "Deseleziona se le immagini provengono da un sensore monocromatico." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "" "Prefisso dei nomi di immagine risultanti dal processo di correzione " "cosmetica." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "Sigma freddi:" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1100,11 +1087,11 @@ "essere diverso dal valore dei pixel che lo circondano per poter esser " "considerato un pixel freddo." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "Sigma caldi:" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1113,27 +1100,27 @@ "essere diverso dal valore dei pixel che lo circondano per poter esser " "considerato un pixel caldo." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Rilevamento automatico" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "Sequenza di ritaglio" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "Prefisso dei nomi d'immagine risultanti dal processo di ritaglio." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Deconvoluzione" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." @@ -1141,430 +1128,398 @@ "Questo rappresenta la dimensione del kernel gaussiano che è applicato. Più " "il valore è alto, più l'effetto è forte." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Algoritmo:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Numero di iterazioni." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Messaggio di Siril" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Trasformata di Fourier" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "Nome del file di magnitudine: " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "Nome del file di fase: " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "Ordine: " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Tipo: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "modulo" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "fase" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Centrato" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Normale" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "Polare (Magnitudine + Fase)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "Trasformata diretta" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "Magnitudine dell'immagine: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Fase dell'immagine: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "Seleziona la magnitudine" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "Seleziona la fase" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Trasformazione inversa" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Estrazione del canale" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Nome del file per il primo file FITS da salvare." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Nome del file per il secondo file FITS da salvare." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Nome del file per il terzo file FITS da salvare." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Canale #1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Canale #2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Canale #3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "Seleziona lo spazio colore corrispondente alle tre immagini estratte" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Spazio colore:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Livelli di estrazione delle wavelet" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Chiudi" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Applica estrazione delle wavelet." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "" "Numero di livelli delle wavelet. Puoi scegliere fino a 6 livelli di wavelet." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Tipo di algoritmo" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "BSpline" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Num. di livelli: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Algoritmo di interpolazione:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Istogrammi" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Zoom orizzontale" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Resetta lo zoom a 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Scala logaritmica" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Bilanciamento mezzitoni" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "Taglio delle ombre" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "Ritaglio alteluci" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 msgid "Show grids" msgstr "Mostra griglie" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "Mostra curva MTF" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Applica algoritmo di autostretch all'immagine" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "autoStretch" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "Alteluci: " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "Mezzitoni: " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Ombre: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Taglio (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Conteggio dei pixel tagliati (ombre)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "Conteggio dei pixel tagliati (alteluci)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Reset" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Applica trasformazione istogramma" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "Campiona nuovamente" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "Scala X (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Scala Y (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Mantieni proporzioni" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Tipo di algoritmo utilizzato per il ricampionamento" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Nearest Neighbor" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Bilineare (default)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Relazione dell'area del pixel" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Bicubica" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "Gradiente Rotazionale" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "Il gradiente rotazionale verrà applicato." -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " msgstr "Spostamento radiale: " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "Spostamento radiale usato per calcolare il gradiente rotazionale." -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " msgstr "Spostamento rotazionale: " -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "Spostamento rotazionale usato per calcolare il gradiente rotazionale." -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." msgstr "Coordinata X del centro di coordinate polari." -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." msgstr "Coordinata Y del centro di coordinate polari." -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "Centro X:" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "Centro Y:" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "nome radice delle immagini convertite (il 'dest' in dest1.fit)" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "nome radice delle immagini convertite (il 'dest' in dest1.fit)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Nome del file" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "intero senza segno a 8-bit" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "intero senza segno a 16-bit" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Formato del campione" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Nessuno" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "Riduci compressione" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Compressione" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Descrizione dell'immagine" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Copyright dell'immagine" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Qualità: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "Non disponibile" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "intero con segno a 16-bit" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Formato del campione" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Salva valori MIPS-HI e MIPS-LO" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "Dati incorporati" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Impostazioni" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Usa moltiplicatore automatico per la luce diurna" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1573,7 +1528,7 @@ "calcolati automaticamente. Puoi scegliere il tuo moltiplicatore " "deselezionando questa checkbox." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." @@ -1581,7 +1536,7 @@ "Specifica il tuo bilanciamento del bianco grezzo. Il valore per la scala nel " "rosso è relativo al verde." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." @@ -1589,19 +1544,19 @@ "Specifica il tuo bilanciamento del bianco grezzo. Il valore per la scala nel " "blu è relativo al verde." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Luminosità" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Dividi il livello di bianco per questo numero." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Nessuna correzione black point" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1609,62 +1564,62 @@ "Quando quest'opzione è abilitata, nessuna correzione black point è applicata " "alle immagini grezze." -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "Adattamento colori dell'immagine" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "" "Seleziona un metodo di interpolazione per eseguire la demosaicizzazione " "prima di aprire l'immagine." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Alta velocità, bilineare bassa qualità" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Adaptive Homogeneity-Directed (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Variable Number of Gradients (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Patterned Pixel Grouping (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Interpolazione matrice dell'immagine" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "Nessuna correzione di gamma è applicata all'immagine." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "Curva BT.709" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Applica una specifica curva di gamma all'immagine." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "curva sRGB" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Applica una specifica curva di gamma all'immagine" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Correzione di gamma dell'immagine" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" @@ -1672,7 +1627,7 @@ "Usa il bilanciamento del bianco\n" "specificato dalla camera" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1683,7 +1638,7 @@ "questa checkbox libraw tenterà di utilizzare i dati specificati dalla tua " "camera." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1691,7 +1646,7 @@ "Calcola il bilanciamento del bianco\n" "mediando l'intera immagine" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1702,57 +1657,25 @@ "questa checkbox, libraw calcolerà il bilanciamento del bianco mediando " "sull'intera immagine." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Bilanciamento del bianco dell'immagine" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "" "Il decoder per il formato dei file RAW delle DSLR è basato sulla libreria " "libraw." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "Debayer RAW DSLR" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Seleziona il pattern Bayer della tua camera." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Pattern Bayer/mosaic: " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Seleziona un metodo di interpolazione per la demosaicizzazione." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Interpolazione debayer: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Bilineare" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Super Pixel" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Pattern Bayer dall'intestazione del file se disponibile" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1763,146 +1686,117 @@ "deseleziona questa checkbox e scegli manualmente il tuo pattern nel " "sottostante riquadro Debayer." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"Assicura la compatibilità con le immagini\n" -"memorizzate in un'orientazione dall'alto\n" -"verso il basso (KSTARS/EKOS, PixInsight,\n" -"e probabilmente altri...)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Debayer con orientamento up-bottom" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." -msgstr "" -"Se questa checkbox è selezionata, Siril tenterà di assicurare la " -"compatibilità tra KSTARS (e PixInsight o altri) leggendo l'immagine FITS " -"nell'ordine dall'alto in basso." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Siril legge i dati FITS con orientamento bottom-up (dal basso in alto). Se " +"il software di cattura memorizza i dati con orientamento bottom-up (come " +"capita usualmente), dovrete selezionare questo box per selezionare il " +"debayer del file con l'orientamento corretto." -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Altri debayer" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Lunghezza focale (mm): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Estende a 16 bit il FITS CFA proveniente dalla DSLR" -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Pixel X dim. (micron): " +#: ../src/gui/siril3.glade.h:366 +msgid "" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"Se i dati RAW provengono da una fotocamera DSLR e se le informazioni sulla " +"normalizzazione sono state salvate nell'header FITS, allora selezionando " +"questa opzione si estenderà l'immagine a 16-bit." -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:367 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." -msgstr "" -"Pulisci tutti i campi. Se poi salverai la tua immagine, l'header non " -"conterrà più nessun dato riguardante la focale o le dimensioni del sensore." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"Per via dei limiti algoritmici, algoritmi più complessi di demosaicing non " +"possono essere usati per lo stacking rejection. I nostri test anche mostrato " +"che non c'è alcun miglioramento nella qualità quando vengono usate molte " +"immagini, mentre il tempo di elaborazione aumenta di 20 volte." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Se la dimensione dei pixel in Y non viene automaticamente caricata " -"utilizzando l'header del file, puoi aggiornare tu il campo." - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Pixel Y dim. (micron): " +"In attesa: Per il demosaicing SER al volo si usa sempre l'algoritmo " +"bilineare." -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "Binning: " +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Seleziona il pattern Bayer della tua camera." -#: ../src/gui/siril3.glade.h:396 -msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." -msgstr "" -"Puoi aggiornare questa combo box se il binning non è stato caricato " -"automaticamente utilizzando l'header del file." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Pattern Bayer/mosaic: " -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "FWHM verrà convertita in arcsec" +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Seleziona un metodo di interpolazione per la demosaicizzazione." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Se la lunghezza focale non viene automaticamente caricata utilizzando " -"l'header del file, puoi aggiornare tu il campo." +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Interpolazione debayer: " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Se la dimensione dei pixel in X non viene automaticamente caricata " -"utilizzando l'header del file, puoi aggiornare tu il campo." +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilineare" -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "Il binning non è nel valore della dimensione del pixel" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" -"Seleziona questo pulsante se il binning non è preso in considerazione nel " -"valore della dimensione del pixel. In questo caso, verrà utilizzato il " -"valore del binning nella combo box sottostante." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Camera e ottiche" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super Pixel" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"ATTENZIONE: questi campi sono letti automaticamente all'apertura del file " -"FITS e impostarli qui funzionerà solamente per il file attualmente caricato." +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Camera e ottiche" +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Altri debayer" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "" "Guadagno del convertitore A/D in elettroni per ADU. Il valore predefinito è " "2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "Guadagno dell'ADC:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Fotocamera" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Raggio interno: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Raggio esterno:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." @@ -1910,7 +1804,7 @@ "Il raggio interno dell'anello utilizzato per misurare lo sfondo locale. Il " "valore predefinito è 20.00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." @@ -1918,33 +1812,43 @@ "Il raggio esterno dell'anello utilizzato per misurare lo sfondo locale. Il " "valore predefinito è 30.00." -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "" -"Dimensione dell'anello per la misurazione del livello dello sfondo (in " -"pixel):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Sfondo" +#: ../src/gui/siril3.glade.h:386 +msgid "Background Annulus" +msgstr "Anello dello sfondo" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Ripristina valori di default" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Ripristina i parametri predefiniti" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 +msgid "Min. pixel value:" +msgstr "Pixel minimi:" + +#: ../src/gui/siril3.glade.h:390 +msgid "Max. pixel value:" +msgstr "Pixel massimi:" + +#: ../src/gui/siril3.glade.h:391 +msgid "Bad pixels have value equal to or less than." +msgstr "I bad pixel hanno un valore uguale o minore di." + +#: ../src/gui/siril3.glade.h:392 +msgid "Overexposed pixels have value equal to or greater than." +msgstr "I pixel sovraesposti hanno un valore uguale o più grande di." + +#: ../src/gui/siril3.glade.h:393 +msgid "Pixel Value Range" +msgstr "Range dei valori dei pixel" + +#: ../src/gui/siril3.glade.h:394 msgid "Photometry" msgstr "Fotometria" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "Ripristina la cartella di memoria swap di default" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:395 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1952,85 +1856,86 @@ "Seleziona una cartella esistente. Assicurati di avere i permessi di " "scrittura e sufficiente spazio libero." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:396 msgid "Select Swap Directory" msgstr "Seleziona cartella di swap" -#: ../src/gui/siril3.glade.h:420 +#: ../src/gui/siril3.glade.h:397 +msgid "Restore the defaut swap storage directory" +msgstr "Ripristina la cartella di memoria swap di default" + +#: ../src/gui/siril3.glade.h:398 msgid "Swap Storage Directory" msgstr "Cartella della memoria di swap" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Rapporto di memoria disponibile utilizzata: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:399 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." -msgstr "" -"La memoria utilizzata corrisponde a questo valore moltiplicato per la " -"memoria totale disponibile.\n" -"ATTENZIONE: ridurre il rapporto della memoria allocata per la computazione " -"degraderà le prestazioni." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" +msgstr "" +"Configura un nuovo rapporto tra memoria libera e memoria utilizzata per lo " +"stacking. Il valore dovrebbe essere tra 0.05 e 2, a seconda delle altre " +"attività in esecuzione sulla macchina. Un rapporto più alto dovrebbe " +"permettere a Siril di effettuare lo stacking più velocemente ma settando il " +"valore sopra 1 richiede l'utilizzo di memoria disco, che è molto lenta e " +"perciò sconsigliato." -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Gestione della memoria" +#: ../src/gui/siril3.glade.h:400 +msgid "RAM Ratio" +msgstr " Rapporto RAM" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:401 msgid "Type of extension: " msgstr "Tipo di estensione: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:402 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:403 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:404 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:405 msgid "FITS Format" msgstr "Formato FITS" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:406 msgid "Don't ask before quitting" msgstr "Non chiedere prima di uscire" -#: ../src/gui/siril3.glade.h:431 -msgid "Confirmation dialog" +#: ../src/gui/siril3.glade.h:407 +msgid "Confirmation Dialog" msgstr "Dialogo di conferma" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"Utilizza tema GTK scuro\n" -"(può richiedere il riavvio)" +#: ../src/gui/siril3.glade.h:408 +msgid "Change the theme of the interface." +msgstr "Cambia il tema dell'interfaccia." -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Alcuni dialoghi di Siril hanno colori chiari non-standard. Con un tema " -"scuro, il testo può diventare illeggibile se è troppo chiaro. Selezionando " -"questa checkbox questi colori non-standard verranno cambiati in colori scuri." +#: ../src/gui/siril3.glade.h:409 +msgid "Automatic" +msgstr "Automatico" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:410 +msgid "Dark theme" +msgstr "Tema scuro" + +#: ../src/gui/siril3.glade.h:411 +msgid "Light theme" +msgstr "Tema luminoso" + +#: ../src/gui/siril3.glade.h:412 msgid "Remember window positions" msgstr "Ricorda le posizioni della finestra" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:413 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." @@ -2038,11 +1943,11 @@ "Ricorda le posizioni delle finestre che mostrano l'immagine. Questa feature " "potrebbe non funzionare su tutte le architetture." -#: ../src/gui/siril3.glade.h:437 -msgid "Look and feel" +#: ../src/gui/siril3.glade.h:414 +msgid "Look and Feel" msgstr "Aspetto" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:415 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2054,361 +1959,385 @@ "per linea con quante linee vuoi. Tuttavia considera che più percorsi vengono " "controllati più lungo è l'avvio." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:416 msgid "Scripts Storage Directories" msgstr "Cartelle di memorizzazione degli Script" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:417 msgid "Misc." msgstr "Varie" -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:418 msgid "Dynamic PSF" msgstr "PSF dinamica" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:419 msgid "Ch." msgstr "Ch." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:420 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:421 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:422 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:423 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:424 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:425 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:426 msgid "Mag" msgstr "Mag" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:427 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:428 msgid "Angle" msgstr "Angolo" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:429 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:430 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" +"Se cambiate questi tre valoi dovreste testarli su un'immagine " +"rappresentativa prima di usarli per la registrazione. " + +#: ../src/gui/siril3.glade.h:431 msgid "Size in pixels of the search box." msgstr "Dimensione in pixel del riquadro di ricerca." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:432 msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." msgstr "" "Valore soglia per il rilevamento delle stelle al di sopra del rumore.\n" "I valori di mediana e deviazione standard dell'immagine sono determinati, " "quindi la soglia è: mediana + [soglia] x devstd.\n" -"Il valore di default per la soglia è 1.00." +"Il valore di default per la soglia è 1.00. Aumentare questo valore troverà " +"stelle più deboli, si dovrebbe usarlo solo quando le immagini hanno molto " +"segnale o un basso rumore (alto rapporto Segnale/Rumore)." -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:435 msgid "Radius: " msgstr "Raggio: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:436 msgid "Threshold: " msgstr "Soglia: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:437 msgid "Roundness threshold:" msgstr "Soglia della rotondità:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:438 msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." msgstr "" "Valore soglia per la rotondità delle stelle. Decrementa questo valore se le " -"tue stelle sembrano piccole scie.\n" -"\n" -"ATTENZIONE: assicurati di avere una buona ragione per cambiare questi valori " -"perché questo può peggiorare il rilevamento delle stelle." - -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Rilevamento stella" +"tue stelle mostrano piccole scie, e di contro aumentalo se sono molto " +"rotonde per evitare falsi positivi.\n" +"Il valore di default è 0.5, adatto per stelle che hanno una dimensione in " +"una direzione doppia rispetto all'altra." -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:440 +msgid "Export PSF parameters in an ASCII file" msgstr "Esporta i parametri PSF in un file ASCII" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:441 msgid "Remove selected star from the list" msgstr "Rimuovi la stella selezionata dalla lista" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:442 msgid "Remove all stars from the list" msgstr "Rimuovi tutte le stelle dalla lista" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:443 msgid "Wavelets control" msgstr "Controlli delle wavelet" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:444 msgid "Cancel all changes applied" msgstr "Annulla tutte le modifiche applicate" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:445 msgid "Select an algorithm type to perform wavelets" msgstr "Seleziona un tipo di algoritmo per eseguire le wavelet" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:446 msgid "Type:" msgstr "Tipo:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:447 msgid "Nb of plans:" msgstr "Num. di piani:" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:448 msgid "Number of wavelet layers that will be used" msgstr "Numero di livelli di wavelet da utilizzare" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:449 msgid "Compute wavelets" msgstr "Calcola wavelet" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:450 msgid "1st Plan:" msgstr "1° piano:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:451 msgid "2nd Plan:" msgstr "2° piano:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:452 msgid "3th Plan:" msgstr "3° piano:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:453 msgid "4th Plan:" msgstr "4° piano:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:454 msgid "5th Plan:" msgstr "5° piano:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:455 msgid "6th Plan:" msgstr "5° piano:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:456 msgid "Reset changes" msgstr "Annulla modifiche" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:457 msgid "Adjust" msgstr "Regola" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:458 msgid "Rotation" msgstr "Rotazione" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:459 msgid "Angle (°): " msgstr "Angolo (°): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:460 msgid "Checking this box will crop the output image." msgstr "Selezionando questa checkbox l'immagine in output verrà ritagliata." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:461 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Angolo in gradi. Il centro di rotazione è al centro dell'immagine." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:462 msgid "Type of algorithm used for rotation" msgstr "Tipo di algoritmo utilizzato per la rotazione" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:463 msgid "Siril control center" msgstr "Centro di controllo di Siril" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:464 msgid "_File" msgstr "_File" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:465 msgid "Save as..." msgstr "Salva come..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:466 +msgid "Informations..." +msgstr "Informazioni..." + +#: ../src/gui/siril3.glade.h:467 msgid "FITS Header..." msgstr "FITS Header..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:468 msgid "_Edit" msgstr "_Modifica" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:469 msgid "_Image Processing" msgstr "_Elaborazione dell'immagine" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:470 msgid "Asinh Transformation..." msgstr "Trasformazione Asinh..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:471 msgid "Histogram Transformation..." msgstr "Istogramma della trasformazione..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:472 +msgid "Color Calibration" +msgstr "Calibrazione del colore" + +#: ../src/gui/siril3.glade.h:473 msgid "Color Calibration..." msgstr "Calibrazione del colore..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:474 +msgid "Photometric Color Calibration..." +msgstr "Calibrazione fotometrica del colore..." + +#: ../src/gui/siril3.glade.h:475 msgid "Color Saturation..." msgstr "Saturazione del colore..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:476 msgid "Remove Green Noise..." msgstr "Rimuovi rumore verde..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:477 msgid "Negative Transformation" msgstr "Trasformazione Negativa" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:478 msgid "À trous Wavelets Transform..." msgstr "Trasformazione wavelet à trous..." -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:479 msgid "Banding Reduction..." msgstr "Riduzione del banding..." -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:480 msgid "Cosmetic Correction..." msgstr "Correzione cosmetica..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:481 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Deconvoluzione..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:482 msgid "Fourier Transform..." msgstr "Trasformata di Fourier..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:483 msgid "Median Filter..." msgstr "Filtro mediano..." -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:484 msgid "Rotational Gradient..." msgstr "Gradiente rotazionale..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:485 msgid "Geometry" msgstr "Geometria" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:486 msgid "Horizontal Mirror" msgstr "Rifletti orizzontalmente" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:487 msgid "Vertical Mirror" msgstr "Rifletti verticalmente" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:488 msgid "Rotation..." msgstr "Rotazione..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:489 msgid "Resample..." msgstr "Campiona nuovamente..." -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:490 msgid "Background Extraction..." msgstr "Estrazione dello sfondo..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:491 msgid "Extraction" msgstr "Estrazione" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:492 msgid "Channels..." msgstr "Canali..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:493 msgid "Wavelet Layers..." msgstr "Livelli di wavelet..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:494 msgid "RGB Compositing..." msgstr "Composizione RGB..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:495 msgid "_Scripts" msgstr "_Scripts" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:496 msgid "_Analysis" msgstr "_Analisi" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:497 msgid "Dynamic PSF..." msgstr "PSF dinamica..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:498 msgid "Image Plate Solver..." msgstr "Plate Solver dell'immagine..." -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:499 msgid "Statistics..." msgstr "Statistiche..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:500 msgid "Noise Estimation" msgstr "Stima del rumore" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:501 msgid "_Windows" msgstr "_Finestre" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:502 msgid "Gray Channels Images" msgstr "Immagini nel canale grigio" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:503 msgid "Color Image" msgstr "Immagine a colori" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:504 msgid "_Help" msgstr "_Aiuto" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:505 msgid "Check For Updates" msgstr "Controlla se ci sono aggiornamenti" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:506 msgid "Get scripts" msgstr "Ottieni script" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:507 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2416,35 +2345,35 @@ "Il tab conversione è usato per importare i file e convertirli in un formato " "con il quale Siril può lavorare: FITS o SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:508 msgid "Source" msgstr "Sorgente" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:509 msgid "Date" msgstr "Data" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:510 msgid "Add files to convert" msgstr "Aggiungi i file da convertire" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:511 msgid "Remove selected files" msgstr "Rimuovi i file selezionati" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:512 msgid "Remove all files from the list" msgstr "Rimuovi tutti i file dalla lista" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:513 msgid "Destination" msgstr "Destinazione" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:514 msgid "Sequence name:" msgstr "Nome della sequenza:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:515 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2455,15 +2384,15 @@ "anche con .ser, il quale abiliterà il formato di output SER per la " "conversione." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:516 msgid "Colour image target" msgstr "Immagine target a colori" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:517 msgid "Keep three channels" msgstr "Mantieni tre canali" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:518 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." @@ -2471,25 +2400,25 @@ "Mantieni l'immagine di destinazione con i canali RGB, non cambiare la " "configurazione dei canali." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:519 msgid "Create three images" msgstr "Crea tre immagini" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:520 msgid "Split an RGB image into three images, R, G and B." msgstr "Separa un'immagine RGB in 3 immagini, R, G e B." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:521 msgid "Keep only first channel" msgstr "Mantieni solo il primo canale" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:522 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "Per un'immagine RGB, mantieni solo il rosso. Utile per immagini in scala di " "grigi memorizzate in RGB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:523 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2497,7 +2426,7 @@ "Indica l'indice di inizio dei tuoi file convertiti. Il valore deve essere " "incluso nel range [1, 65535]." -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:524 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2511,7 +2440,7 @@ "Anche l'immagine target a colori applica il risultato del debayer per la " "conversione." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:527 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2519,11 +2448,11 @@ "Inizia la conversione di tutti i file sorgente nei file di output " "configurati, FITS o SER, elaborati a colore oppure no." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:528 msgid "Create as many SER files as input files" msgstr "Crea tanti file SER quanti sono i file in input" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:529 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2534,11 +2463,11 @@ "(video) non hanno la stessa dimensione dell'immagine o non devono essere " "elaborati insieme." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:530 msgid "Supported file types:" msgstr "Tipi di file supportati:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:531 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2556,11 +2485,11 @@ "I file SER sono gestiti direttamente come una sequenza e quindi non sono " "convertibili." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:535 msgid "File conversion" msgstr "Conversione del file" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:536 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2568,29 +2497,29 @@ "Le immagini sono manipolate in sequenza. Siril può trovare le sequenze nella " "cartella di lavoro corrente e permetterti di filtrare le immagini." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:537 msgid "Sequence selection" msgstr "Selezione della sequenza" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:538 msgid "Sequence:" msgstr "Sequenza:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:539 msgid "Search sequences" msgstr "Cerca sequenze" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:540 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "" "Cerca nella directory corrente sequenze di immagini FITS, SER o filmati." -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:541 msgid "Force .seq recomputation" msgstr "Forza rigenerazione .seq" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:542 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2606,15 +2535,15 @@ "\n" "ATTENZIONE: questo cancellerà tutte le registrazioni e i dati statistici." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:546 msgid "Image selection in sequence" msgstr "Selezione dell'immagine nella sequenza" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:547 msgid "No sequence selected" msgstr "Nessuna sequenza selezionata" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:548 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2623,11 +2552,11 @@ "sfogliare le immagini e il tasto SPAZIO per attivare/disattivare " "l'esclusione dell'immagine attuale." -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:549 msgid "Excluded" msgstr "Escluse" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:550 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" @@ -2635,11 +2564,11 @@ "Indica se l'immagine è esclusa dall'elaborazione o meno (il file stesso non " "viene eliminato)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:551 msgid "Reference image" msgstr "Immagine di riferimento" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:552 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2654,39 +2583,39 @@ "Se non impostato manualmente, la prima immagine nella sequenza viene presa " "come riferimento." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:555 msgid "Exclude All" msgstr "Escludi tutte" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:556 msgid "Exclude all images of the sequence from the processing schedule" msgstr "" "Escludi tutte le immagini della sequenza dalla pianificazione " "dell'elaborazione" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:557 msgid "Include All" msgstr "Includi tutte" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:558 msgid "includes all images of the sequence in the processing schedule" msgstr "" "includi tutte le immagini della sequenza nella pianificazione " "dell'elaborazione" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:559 msgid "Sequence export" msgstr "Esporta sequenza" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:560 msgid "Base name:" msgstr "Nome base:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:561 msgid "Base name for the exported sequence" msgstr "Nome base per la sequenza esportata" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:562 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2694,11 +2623,11 @@ "Formato della sequenza esportata. MP4 e WEBM rimpiazzano GIF per la " "pubblicazione Web moderna, l'AVI non è compresso." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:563 msgid "Export sequence" msgstr "Esporta sequenza" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:564 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2712,11 +2641,11 @@ "selezionate con lo stesso criterio usato per la selezione delle immagini " "dello stacking." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:565 msgid "Normalize images" msgstr "Normalizza immagini" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:566 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2733,19 +2662,19 @@ "una sequenza.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:569 msgid "Fps:" msgstr "Fps:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:570 msgid "Frame rate" msgstr "Frame rate" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:571 msgid "Resize" msgstr "Ridimensiona" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:572 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2753,19 +2682,19 @@ "Seleziona questa checkbox se vuoi ridimensionare la sequenza esportata. Nota " "che questo degraderà la qualità dell'immagine." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:573 msgid "Width of output video" msgstr "Larghezza dell'output video" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:574 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:575 msgid "Height of output video" msgstr "Altezza dell'output video" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:576 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2773,31 +2702,31 @@ "Qualità del sensore: un valore più basso userà una compressione maggiore e " "un bitrate inferiore, producendo inoltre file di dimensione minore." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:577 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Seleziona area da ritagliare" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:578 msgid "Image selection uses the same controls as for stacking" msgstr "" "La selezione delle immagini usa gli stessi controlli che valgono per lo " "stacking" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:579 msgid "Go to the stacking tab" msgstr "Vai al tab dello stacking" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:580 msgid "Sequence" msgstr "Sequenza" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:581 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "" "La pre-elaborazione è un passaggio opzionale da applicare ad una sequenza di " "immagini." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:582 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2805,17 +2734,17 @@ "Il singolo file è spesso chiamato file master ed è il risultato " "dell'elaborazione di diversi frame, per ciascun tipo di immagine master." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:583 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "I file dark, offset (bias) e flat possono essere solo singoli file FITS." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:585 msgid "Use flat" msgstr "Usa flat" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:586 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2823,7 +2752,7 @@ "Tutte le immagini nella sequenza verranno divise per il master flat (ciascun " "valore del pixel)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:587 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2833,21 +2762,21 @@ "Tutte le immagini nella sequenza verranno divise per l'immagine master flat " "(ciascun valore del pixel)." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:589 msgid "Browse..." msgstr "Sfoglia..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:591 msgid "Use dark" msgstr "Usa dark" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:592 msgid "The dark master image will be removed from all images in the sequence." msgstr "" "L'immagine master dark verrà rimossa da tutte le immagini della sequenza." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2856,18 +2785,18 @@ "L'immagine master dark verrà rimossa da tutte le immagini nella sequenza." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:596 msgid "Use offset" msgstr "Usa offset" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:597 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "" "L'immagine master bias/offset verrà rimossa da tutte le immagini nella " "sequenza." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:598 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2877,19 +2806,19 @@ "L'immagine master bias/offset verrà rimossa da tutte le immagini della " "sequenza." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:600 msgid "Choose your own normalisation value." msgstr "Scegli il tuo valore di normalizzazione." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:601 msgid "Normalisation value for flat division" msgstr "Valore di normalizzazione per la divisione flat" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:602 msgid "Dark optimization" msgstr "Ottimizzazione del dark" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:603 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2907,11 +2836,11 @@ "ATTENZIONE: Non applicare l'ottimizzazione del dark sul master dark se il " "master bias non è stato sottratto precedentemente." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:606 msgid "Auto evaluate normalisation value" msgstr "Valuta automaticamente il valore di normalizzazione" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:607 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2920,22 +2849,22 @@ "normalizzazione.\n" "Questo valore è la media del master flat calibrato con il master offset." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:609 msgid "Equalize CFA" msgstr "Equalizza CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:610 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" "Questa opzione equalizza l'intensità media dei livelli RGB in un'immagine " "CFA piatta." -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:611 msgid "Cosmetic correction (using master-dark)" msgstr "Correzione cosmetica (usando il master dark)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:612 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2943,11 +2872,11 @@ "Quante volte il pixel deve differire dalla deviazione standard per essere " "considerato difettoso." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:613 msgid "Enable Cosmectic Correction" msgstr "Abilita correzione cosmetica" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:614 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2955,11 +2884,11 @@ "Seleziona se vuoi applicare una rimozione del pixel caldo.\n" "I pixel caldi sono localizzati sul master dark." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:616 msgid "Estimate" msgstr "Stima" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:618 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2970,23 +2899,23 @@ "valori superano lo 1% del totale dei pixel sarai incoraggiato a cambiare i " "valori sigma." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:619 msgid "Cold: 0 px" msgstr "Freddi: 0 px" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:620 msgid "Hot: 0 px" msgstr "Caldi: 0 px" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:621 msgid "Output sequence" msgstr "Sequenza di output" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:622 msgid "Debayer FITS images before saving" msgstr "Applica debayer alle immagini FITS prima di salvare" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:623 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -3002,19 +2931,19 @@ "ATTENZIONE: questa opzione è disponibile solamente per immagini FITS come " "sequenza SER che può essere demosaicizzata al volo." -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:626 msgid "Store resulting sequence with prefix:" msgstr "Memorizza la sequenza risultante con il prefisso:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:627 msgid "Prefix of the image names resulting from the pre-processing." msgstr "Prefisso dei nomi d'immagine risultanti dalla pre-elaborazione." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:628 msgid "Start pre-processing" msgstr "Inizia pre-elaborazione" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:629 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -3031,11 +2960,11 @@ "La successiva azione per le immagini DSLR dovrebbe essere l'applicazione del " "debayer alle immagini pre-elaborate. Questo è fatto nel tab di conversione." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:632 msgid "Pre-processing" msgstr "Pre-elaborazione" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:633 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -3043,19 +2972,27 @@ "La registrazione consiste semplicemente nell'allineare le immagini di una " "sequenza in modo da poter in seguito elaborarle." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:634 msgid "Image registration" msgstr "Registrazione dell'immagine" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:635 +msgid "Register all images from sequence" +msgstr "Registra tutte le immagini della sequenza" + +#: ../src/gui/siril3.glade.h:636 +msgid "Register selected images only" +msgstr "Registra solo le immagini selezionate" + +#: ../src/gui/siril3.glade.h:637 msgid "Choose registration method:" msgstr "Seleziona metodo di registrazione:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:638 msgid "Select registration layer:" msgstr "Seleziona livello di registrazione:" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:639 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3070,31 +3007,23 @@ "dal livello di default, se disponibile (per immagini RGB: verde, altrimenti " "fallback sul blu e poi sul rosso)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Registra tutte le immagini della sequenza" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Registra solo le immagini selezionate" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:642 msgid "Prefix:" msgstr "Prefisso:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:643 msgid "Prefix of the image names resulting from the registration." msgstr "Prefisso dei nomi d'immagine risultanti dalla registrazione." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:644 msgid "Algorithm: " msgstr "Algoritmo: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:645 msgid "Match stars in selection" msgstr "Fai il matching delle stelle nella selezione" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:646 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3106,11 +3035,11 @@ "selezione è stata fatta quest'opzione viene ignorata.\n" "ATTENZIONE: Assicurati di selezionare un numero di stelle sufficienti." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:648 msgid "Translation only" msgstr "Solo traslazione" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:649 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3130,11 +3059,11 @@ "ATTENZIONE: nessuna nuove sequenza è creata, i dati della registrazione sono " "memorizzati nella sequenza originale." -#: ../src/gui/siril3.glade.h:673 +#: ../src/gui/siril3.glade.h:653 msgid "Pick object in #1" msgstr "Scegli oggetto #1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3144,19 +3073,19 @@ "immagine selezionata, poi clicca su questo pulsante. Le coordinate del pixel " "dell'oggetto verranno calcolate e visualizzate." -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:655 msgid "Core X-coordinates of the first image." msgstr "Coordinate X del nucleo della prima immagine." -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:656 msgid "Core Y-coordinates of the first image." msgstr "Coordinate Y del nucleo della prima immagine." -#: ../src/gui/siril3.glade.h:677 +#: ../src/gui/siril3.glade.h:657 msgid "Pick object in #2" msgstr "Scegli oggetto #2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:658 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3166,27 +3095,27 @@ "immagine selezionata, poi clicca su questo pulsante. Le coordinate del pixel " "dell'oggetto verranno calcolate e visualizzate." -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:659 msgid "Core X-coordinates of the second image." msgstr "Coordinate X del nucleo della seconda immagine." -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:660 msgid "Core Y-coordinates of the second image." msgstr "Coordinate Y del nucleo della seconda immagine." -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:661 msgid "Comet velocity in pixel per hour." msgstr "Velocità della cometa in pixel per ora." -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:662 msgid "Velocity: " msgstr "Velocità: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:663 msgid "Go register" msgstr "Inizia registrazione" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:664 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3197,15 +3126,15 @@ "(caricato nel tab 'Sequenze di immagini', il nome della sequenza attuale è " "anch'esso in fondo alla finestra)." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:665 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Carica prima una sequenza." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:666 msgid "Simplified Drizzle x2" msgstr "Drizzle semplificato x2" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:667 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3237,11 +3166,11 @@ "spazio disco necessari per creare ed elaborare immagini alle quali è stato " "applicato il Drizzle è moltiplicato per il quadrato del fattore Drizzle." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:672 msgid "Cumul reg. data" msgstr "Cumul reg. data" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:673 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3256,11 +3185,11 @@ "essere deselezionata quando l'algoritmo per comete/asteroidi viene applicato " "diverse volte." -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:675 msgid "Follow star movement" msgstr "Segui il movimento della stella" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:676 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3277,15 +3206,15 @@ "ATTENZIONE: abilitare quest'opzione richiede alla registrazione di non " "essere parallelizzata e quindi girerà su un solo core della CPU." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:678 msgid "Manual registration" msgstr "Registrazione manuale" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:679 msgid "Display reference image" msgstr "Mostra immagine di riferimento" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:681 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3299,7 +3228,7 @@ "esplicitamente ed essere già stata visualizzata una volta sul livello di " "registrazione selezionato." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:683 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3307,11 +3236,11 @@ "Modifica questo valore, usando la rotellina del mouse oppure le freccie su e " "giù, per allineare l'immagine con quella di riferimento lungo l'asse X." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:684 msgid "X translation:" msgstr "Traslazione X:" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:685 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3319,19 +3248,19 @@ "Modifica questo valore, usando la rotellina del mouse oppure le frecce su e " "giù, per allineare l'immagine con quella di riferimento lungo l'asse Y." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:686 msgid "Y translation:" msgstr "Traslazione Y:" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:687 msgid "Set reference image first." msgstr "Imposta prima l'immagine di riferimento." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:688 msgid "Set first preview" msgstr "Imposta la prima preview" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:689 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3340,53 +3269,53 @@ "cliccato questo pulsante, clicca sull'immagine per posizionare il centro " "dell'area di preview" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:690 msgid "Set second preview" msgstr "Imposta la seconda preview" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:691 msgid "Registration" msgstr "Registrazione" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:692 msgid "Filename:" msgstr "Nome del file:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:693 msgid "Enter the filename of the exported CSV file." msgstr "Inserisci il nome del file CSV esportato." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:694 msgid "Export to CSV" msgstr "Esporta in CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:695 msgid "Export displayed plot to a CSV file." msgstr "Esporta il grafico visualizzato in un file CSV." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:696 msgid "Clear all" msgstr "Pulisci tutte" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:697 msgid "Clear all curves displayed in photometry." msgstr "Pulisci tutte le curve mostrate in fotometria." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:698 msgid "Clear latest" msgstr "Pulisci le ultime" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:699 msgid "Clear the last curve added in photometry." msgstr "Pulisci l'ultima curva aggiunta nella fotometria." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:364 +#: ../src/gui/siril3.glade.h:701 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Curva di luce" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:702 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3400,43 +3329,47 @@ "seleziona 'Magnitudine' nella tipologia di grafico visualizzato.\n" "ATTENZIONE: gnuplot deve essere installato." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:704 msgid "Select the source of graph information." msgstr "Seleziona la sorgente di informazioni del grafo." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:705 msgid "Select which information to display from photometry data." msgstr "Seleziona quali informazioni mostrare dai dati fotometrici." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:706 msgid "Roundness" msgstr "Rotondità" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:565 ../src/gui/plot.c:727 +#: ../src/gui/siril3.glade.h:707 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:730 +#: ../src/gui/siril3.glade.h:708 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Ampiezza" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:709 msgid "Magnitude" msgstr "Magnitudine" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:710 +msgid "Background" +msgstr "Sfondo" + +#: ../src/gui/siril3.glade.h:711 msgid "X position" msgstr "Posizione X" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:712 msgid "Y position" msgstr "Posizione Y" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:713 msgid "Plot" msgstr "Grafico" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:714 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3444,19 +3377,15 @@ "Stacking delle immagini, con somma, mediana, media con rejection o pixel " "massimo/minimo." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:715 msgid "Sequence stacking" msgstr "Sequenza di stacking" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:716 msgid "Stacking Methods:" msgstr "Metodi di stacking:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Effettua lo stacking di questo insieme di immagini:" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:717 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3523,85 +3452,35 @@ "I pixel dell'immagine sono rimpiazzati dai pixel alle stesse coordinate se " "l'intensità è minore." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:740 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Stacking somma" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:741 msgid "Average stacking with rejection" msgstr "Stacking medio con rejection" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:742 msgid "Median stacking" msgstr "Stacking mediano" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:743 msgid "Pixel maximum stacking" msgstr "Stacking Pixel Massimo" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:744 msgid "Pixel minimum stacking" msgstr "Stacking Pixel Minimo" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Seleziona l'insieme di immagini di cui si vuole elaborare lo stacking. " -"Possono essere utilizzate tutte le immagini o solo quelle manualmente " -"selezionate. È possibile selezionare solo la percentuale di immagini " -"migliori seguendo un criterio di qualità (planetario, rotondità o fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "tutte le immagini della sequenza" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "immagini selezionate precedentemente e manualmente dalla sequenza" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"migliori immagini, selezionate automaticamente dai dati di registrazione " -"(PSF - FWHM)" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"migliori immagini, selezionate automaticamente dai dati di registrazione " -"(PSF - rotondità)" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"migliori immagini, selezionate automaticamente dai dati di registrazione " -"(planetario)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Basato sulla FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Miglior stack:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:745 msgid "Sigma low: " msgstr "Sigma basso: " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:746 msgid "Sigma high: " msgstr "Sigma alto: " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:747 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3654,70 +3533,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:763 msgid "No rejection" msgstr "Nessuna rejection" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:764 msgid "Percentile Clipping" msgstr "Percentile Clipping" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:765 msgid "Sigma Clipping" msgstr "Sigma Clipping" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:766 msgid "Median Sigma Clipping" msgstr "Median Sigma Clipping" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:767 msgid "Winsorized Sigma Clipping" msgstr "Winsorized Sigma Clipping" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:768 msgid "Linear Fit Clipping" msgstr "Linear Fit Clipping" -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"Normalizza a 16-bit\n" -"(Non controllare i Master)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"Se selezioni questo pulsante, l'immagine finale verrà normalizzata a 16-bit " -"per canale. Questo è importante quando la sequenza di input ha una " -"profondità di 8-bit per canale.\n" -"Tuttavia, potresti voler disabilitare questa opzione durante la costruzione " -"dei master frame di sequenze ad 8-bit." - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:769 msgid "Rejection:" msgstr "Rejection:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:770 msgid "Normalisation:" msgstr "Normalizzazione:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:771 msgid "Start stacking" msgstr "Inizia stacking" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:772 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3730,19 +3582,19 @@ "quest'ultima è poi salvata in un'immagine a 16-bit il cui nome è specificato " "qui sotto." -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:774 msgid "Store result in file:" msgstr "Salva il risultato su file:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:775 msgid "Overwrite" msgstr "Sovrascrivi" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:776 msgid "Overwrite file without notice if it already exists." msgstr "Sovrascrivi file senza notificare se esiste già." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:777 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3786,31 +3638,31 @@ "Tuttavia, la normalizzazione moltiplicativa deve essere usata per i frame " "flat-field." -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:789 msgid "No normalisation" msgstr "Nessuna normalizzazione" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:790 msgid "Additive" msgstr "Addittivo" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:791 msgid "Multiplicative" msgstr "Moltiplicativo" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:792 msgid "Additive with scaling" msgstr "Additivo con ridimensionamento" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:793 msgid "Multiplicative with scaling" msgstr "Moltiplicativo con ridimensionamento" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:794 msgid "Force recomputing" msgstr "Forza rielaborazione" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:795 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3820,11 +3672,94 @@ "calcolato. Tuttavia puoi forzare Siril a ricalcolare il file prima dello " "stacking." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:796 +msgid "Add another filter" +msgstr "Aggiungere un'altro filtro" + +#: ../src/gui/siril3.glade.h:797 +msgid "Remove this filter" +msgstr "Rimuovi questo filtro" + +#: ../src/gui/siril3.glade.h:798 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Selezionare il set di immagini da sottoporre a stacking:\n" +"- selezionate: utilizzare solo immagini della sequenza che non sono state " +"deselezionate\n" +"- FWHM: immagini con la miglior FWHM calcolata (solo per registrazioni " +"basate su stelle)\n" +"- rotondità: immagini con la miglior rotondità delle stelle (solo per " +"registrazione basate su stelle)\n" +"- qualità: immagini con la qualità migliore (registrazioni planetarie DFT o " +"ECC)" + +#: ../src/gui/siril3.glade.h:803 +msgid "all" +msgstr "tutte" + +#: ../src/gui/siril3.glade.h:804 +msgid "selected" +msgstr "area selezionata" + +#: ../src/gui/siril3.glade.h:805 +msgid "roundness" +msgstr "rotondità" + +#: ../src/gui/siril3.glade.h:806 +msgid "Percents of the images of the sequence." +msgstr "Percentuale delle immagini della sequenza." + +#: ../src/gui/siril3.glade.h:807 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Seleziona l'insieme di immagini di cui si vuole elaborare lo stacking. " +"Possono essere utilizzate tutte le immagini o solo quelle manualmente " +"selezionate. È possibile selezionare solo la percentuale di immagini " +"migliori seguendo un criterio di qualità (planetario, rotondità o fwhm)." + +#: ../src/gui/siril3.glade.h:808 +msgid "Stack this set of images:" +msgstr "Effettua lo stacking di questo insieme di immagini:" + +#: ../src/gui/siril3.glade.h:809 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Stacking 0 immagini delle 0 della sequenza" + +#: ../src/gui/siril3.glade.h:810 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Normalizza a 16-bit\n" +"(Non controllare i Master)" + +#: ../src/gui/siril3.glade.h:812 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Se selezioni questo pulsante, l'immagine finale verrà normalizzata a 16-bit " +"per canale. Questo è importante quando la sequenza di input ha una " +"profondità di 8-bit per canale.\n" +"Tuttavia, potresti voler disabilitare questa opzione durante la costruzione " +"dei master frame di sequenze ad 8-bit." + +#: ../src/gui/siril3.glade.h:814 msgid "Stacking" msgstr "Stacking" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:815 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3832,38 +3767,46 @@ "Finestra di output di Siril, mostra messaggi riguardo ciò che è stato fatto " "e in risposta ai comandi di input." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:816 +msgid "Export the log" +msgstr "Esporta i log" + +#: ../src/gui/siril3.glade.h:817 +msgid "Clear the log" +msgstr "Cancella il log" + +#: ../src/gui/siril3.glade.h:818 msgid "Output logs" msgstr "Log di output" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:819 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "" "Comando di input. Digitando 'help' qui verrà visualizzata la lista dei " "comandi supportati." -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:820 msgid "Type help for the list of supported commands" msgstr "Digita help per la lista dei comandi supportati" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:821 msgid "Displays manual of the command written in the console." msgstr "Mostra il manuale del comando scritto nella console." -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:822 msgid "Console" msgstr "Terminale" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:823 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Pronto." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:824 msgid "Current working directory:" msgstr "Cartella di lavoro corrente:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:825 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3872,23 +3815,23 @@ "modificata con il pulsante 'Cambia cartella' sulla destra, o con il comando " "cd." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:826 msgid "Change dir..." msgstr "Cambia cartella..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:827 msgid "Change current working directory" msgstr "Cambia cartella di lavoro corrente" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:828 msgid "Stop running processes" msgstr "Ferma i processi in corso" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:829 msgid "Current working sequence:" msgstr "Sequenza di lavoro corrente:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:830 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3898,11 +3841,11 @@ "ATTENZIONE: Ridurre eccessivamente il numero di processori consentiti " "degraderà le prestazioni." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:832 msgid "Displays the amount of used RAM memory by Siril." msgstr "Mostra l'ammontare di memoria RAM utilizzata da Siril." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:833 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3911,64 +3854,104 @@ "cartella di lavoro." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:835 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Spazio disco: N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Calibrazione del colore" +#: ../src/gui/siril3.glade.h:836 +msgid "Informations" +msgstr "Informazioni" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:837 +msgid "Focal length (mm): " +msgstr "Lunghezza focale (mm): " + +#: ../src/gui/siril3.glade.h:838 +msgid "Pixel X dim. (micron): " +msgstr "Pixel X dim. (micron): " + +#: ../src/gui/siril3.glade.h:839 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." msgstr "" -"Tre fattori di calibrazione del colore verranno calcolati e moltiplicati per " -"ciascun canale di colore.\n" -"La Neutralizzazione dello Sfondo dovrebbe essere applicata prima di questa " -"operazione." +"Pulisci tutti i campi. Se poi salverai la tua immagine, l'header non " +"conterrà più nessun dato riguardante la focale o le dimensioni del sensore." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "coordinate x dell'inizio della selezione dello sfondo" +#: ../src/gui/siril3.glade.h:840 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Se la dimensione dei pixel in Y non viene automaticamente caricata " +"utilizzando l'header del file, puoi aggiornare tu il campo." -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "coordinate y dell'inizio della selezione dello sfondo" +#: ../src/gui/siril3.glade.h:841 +msgid "Pixel Y dim. (micron): " +msgstr "Pixel Y dim. (micron): " -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Larghezza della selezione dello sfondo" +#: ../src/gui/siril3.glade.h:842 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Se la lunghezza focale non viene automaticamente caricata utilizzando " +"l'header del file, puoi aggiornare tu il campo." -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Altezza della selezione dello sfondo" +#: ../src/gui/siril3.glade.h:843 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Se la dimensione dei pixel in X non viene automaticamente caricata " +"utilizzando l'header del file, puoi aggiornare tu il campo." -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Area selezionata" +#: ../src/gui/siril3.glade.h:844 +msgid "No binning in pixel size value" +msgstr "Il binning non rientra nella dimensione del pixel" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Usa selezione attuale" +#: ../src/gui/siril3.glade.h:845 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Seleziona questo pulsante se il binning non è preso in considerazione nel " +"valore della dimensione del pixel. In questo caso, verrà utilizzato il " +"valore del binning nella combo box sottostante." -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:846 +msgid "FWHM is converted into arcsec" +msgstr "FWHM verrà convertita in arcsec" + +#: ../src/gui/siril3.glade.h:847 +msgid "Binning: " +msgstr "Binning: " + +#: ../src/gui/siril3.glade.h:848 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." msgstr "" -"Devi specificare una selezione che rappresenti lo sfondo reale " -"dell'immagine, tentando di escludere tutte le stelle o gli altri oggetti " -"stellari." +"Puoi aggiornare questa combo box se il binning non è stato caricato " +"automaticamente utilizzando l'header del file." -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:849 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Tre fattori di calibrazione del colore verranno calcolati e moltiplicati per " +"ciascun canale di colore.\n" +"La Neutralizzazione dello Sfondo dovrebbe essere applicata prima di questa " +"operazione." + +#: ../src/gui/siril3.glade.h:851 msgid "Background Neutralization" msgstr "Neutralizzazione dello sfondo" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:852 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3979,15 +3962,15 @@ "Questo passaggio dovrebbe essere eseguito prima di tentare qualunque " "calibrazione del colore." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:854 msgid "Background reference" msgstr "Riferimento allo sfondo" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:855 msgid "Manual White Balance" msgstr "Bilanciamento del bianco manuale" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:856 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -3995,35 +3978,35 @@ "Cliccando su quest'opzione utilizzerai i tuoi fattori di calibrazione del " "colore. Quest'opzione è disabilitata di default." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:857 msgid "Red:" msgstr "Rosso:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:858 msgid "Green:" msgstr "Verde:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:859 msgid "Blue:" msgstr "Blu:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:860 msgid "x coordinate of the start of the white reference selection" msgstr "coordinate x dell'inizio della selezione di riferimento bianca" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:861 msgid "y coordinate of the start of the white reference selection" msgstr "coordinate y dell'inizio della selezione di riferimento bianca" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:862 msgid "Width of the white reference selection" msgstr "Larghezza della selezione di riferimento bianca" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:863 msgid "Height of the white reference selection" msgstr "Altezza della selezione di riferimento bianca" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:864 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -4033,7 +4016,7 @@ "bianco idoneo.\n" "Se la selezione è vuota l'intera immagine sarà usata come riferimento." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:866 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." @@ -4042,7 +4025,7 @@ "sotto di questo valore non vengono presi in considerazione. I pixel neri " "sono sempre esclusi dal calcolo." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:867 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." @@ -4051,38 +4034,33 @@ "sopra di questo valore non sono presi in considerazione. I pixel saturi sono " "sempre esclusi dal calcolo." -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:868 msgid "Lower limit: " msgstr "Limite inferiore: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:869 msgid "Upper limit: " msgstr "Limite superiore: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:870 msgid "White reference" msgstr "Riferimento al bianco" -#: ../src/algos/PSF.c:690 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" msgstr "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angolo=%0.2f deg\n" -"Valore dello sfondo=%0.6f\n" -"Intensità massima=%0.6f\n" -"Magnitudine (%s)=%0.2f\n" -"RMSE=%.3e\n" +"Non ci sono abbastanza campioni di background. Il background da estrarre non " +"può essere calcolato.\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Memoria esaurita - interruzione" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "Non ci sono abbastanza campioni." #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -4100,13 +4078,13 @@ msgstr "Miglioramento della saturazione: elaborazione...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1760 ../src/core/preprocess.c:68 +#: ../src/core/preprocess.c:305 ../src/core/siril.c:609 ../src/core/siril.c:900 +#: ../src/core/siril.c:996 ../src/core/siril.c:1088 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:326 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "" "Errore, calcolo delle statistiche non riuscito.\n" @@ -4118,12 +4096,14 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:546 +#: ../src/gui/photometric_cc.c:564 msgid "There is no selection" msgstr "Non c'è alcuna selezione" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:547 +#: ../src/gui/photometric_cc.c:565 msgid "Make a selection of the background area" msgstr "Crea una selezione dell'area di sfondo" @@ -4131,7 +4111,7 @@ msgid "Make a selection of the white reference area" msgstr "Crea una selezione dell'area bianca di riferimento" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:322 msgid "Background reference:\n" msgstr "Sfondo di riferimento:\n" @@ -4139,7 +4119,7 @@ msgid "White reference:\n" msgstr "Riferimento al bianco:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:307 msgid "Color calibration factors:\n" msgstr "Fattori di calibrazione dei colori:\n" @@ -4147,51 +4127,38 @@ msgid "Color Calibration: processing...\n" msgstr "Calibrazione dei colori: elaborazione...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Immagine %d: %ld pixel corretti (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Correzione cosmetica: elaborazione...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:245 +#: ../src/core/preprocess.c:345 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld pixel corretti (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Trasformata di Fourier: elaborazione...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "C'è qualcosa di sbagliato nei tuoi file\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Canale #%d: estrazione dello sfondo completata.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Estrazione dello sfondo: elaborazione...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Insufficienti campioni dello sfondo.\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:260 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" "I raggi interno ed esterno sono troppo piccoli. Si prega di aggiornare i " "valori nel riquadro delle impostazioni.\n" -#: ../src/algos/photometry.c:303 +#: ../src/algos/photometry.c:311 msgid "" "Warning: There aren't enough pixels in the sky annulus. You need to make a " "larger selection.\n" @@ -4199,78 +4166,97 @@ "Attenzione: non ci sono abbastanza pixel nell'anello di cielo. È necessario " "specificare una selezione più ampia.\n" +#: ../src/algos/photometry.c:364 ../src/algos/photometry.c:378 +msgid "Wrong value" +msgstr "Valore errato" + +#: ../src/algos/photometry.c:365 ../src/algos/photometry.c:379 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "" +"Il valore del raggio interno deve essere minore di quello esterno. Per " +"favore, modifica il valore." + +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1838 +#: ../src/gui/callbacks.c:2903 ../src/gui/callbacks.c:4548 +#: ../src/gui/callbacks.c:4554 ../src/gui/callbacks.c:4575 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Errore" + #. Matching information -#: ../src/algos/plateSolver.c:714 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "%d coppie corrispondono.\n" -#: ../src/algos/plateSolver.c:716 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "Inlier:%*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "Risoluzione:%*.3lf arcsec/px\n" -#: ../src/algos/plateSolver.c:736 +#: ../src/algos/plateSolver.c:762 #, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "Rotazione:%+*.2f gradi %s\n" -#: ../src/algos/plateSolver.c:736 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "(capovolto)" -#: ../src/algos/plateSolver.c:742 +#: ../src/algos/plateSolver.c:776 #, c-format msgid "Focal:%*.2lf mm\n" msgstr "Focale:%*.2lf mm\n" -#: ../src/algos/plateSolver.c:743 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "Dimensione del pixel:%*.2lf µm\n" -#: ../src/algos/plateSolver.c:746 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "Campo di vista: %s x %s\n" -#: ../src/algos/plateSolver.c:749 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "Centro dell'immagine: RA: %s, DEC: %s\n" -#: ../src/algos/plateSolver.c:784 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "Dimensione del catalogo NOMAD: %d oggetti\n" -#: ../src/algos/plateSolver.c:818 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "Dimensione del catalogo TYCHO-2: %d oggetti\n" -#: ../src/algos/plateSolver.c:852 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "Dimensione del catalogo Gaia DR2 %d oggetti\n" -#: ../src/algos/plateSolver.c:886 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "Dimensione del catalogo PPMXL: %d oggetti\n" -#: ../src/algos/plateSolver.c:921 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "Dimensione del catalogo Bright stars: %d oggetti\n" -#: ../src/algos/plateSolver.c:981 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" @@ -4278,7 +4264,7 @@ "Plate Solving fallito. L'immagine non può essere allineata con le stelle di " "riferimento.\n" -#: ../src/algos/plateSolver.c:984 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4293,7 +4279,7 @@ "Infine, ricordati che l'algoritmo di plate solving dovrebbe essere applicato " "solo su immagini lineari." -#: ../src/algos/plateSolver.c:1029 +#: ../src/algos/plateSolver.c:1067 #, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4301,19 +4287,19 @@ "Non ci sono abbastanza stelle all'interno dell'immagine. Sono necessarie " "almeno %d stelle." -#: ../src/algos/plateSolver.c:1235 +#: ../src/algos/plateSolver.c:1283 msgid "There are no keywords stored in the FITS header.\n" msgstr "Non ci sono keyword all'interno dell'header FITS.\n" -#: ../src/algos/plateSolver.c:1236 +#: ../src/algos/plateSolver.c:1284 msgid "No metadata" msgstr "Nessun metadato" -#: ../src/algos/plateSolver.c:1283 +#: ../src/algos/plateSolver.c:1351 msgid "Astrometric solution detected" msgstr "Soluzione astrometrica rilevata" -#: ../src/algos/plateSolver.c:1283 +#: ../src/algos/plateSolver.c:1351 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." @@ -4321,6 +4307,27 @@ "La soluzione astrometrica contenuta nell'immagine verrà rimossa dalla " "trasformazione geometrica e non sarà possibile annullare l'operazione." +#: ../src/algos/PSF.c:704 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angolo=%0.2f deg\n" +"Valore dello sfondo=%0.6f\n" +"Intensità massima=%0.6f\n" +"Magnitudine (%s)=%0.2f\n" +"RMSE=%.3e\n" + #. only used for progress bar #: ../src/algos/rgradient.c:69 msgid "Rotational gradient in progress..." @@ -4330,33 +4337,33 @@ msgid "Rotational gradient complete." msgstr "Gradiente rotazionale completo." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:222 +#: ../src/core/command.c:460 ../src/core/command.c:783 +#: ../src/core/command.c:951 ../src/core/command.c:986 +#: ../src/core/command.c:1066 ../src/core/command.c:1418 +#: ../src/core/command.c:1545 ../src/core/command.c:1568 +#: ../src/core/command.c:1596 ../src/core/command.c:1622 +#: ../src/core/command.c:1798 ../src/core/command.c:1867 +#: ../src/core/command.c:2720 ../src/gui/callbacks.c:3951 +#: ../src/gui/callbacks.c:4159 ../src/gui/callbacks.c:4317 +#: ../src/gui/callbacks.c:4350 ../src/gui/callbacks.c:4398 +#: ../src/gui/callbacks.c:4532 ../src/gui/callbacks.c:4686 +#: ../src/gui/callbacks.c:4865 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Un altro compito è già in corso, la nuova richiesta viene ignorata.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "Ricerca stella: elaborazione...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "Questa stella è già stata scelta!\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "Peaker" @@ -4369,7 +4376,7 @@ msgstr "Errore nell'allineamento dei livelli." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Registrazione completa." @@ -4414,9 +4421,9 @@ msgid "You must at least load two layers before!\n" msgstr "Prima devi caricare almeno due livelli!\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:154 ../src/gui/wavelets.c:163 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4652 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Attenzione" @@ -4447,94 +4454,94 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Regolamento livello da %d a %g fattori di luminosità\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:390 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "" "Non è possibile moltiplicare per un coefficiente minore o uguale a 0.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:413 #, c-format msgid "Entropy: %.3lf\n" msgstr "Entropia: %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:449 msgid "Number of iterations must be > 0.\n" msgstr "Il numero di iterazioni deve essere > 0.\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:454 msgid "Sigma must be > 0.\n" msgstr "Sigma deve essere > 0.\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:494 ../src/core/command.c:997 msgid "Crop: x and y must be positive values.\n" msgstr "Ritaglio: x e y devono avere valori positivi.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:498 ../src/core/command.c:1001 msgid "Crop: width and height must be greater than 0.\n" msgstr "Ritaglio: larghezza e altezza devono essere maggiori di 0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:502 ../src/core/command.c:1038 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "" "Ritaglio: larghezza e altezza, rispettivamente, devono essere minori di %d e " "%d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:511 ../src/core/command.c:1010 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Ritaglio: seleziona una regione o fornisci x, y, larghezza e altezza\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:152 +#: ../src/core/command.c:597 ../src/core/command.c:2556 +#: ../src/gui/callbacks.c:4650 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "" "Wavelet: il numero massimo di piani per un'immagine di questa dimensione è " "%d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:161 +#: ../src/core/command.c:603 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Wavelet: il tipo deve essere %d o %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:672 msgid "Cannot list files, set working directory first.\n" msgstr "Non posso elencare i file, impostare prima la cartella di lavoro.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:678 ../src/core/command.c:687 msgid "Siril cannot open the directory.\n" msgstr "Siril non può aprire la cartella.\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:709 #, c-format msgid "Link: %s\n" msgstr "Collegamento: %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:713 #, c-format msgid "Directory: %s\n" msgstr "Cartella: %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:723 ../src/core/command.c:730 #, c-format msgid "Sequence: %s\n" msgstr "Sequenza: %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:726 ../src/core/command.c:728 #, c-format msgid "Image: %s\n" msgstr "Immagine: %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:735 ../src/core/command.c:2535 msgid "********* END OF THE LIST *********\n" msgstr "********* FINE DELLA LISTA *********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:765 msgid "The scaling factor must be less than 5.0\n" msgstr "Il fattore di ridimensionamento deve essere inferiore a 5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:835 ../src/core/command.c:933 +#: ../src/core/command.c:955 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4542,12 +4549,12 @@ "La selezione corrente è troppo grande. Per favore crea una selezione attorno " "ad una stella singola per determinare la PSF.\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:839 ../src/core/command.c:937 +#: ../src/core/command.c:959 ../src/io/sequence.c:1589 msgid "Select an area first\n" msgstr "Seleziona prima un'area\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:845 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" @@ -4555,16 +4562,16 @@ "Magnitudine relativa: %.3lf, Magnitudine reale ridotta: %.3lf, Offset: " "%.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:861 ../src/core/command.c:916 +#: ../src/core/command.c:978 msgid "This command can be used only when a sequence is loaded\n" msgstr "Questo comando può essere usato solo quando una sequenza è caricata\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:869 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Esegui prima una PSF per la sequenza (vedi seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:873 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4573,12 +4580,12 @@ "La magnitudine di riferimento è stata impostata per la stella %d a %f e " "sarà calcolata per ciascuna immagine\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:885 #, c-format msgid "FITS extension unknown: %s\n" msgstr "Estensione FITS sconosciuta: %s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:908 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" @@ -4586,134 +4593,133 @@ "Valori errati nei parametri. Sigma deve essere >= 0,05 e la rotondità deve " "essere compresa tra 0 e 0,9.\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:921 msgid "Reference magnitude unset for sequence\n" msgstr "Magnitudine di riferimento non impostata per la sequenza\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:973 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Elaborando la PSF sulla sequenza caricata, livello %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1024 ../src/core/command.c:1030 +#: ../src/core/command.c:1637 ../src/core/command.c:1643 +#: ../src/core/command.c:1879 ../src/core/command.c:1886 +#: ../src/core/command.c:2143 ../src/core/command.c:2285 +#: ../src/core/command.c:2370 ../src/core/command.c:2378 #, c-format -msgid "No sequence %s found.\n" -msgstr "Nessuna sequenza %s trovata.\n" +msgid "No sequence `%s' found.\n" +msgstr "Nessuna sequenza `%s' trovata.\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1059 #, c-format msgid "Background value: %d\n" msgstr "Valore dello sfondo: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1114 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Il file %s è stato creato per il livello %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1197 msgid "Number of layers MUST be 1 or 3\n" msgstr "Il numero di livelli DEVE essere 1 o 3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1212 msgid "new empty image" msgstr "nuova immagine vuota" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1229 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "I valori devono essere positivi e inferiori a %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1249 ../src/core/command.c:1510 msgid "Wrong parameters.\n" msgstr "Parametri errati.\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1254 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "Fill2: seleziona una regione o fornisci x, y, larghezza e altezza\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1277 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "Trovate %d stelle nell'immagine, canale #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1291 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "" "find_hot deve essere applicato su un frame master-dark a canale singolo" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1299 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld pixel freddi e %ld pixel caldi\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1304 ../src/core/command.c:1339 #, c-format msgid "Cannot open file: %s\n" msgstr "Non posso aprire il file: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1400 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "" "correzione cosmetica: errore nel file in formato cosme alla linea %d: %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1408 msgid "There were some errors, please check your input file.\n" msgstr "" "Si sono verificati alcuni errori, per favore controlla il tuo file di " "input.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1430 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "La dimensione del nucleo DEVE essere dispari o maggiore di 1.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1435 msgid "Modulation value MUST be between 0 and 1\n" msgstr "Il valore di modulazione DEVE essere compreso tra 0 e 1\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1458 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Il centro di gravità delle coordinate è (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1573 msgid "FFT does not work with sequences\n" msgstr "FFT non funziona con le sequenze\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1677 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Usa questo comando per selezionare le immagini in una sequenza, prima carica " "una sequenza.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1683 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "Il primo argomento deve essere compreso tra 0 e il numero di immagini meno " "1.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1717 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "" "Aggiornamento della selezione completato, %d immagini sono selezionate nella " "sequenza\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1736 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Siril non può dividere i livelli. Assicurati che la tua immagine sia in " "modalità RGB.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1780 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4722,62 +4728,92 @@ "%s livelli: Media: %0.1lf, Mediana: %0.1lf, Sigma: %0.1lf, Deviazione media: " "%0.1lf, Min: %0.1lf, Max: %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1810 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Conversione: errore durante l'apertura della directory di lavoro %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1829 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Conversione: elaborazione...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1840 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Conversione: nessuna cartella di lavoro impostata.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1899 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Allineamento Global Star (cielo profondo)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "Spazio disco insufficiente per eseguire l'operazione Drizzle!\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1960 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "Registrazione: elaborazione utilizzando il metodo %s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1979 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" +"Le opzioni di normalizzazione non sono ammesse in questo contesto, verranno " +"ignorate.\n" + +#: ../src/core/command.c:1999 ../src/core/command.c:2017 +#: ../src/core/command.c:2035 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "" +"Non posso calcolare l'argomento `%s' per il filtro `%s' interruzione.\n" + +#: ../src/core/command.c:2006 ../src/core/command.c:2024 +#: ../src/core/command.c:2042 ../src/core/command.c:2055 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Argomento mancante a %s, interruzione.\n" + +#: ../src/core/command.c:2061 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"Il opzioni per il nome del file di output non sono ammesse in questo " +"contesto, verranno ignorate.\n" + +#: ../src/core/command.c:2065 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Argomento non valido per lo stacking `%s', interruzione.\n" + +#: ../src/core/command.c:2082 #, c-format msgid "Stacking sequence %s\n" msgstr "Sequenza di stacking %s\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2092 +msgid "Not using rejection for stacking\n" +msgstr "Non si sta utilizzando la rejection per lo stacking\n" + +#: ../src/core/command.c:2135 #, c-format msgid "Could not save the stacking result %s\n" msgstr "Non posso salvare il risultato dello stacking %s\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2157 msgid "Looking for sequences in current working directory...\n" msgstr "Ricerca sequenze nella cartella di lavoro corrente...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2159 msgid "Error while searching sequences or opening the directory.\n" msgstr "" "Errore durante la ricerca delle sequenze o l'apertura della cartella.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2168 msgid "Starting stacking of found sequences...\n" msgstr "Inizio dello stacking delle sequenze trovate...\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2176 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "Stacking applicato con successo a %d sequenze.\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2216 ../src/core/command.c:2311 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4785,22 +4821,22 @@ "Lo stacking medio con rejection qui utilizza la Winsorized rejection e " "richiede due argomenti extra: sigma basso e alto.\n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2225 ../src/core/command.c:2320 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "Il tipo di stacking fornito è sconosciuto (%s).\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "Il metodo di stacking '%s' non è valido\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2256 msgid "Stacked sequence successfully.\n" msgstr "" "Stacking eseguito con successo sulla sequenza.\n" "\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2444 ../src/gui/callbacks.c:3963 msgid "Preprocessing...\n" msgstr "Pre-elaborazione...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2494 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4809,26 +4845,49 @@ "Il numero di processori logici DEVE essere maggiore di 0 e minore o uguale a " "%d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2504 #, c-format msgid "Using now %d logical processors\n" msgstr "Ora in uso %d processori logici\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2516 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"Il range del rapporto di memoria accettabile è [0.05, 2], con valori più " +"bassi la memoria disponibile raccomandata\n" + +#: ../src/core/command.c:2520 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Selezionare un rapporto della memoria usata per lo stacking superiore a 1 " +"implica l'utilizzo di memoria sull'hard-disk, che è molto lenta e non " +"raccomandata (richiesta %g)\n" + +#: ../src/core/command.c:2524 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "Memoria utilizzabile per lo stacking cambiata in %g\n" + +#: ../src/core/command.c:2530 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* LISTA DEI COMANDI DISPONIBILI *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2611 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Comando '%s' sconosciuto o non ancora implementato\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2618 #, c-format msgid "Usage: %s\n" msgstr "Utilizzo: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2625 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "" @@ -4836,58 +4895,62 @@ "\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2631 #, c-format msgid "Running command: %s\n" msgstr "Comando in esecuzione:%s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2680 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "Errore nella linea %d. Uscita dall'elaborazione batch\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Errore ialla riga %d: '%s'.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2681 +msgid "Exiting batch processing.\n" +msgstr "Uscita dall'elaborazione batch.\n" + +#: ../src/core/command.c:2700 msgid "Script execution finished successfully.\n" msgstr "" "Esecuzione dello script completata con successo.\n" "\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2702 msgid "Total execution time" msgstr "Tempo di esecuzione totale" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2704 msgid "Script execution failed.\n" msgstr "Esecuzione dello script non riuscita.\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:469 +#: ../src/core/command.c:2730 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "Il file [%s] non esiste\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2738 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "Avvio dello script %s\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2745 msgid "Command execution failed.\n" msgstr "Esecuzione del comando non riuscita.\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2870 msgid "Can be used in a script: " msgstr "Può essere usato in uno script: " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2873 msgid "YES" msgstr "SÌ" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2875 msgid "NO" msgstr "NO" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2885 msgid "No help for this command" msgstr "Nessun aiuto per questo comando" @@ -4973,10 +5036,19 @@ msgstr "Stessa funzione di COSME ma applicata alle immagini CFA RAW" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "" -"Ritaglia l'immagine corrente all'interno del rettangolo selezionato in " -"precedenza" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Può essere usata nella GUI: se è stata eseguita una selezione col mouse, " +"richiamando il comando CROP senza argomenti si otterrà un crop di questa " +"selezione. Viceversa, o anche negli script, gli argomenti devono essere " +"forniti con \"x\" e \"y\" che devono essere le coordinate dell'angolo in " +"alto a sinistra e \"larghezza\" e \"altezza\" che devono essere le " +"dimensioni della selezione" #: ../src/core/command_def.h:22 msgid "" @@ -5241,8 +5313,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5250,15 +5324,17 @@ "Note that only hot pixels are corrected in cosmetic correction process" msgstr "" "Pre-elabora la sequenza \"sequencename\" usando bias, dark e flat passati " -"come argomento. È possibile specificare se le immagini sono CFA per scopi di " +"come argomenti. È possibile specificare se le immagini sono CFA per scopi di " "correzione cosmetica con l'opzione \"-cfa\" e anche demosaicizzare le " -"immagini alla fine del processo con \"-debayer\". L'opzione \"-flip\" dice a " -"Siril di leggere l'immagine dall'alto verso il basso per l'operazione di " -"demosaicizzazione e l'opzione \"-equalize_cfa\" equalizza l'intensità media " -"dei livelli RGB del master flat CFA. È anche possibile ottimizzare la " -"sottrazione del dark con \"-opt\".\n" +"immagini alla fine del processo con \"-debayer\". Questa opzione puà essere " +"associata alla \"-stretch\" per estendere l'immagine a 16-bit durante questa " +"operazione (funziona solo con le immagini provenienti da DSLR) L'opzione \"-" +"flip\" dice a Siril di leggere l'immagine dall'alto verso il basso per " +"l'operazione di demosaicizzazione e l'opzione \"-equalize_cfa\" equalizza " +"l'intensità media dei livelli RGB del master flat CFA. È anche possibile " +"ottimizzare la sottrazione del dark con \"-opt\".\n" "\n" -"Nota che solo i pixel caldi vengono corretti nel processo di correzione " +"Notare che solo i pixel caldi vengono corretti nel processo di correzione " "cosmetica" #: ../src/core/command_def.h:65 @@ -5500,7 +5576,7 @@ "comprendere. Per azzerare la stella di riferimento e l'offset della " "magnitudine vedi UNSETMAGSEQ" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" @@ -5508,37 +5584,51 @@ "Divide l'immagine a colori in tre file distinti (uno per ciascun colore) e " "li salva in file \"r\", \"g\" e \"b\"" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" "Effettua lo stacking della sequenza \"sequencename\", usando le opzioni. I " "tipi permessi sono: somma, massimo, minimo, media o mediana, e scarto o " "media che richiedono l'uso dell'argomento addizionale \"sigma basso\" ed " "\"alto\" usati dall'algoritmo Winsorized sigma clipping rejection (non può " -"essere modificato da qui). Diversi tipi di normalizzazione sono consentiti: " -"\"-norm=add\" per l'additiva, \"-norm=mul\" per la moltiplicativa. Le " -"opzioni \"-norm=addscale\" e \"-norm=mulscale\" applicano le stesse " -"normalizzazioni ma con operazioni di scala. Se nessun argomento eccetto il " -"nome della sequenza viene fornito, si assume l'uso dello stacking somma" +"essere modificato da qui). \n" +"Diversi tipi di normalizzazione sono consentiti: \"-norm=add\" per " +"l'additiva, \"-norm=mul\" per la moltiplicativa. Le opzioni \"-norm=addscale" +"\" e \"-norm=mulscale\" applicano le stesse normalizzazioni ma con " +"operazioni di scala. \n" +"Se non viene fornito alcun argomento tranne il nome della sequenza, si " +"assume l'uso dello stacking somma.\n" +"Il nome dell'immagine risultante può essere definito con l'opzione \"-out" +"\".\n" +"Le immagini sottoposte a stacking posso essere selezionate basandosi su " +"alcuni filtri, come la selezione manuale o la miglior FWHM, con alcuni delle " +"opzione \"-filter-*\".\n" +"Vedere la command reference per la documentazione completa di questo comando" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" "Apre tutte le sequenze nella cartella di lavoro corrente e ne effettua lo " "stacking con il tipo di stacking opzionalmente specificato o con lo stacking " "somma. Vedi il comando STACK per la descrizione delle opzioni" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5547,22 +5637,22 @@ "una selezione il comando restituisce le statistiche all'interno della " "selezione" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Rimpiazza i valori inferiori a \"level\" con \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Rimpiazza i valori superiori a \"level\" con \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Rimpiazza i valori inferiori a \"lo\" con \"lo\" e i valori superiori a \"hi" "\" con \"hi\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5570,11 +5660,11 @@ "Permette una semplice deselezione di massa delle immagini nella sequenza " "caricata (da \"da\" a \"a\" inclusi). Vedi SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Resetta la magnitudine di calibrazione a 0. Vedi SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5582,7 +5672,7 @@ "Azzera la calibrazione della magnitudine e la stella di riferimento per la " "sequenza. Vedi SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5590,14 +5680,14 @@ "Applica all'immagine su cui si sta lavorando una maschera di contrasto con " "un sigma \"sigma\" e un coefficiente \"multi\"" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "" "Visualizza un'immagine con \"low\" e \"high\" come il valori di soglia basso " "e alto" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5609,7 +5699,7 @@ "è memorizzato in un file come una struttura contenente i piani, pronta per " "una ricostruzione pesata con WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5624,13 +5714,48 @@ msgid "Loading init file: '%s'\n" msgstr "Caricamento file di inizializzazione: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"Ripristino cartella di lavoro corrente allo stato iniziale, la cartella " -"salvata non è più disponibile\n" +"Spazio disco insufficiente per eseguire l'operazione: %sB disponibili ma %sB " +"necessari (mancano %sB)\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "Non c'è abbastanza spazio disco" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Apri file" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Apri" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Cancel" +msgstr "_Annulla" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +msgid "Add Files" +msgstr "Aggiungere file" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Add" +msgstr "_Aggiungere" + +#: ../src/core/OS_utils.c:416 ../src/core/OS_utils.c:419 +msgid "Save File" +msgstr "Salva File" + +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Save" +msgstr "_Salva" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 msgid "Could not create the named pipe " @@ -5640,50 +5765,91 @@ msgid "The named pipe file " msgstr "Il file della named pipe " -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" msgstr "Non posso aprire la named pipe\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" msgstr "comando troppo lungo o malformato\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "comando interrotto\n" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:155 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Ottimizzazione dark: k0=%.3lf\n" + +#: ../src/core/preprocess.c:213 +#, c-format +msgid "Pre-processing image %s" +msgstr "Pre-elaborazione dell'immagine %s" + +#: ../src/core/preprocess.c:252 ../src/core/preprocess.c:348 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"La correzione cosmetica darkmap è supportata solo con immagini a canale " +"singolo\n" + +#: ../src/core/preprocess.c:263 +#, c-format +msgid "Saving image %s" +msgstr "Salvataggio immagine %s" + +#: ../src/core/preprocess.c:309 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Normalizzazione valore valutato automaticamente: %.2lf\n" + +#: ../src/core/preprocess.c:357 +#, c-format +msgid "Loading and pre-processing image %d/%d (%s)" +msgstr "Caricamento e pre-elaborazione dell'immagine %d/%d (%s)" + +#: ../src/core/preprocess.c:363 +#, c-format +msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgstr "Non posso leggere uno dei file raw: %s. Pre-elaborazione abortita." + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "Nessuna immagine selezionata per essere elaborata, interruzione.\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Preparazione sequenza d'elaborazione fallita.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Mappatura dell'indice di output fallita (%d/%d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": elaborazione...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Elaborazione dell'immagine %d (%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Elaborazione della sequenza fallita. Controlla i log." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "Elaborazione della sequenza fallita.\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "Elaborazione della sequenza parzialmente riuscita. Controlla i log." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " @@ -5692,140 +5858,196 @@ "Elaborazione della sequenza parzialmente riuscita, con un fallimento su %d " "immagini, che sono state temporaneamente escluse dalla sequenza.\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Elaborazione della sequenza terminata con successo." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "Elaborazione della sequenza terminata con successo.\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "Finalizzazione elaborazione della sequenza fallita.\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:435 msgid "Process aborted by user\n" msgstr "Processo abortito dall'utente\n" -#: ../src/core/siril.c:164 -#, c-format -msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" msgstr "" -"imoper: le immagini non hanno la stessa dimensione (w = %u|%u, h = %u|%u)\n" +"Filtro di sequenza: i valori possono essere solo lettere o percentuali\n" -#: ../src/core/siril.c:211 +#: ../src/core/sequence_filtering.c:200 #, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Le immagini non hanno la stessa dimensione (w = %d|%d, h = %d|%d)\n" +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Utilizzate le immagini selezionate dal filtro (%d/%d della sequenza)\n" -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:383 ../src/gui/plot.c:443 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Errore" +#: ../src/core/sequence_filtering.c:208 +#, c-format +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Utilizzare il filtro immagini stelle FWHM (sotto %f)\n" + +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Utilizzare il filtro immagini rotondità delle stelle (sopra %f)\n" -#: ../src/core/siril.c:249 +#: ../src/core/sequence_filtering.c:224 #, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Utilizzare il filtro immagini qualità stelle (sotto %f)\n" + +#: ../src/core/sequence_filtering.c:251 msgid "" -"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" -"%d)\n" +"Provided filtering options do not allow at least two images to be " +"processed.\n" msgstr "" -"addmax: le immagini non hanno la stessa dimensione (w = %d|%d, h = %d|%d, " -"layers = %d|%d)\n" +"Le opzioni scelte per il filtraggio non permettono di processare almeno due " +"immagini.\n" -#: ../src/core/siril.c:337 -msgid "Unsharp: processing...\n" -msgstr "Unsharp: elaborazione...\n" +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"L'immagine di riferimento non è nell'insieme di immagini selezionare. Per " +"evitare questo problema si prega di cambiarla o cambiare i parametri di " +"filtraggio.\n" -#: ../src/core/siril.c:587 -msgid "Could not compute normalization values for the images, aborting.\n" +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "Uso l'immagine %d come immagine di riferimento temporanea\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" msgstr "" -"Non posso calcolare i valori di normalizzazione per le immagini, " -"interruzione.\n" +"Attenzione: alcune immagini non dispongono di informazioni per la selezione " +"delle immagini migliori, si utilizzano solo i dati disponibili (%d immagini " +"su %d).\n" -#: ../src/core/siril.c:753 +#: ../src/core/sequence_filtering.c:367 #, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "Ottimizzazione dark: k0=%1.3lf\n" +msgid "Processing all images in the sequence (%d)\n" +msgstr "Elaborazione di tutte le immagini nella sequenza (%d)\n" -#: ../src/core/siril.c:836 +#: ../src/core/sequence_filtering.c:370 #, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Normalizzazione valore valutato automaticamente: %.2lf\n" +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "Elaborazione delle sole immagini selezionate nella sequenza (%d)\n" -#: ../src/core/siril.c:843 +#: ../src/core/sequence_filtering.c:373 #, c-format -msgid "Pre-processing image %s" -msgstr "Pre-elaborazione dell'immagine %s" +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "" +"Elaborazione delle immagini nella sequenza con una FWHM minore o uguale a %g " +"(%d)\n" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 +#: ../src/core/sequence_filtering.c:378 +#, c-format msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" msgstr "" -"La correzione cosmetica darkmap è supportata solo con immagini a canale " -"singolo\n" +"Elaborazione delle immagini nella sequenza con una rotondità maggiore o " +"uguale a %g (%d)\n" -#: ../src/core/siril.c:895 +#: ../src/core/sequence_filtering.c:383 #, c-format -msgid "Saving image %s" -msgstr "Salvataggio immagine %s" +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "" +"Elaborazione delle immagini nella sequenza con una qualità superiore o " +"uguale a %g (%d)\n" -#: ../src/core/siril.c:944 +#: ../src/core/sequence_filtering.c:388 #, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Caricamento e pre-elaborazione dell'immagine %d/%d (%s)" +msgid "Processing images whose output don't already exist (%d)" +msgstr "Processamento immagini di cui non esiste ancora un output (%d)" -#: ../src/core/siril.c:950 +#: ../src/core/sequence_filtering.c:405 #, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." -msgstr "Non posso leggere uno dei file raw: %s. Pre-elaborazione abortita." +msgid "for a total of images processed of %d)\n" +msgstr "su un totale di immagini processate di %d)\n" + +#: ../src/core/siril.c:161 +#, c-format +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "" +"imoper: le immagini non hanno la stessa dimensione (w = %u|%u, h = %u|%u)\n" + +#: ../src/core/siril.c:203 +#, c-format +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" +msgstr "" +"addmax: le immagini non hanno la stessa dimensione (w = %d|%d, h = %d|%d, " +"layers = %d|%d)\n" + +#: ../src/core/siril.c:291 +msgid "Unsharp: processing...\n" +msgstr "Unsharp: elaborazione...\n" + +#: ../src/core/siril.c:541 +msgid "Could not compute normalization values for the images, aborting.\n" +msgstr "" +"Non posso calcolare i valori di normalizzazione per le immagini, " +"interruzione.\n" -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:673 #, c-format msgid "Extracting %s..." msgstr "Estraendo %s..." -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:716 msgid "Median Filter: processing...\n" msgstr "Filtro mediano: elaborazione...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:725 msgid "Median filter failed" msgstr "Filtro mediano non riuscito" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:793 msgid "Median filter applied" msgstr "Filtro mediano applicato" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:870 msgid "Banding Reducing: processing...\n" msgstr "Riduzione del banding: elaborazione...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1039 msgid "backgroundnoise: Error, no data computed\n" msgstr "backgroundnoise: Errore, nessun dato calcolato\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1049 msgid "backgroundnoise: does not converge\n" msgstr "backgroundnoise: non converge\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1079 msgid "Noise standard deviation: calculating...\n" msgstr "Deviazione standard del rumore: sto calcolando...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1099 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Valore di rumore dello sfondo (canale: #%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1114 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Lucy-Richardson deconvolution: elaborazione...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "File di log (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "" @@ -5877,214 +6099,148 @@ msgid "File I/O Error: Unable to write swap file in %s: [%s]\n" msgstr "Errore I/O del file: non posso scrivere il file di swap in %s: [%s]\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "Errore sconosciuto\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "File o directory inesistente\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "\"%s\" non è una cartella\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2902 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "" "Non hai il permesso di scrivere in questa cartella: %s\n" "\n" -#: ../src/core/utils.c:373 +#: ../src/core/utils.c:318 #, c-format msgid "Setting CWD (Current Working Directory) to '%s'\n" msgstr "Impostazione CLC (Cartella di Lavoro Corrente) a '%s'\n" -#: ../src/core/utils.c:380 +#: ../src/core/utils.c:321 #, c-format msgid "Could not change directory to '%s'.\n" -msgstr "Non posso cambiare la cartella in '%s'.\n" - -#: ../src/core/utils.c:799 -msgid "Filename is too long, not expanding it\n" -msgstr "Il nome del file è troppo lungo, non viene espanso\n" - -#: ../src/core/utils.c:1019 -#, c-format -msgid "Checking GTK version ... GTK-%d.%d\n" -msgstr "Controllando la versione delle GTK ... GTK-%d.%d\n" - -#: ../src/core/utils.c:1042 -#, c-format -msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" -msgstr "La versione delle GTK non corrisponde ai requisiti: (GTK-%d.%d)\n" - -#: ../src/core/utils.c:1048 -#, c-format -msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -msgstr "" -"Non posso caricare il file del foglio di stile CSS: %s. Per favore " -"reinstalla %s\n" - -#: ../src/core/utils.c:1058 ../src/main.c:257 -#, c-format -msgid "Successfully loaded '%s'\n" -msgstr "Caricato con successo '%s'\n" - -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Le stelle devono avere la stessa unità." - -#: ../src/gui/PSF_list.c:171 -#, c-format -msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stelle\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angolo:\t%.2f gradi\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Stella %d di %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "File FITS (*.fit, *.fits, *.fts)" +msgstr "Non posso cambiare la cartella in '%s'.\n" -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "File RAW di camere DSLR" +#: ../src/core/utils.c:488 +msgid "Filename is too long, not expanding it\n" +msgstr "Il nome del file è troppo lungo, non viene espanso\n" -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "File grafici (*.bmp" +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Controllando la versione delle GTK ... GTK-%d.%d\n" -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "File netpbm (*.ppm, *.pnm, *.pgm)" +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "La versione delle GTK non corrisponde ai requisiti: (GTK-%d.%d)\n" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "Files PIC IRIS (*.pic)" +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "" +"Non posso caricare il file del foglio di stile CSS: %s. Per favore " +"reinstalla %s\n" -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "File SER (*.ser)" +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "Caricato con successo '%s'\n" -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "File Video (*.avi, *.mpg, ...)" +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "" +"Sonia Zorba \n" +"Luca Benassi " -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Apri file" +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "Informazioni su Siril" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Apri" +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Programma di (pre-)elaborazione dell'immagine astronomica" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Annulla" +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Visita il sito web di Siril" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:799 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "L'immagine %d è stata deselezionata dalla sequenza\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:809 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "L'immagine %d è stata selezionata dalla sequenza\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:843 msgid "Selected all images from sequence\n" msgstr "Selezionate tutte le immagini dalla sequenza\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:847 msgid "Unselected all images from sequence\n" msgstr "Deselezionate tutte le immagini dalla sequenza\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1056 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "Impostando il valore MAX per gli slider di aggiustamento del cutoff\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1099 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "impostazione intervalli scalemin=%d, scalemax=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1205 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "" "<%%s.seq>: selezionate %%d immagini su %%d, l'immagine di riferimento è %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1208 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "" "<%%s.seq>: selezionate %%d immagini su %%d, l'immagine di riferimento è %%." "%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1217 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "" "<%s.seq>: %d immagini selezionate su %d, nessuna immagine di riferimento " "impostata" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1220 #, c-format msgid "%s, %d images selected" msgstr "%s, %d immagini selezionate" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1224 #, c-format msgid "No sequence" msgstr "Nessuna sequenza" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "- none -" msgstr "- nessuna -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1308 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" @@ -6092,88 +6248,103 @@ "ridisegno: il numero massimo di livelli supportati è %d (l'immagine attuale " "ne ha %d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1608 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: la selezione è troppo larga" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1610 #, c-format msgid "fwhm: no selection" msgstr "fwhm: nessuna selezione" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1635 #, c-format msgid "%s (channel 0)" msgstr "%s (canale 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1640 #, c-format msgid "%s (channel 1)" msgstr "%s (canale 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1644 #, c-format msgid "%s (channel 2)" msgstr "%s (canale 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1671 msgid "Unassigned" msgstr "Non assegnato" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1697 #, c-format msgid "%d: not affected yet" msgstr "%d: non ancora influenzato" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1837 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Valore zoom_value sconosciuto, qual è lo zoom corrente?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1923 msgid "B&W channel" msgstr "Canale B/N" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1956 +#, c-format +msgid "%d file loaded" +msgstr "%d file caricati" + +#: ../src/gui/callbacks.c:1958 #, c-format msgid "%d files loaded" msgstr "%d file caricati" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1963 +#, c-format +msgid "%d file selected, %s" +msgstr "%d file selezionati, %s" + +#: ../src/gui/callbacks.c:1965 +#, c-format +msgid "%d files selected, %s" +msgstr "%d file selezionati, %s" + +#: ../src/gui/callbacks.c:2107 #, c-format msgid "Mem: %ldMB" msgstr "Mem: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2109 #, c-format msgid "Mem: N/A" msgstr "Mem: ND" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2117 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "Spazio disco: %.0lf%s" +msgid "Disk Space: %s" +msgstr "Spazio disco: %s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2120 #, c-format msgid "Disk Space: N/A" msgstr "Spazio disco: N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2182 msgid "This binning is not handled yet\n" msgstr "Il binning non è ancora gestito\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2715 ../src/gui/callbacks.c:2716 #, c-format msgid "ERROR" msgstr "ERRORE" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2728 #, c-format msgid "Cold: %ld px" msgstr "Freddi: %ld px" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2729 ../src/gui/callbacks.c:2741 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -6181,144 +6352,116 @@ "Questo valore potrebbe essere troppo alto. Per favore, considera di " "modificare il valore sigma oppure deseleziona la checkbox." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2732 #, c-format msgid "Cold: %ld px" msgstr "Freddi: %ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2740 #, c-format msgid "Hot: %ld px" msgstr "Caldi: %ld px" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2744 #, c-format msgid "Hot: %ld px" msgstr "Caldi: %ld px" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2984 msgid "Closing application" msgstr "Chiusura dell'applicazione" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2984 msgid "Are you sure you want to quit?" msgstr "Sei sicuro di voler uscire?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3658 #, c-format msgid "new zoom value: %f\n" msgstr "nuovo valore di zoom: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3697 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3699 #, c-format msgid "undefined" msgstr "non definito" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3795 msgid "Exclude all images ?" msgstr "Escludi tutte le immagini ?" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3796 ../src/gui/callbacks.c:3806 msgid "This erases previous image selection and there's no possible undo." msgstr "" "Questo cancella la precedente selezione dell'immagine e non c'è modo di " "annullare le modifiche." -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3805 msgid "Include all images ?" msgstr "Includi tutte le immagini ?" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3827 msgid "Opening dark image..." msgstr "Apertura immagine dark..." -#: ../src/gui/callbacks.c:3802 +#: ../src/gui/callbacks.c:3830 msgid "NOT USING DARK: cannot open the file\n" msgstr "NON STO USANDO IL DARK: non posso aprire il file\n" -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3837 msgid "NOT USING DARK: number of channels is different" msgstr "NON STO USANDO IL DARK: il numero di canali non coincide" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3875 msgid "Opening flat image..." msgstr "Apertura immagine flat..." -#: ../src/gui/callbacks.c:3850 +#: ../src/gui/callbacks.c:3878 msgid "NOT USING FLAT: cannot open the file\n" msgstr "NON STO USANDO IL FLAT: non posso aprire il file\n" -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3885 msgid "NOT USING FLAT: number of channels is different" msgstr "NON STO USANDO IL FLAT: il numero di canali non coincide" -#: ../src/gui/callbacks.c:3884 +#: ../src/gui/callbacks.c:3912 msgid "Opening offset image..." msgstr "Apertura immagine offset..." -#: ../src/gui/callbacks.c:3887 +#: ../src/gui/callbacks.c:3915 msgid "NOT USING OFFSET: cannot open the file\n" msgstr "NON STO USANDO L'OFFSET: non posso aprire il file\n" -#: ../src/gui/callbacks.c:3894 +#: ../src/gui/callbacks.c:3922 msgid "NOT USING OFFSET: number of channels is different" msgstr "NON STO USANDO L'OFFSET: il numero di canali non coincide" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:4019 msgid "Error in preprocessing." msgstr "Errore nella pre-elaborazione." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4096 #, c-format msgid "Selected %s sequence %s..." msgstr "Selezionati %s sequenza %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4165 msgid "Searching for sequences in the current working directory..." msgstr "Ricerca di sequenze nella cartella di lavoro corrente..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"Lo sfondo non può essere estratto da se stesso. Per favore, clicca su Mostra " -"Immagine\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "" -"Per favore, applica la correzione all'immagine cliccando su Mostra Immagine\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Sottrazione completata ...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "Divisione completata ...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Carica prima un'immagine, abortito.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Il file stars.lst è stato creato.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4452 ../src/gui/callbacks.c:4500 msgid "Current selection is too large" msgstr "La selezione corrente è troppo grande" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4453 ../src/gui/callbacks.c:4501 msgid "To determine the PSF, please make a selection around a star." msgstr "Per determinare la PSF crea una selezione attorno ad una stella." -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4465 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6367,32 +6510,106 @@ "RMSE:\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4482 msgid "PSF for the sequence only applies on sequences" msgstr "La PSF per la sequenza si applica solo alle sequenze" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4483 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" "Si prega di caricare una sequenza prima di provare ad applicare la PSF per " "la sequenza." -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4547 msgid "FFT does not work with sequences !\n" msgstr "FFT non funziona con le sequenze!\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4553 msgid "Open an image first !\n" msgstr "Apri prima un'immagine !\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4574 msgid "Select magnitude and phase before !\n" msgstr "Seleziona prima magnitudine e fase!\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Canale grigio" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "_Non mostrare nuovamente questo messaggio" +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "File FITS (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "File RAW di camere DSLR" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "File grafici (*.bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "File netpbm (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "Files PIC IRIS (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "File SER (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "File Video (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Tutti i tipi di file supportati" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Calibrazione fotometrica del colore" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Applicazione della fotometria di apertura a %d stelle.\n" + +#: ../src/gui/photometric_cc.c:285 +#, c-format +msgid "%d stars excluded from the calculation.\n" +msgstr "%d stelle sono state escluse dall'elaborazione.\n" + +#: ../src/gui/photometric_cc.c:288 +msgid "No valid stars found.\n" +msgstr "Nessun stella valida trovata.\n" + +#: ../src/gui/photometric_cc.c:432 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalizzazione del canale %s.\n" + +#: ../src/gui/photometric_cc.c:432 +msgid "red" +msgstr "rosso" + +#: ../src/gui/photometric_cc.c:432 +msgid "green" +msgstr "verde" + +#: ../src/gui/photometric_cc.c:432 +msgid "blue" +msgstr "blu" + #: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Frame" @@ -6431,48 +6648,108 @@ msgid "Quality" msgstr "Qualità" -#: ../src/gui/plot.c:724 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Rotondità della stella (1 è rotondo)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "Magnitudine della stella (assoluta)" -#: ../src/gui/plot.c:736 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "Magnitudine della stella (relativa, usa setmag)" -#: ../src/gui/plot.c:739 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Valore dello sfondo" -#: ../src/gui/plot.c:742 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Posizione della stella sull'asse X" -#: ../src/gui/plot.c:745 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Posizione della stella sull'asse Y" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "Tempo d'esecuzione" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "%s: %d h %02d min %.2d s.\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Le stelle devono avere la stessa unità." + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %d min %.2d s.\n" -msgstr "%s: %d min %.2d s.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stelle\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angolo:\t%.2f gradi\n" +"rmse:\t%.3e\n" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Dati stella media" + +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%d stars" +msgstr "%d stelle" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:266 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "Star %d of %d" +msgstr "Stella %d di %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Il file stars.lst è stato creato.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "File con la lista delle stelle (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Carica prima un'immagine, abortito.\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6485,64 +6762,62 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "File BMP (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "File JPEG (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "File PNG (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "File TIFF (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:513 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Salvataggio BMP" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:471 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "Salvataggio PNG" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:492 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Salvataggio Netpbm" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:533 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Salvataggio JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:449 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Salvataggio TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:425 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "Salvataggio FITS" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Salva" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Salva File" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "" +"Fallimento durante il salvataggio del file. Controlla i log per maggiori " +"dettagli." -#: ../src/gui/save_dialog.c:391 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Questo tipo di file non è gestito. Non dovrebbe accadere" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, c-format -msgid "Searching scripts in: %s...\n" -msgstr "Ricerca degli script in: %s...\n" +msgid "Searching scripts in: \"%s\"...\n" +msgstr "Ricerca degli script in: \"%s\"...\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "Avvio dello script: %s\n" @@ -6555,16 +6830,16 @@ msgid "Please go to %d)\n" msgstr "Sequenza caricata: %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d da %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "Non posso caricare l'immagine %d dalla sequenza %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Non posso caricare il frame %d dalla sequenza SER %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Non posso caricare il frame %d dalla sequenza AVI %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Non posso caricare l'immagine parziale %d dalla sequenza %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "" "Questa operazione non è supportata sulle sequenze AVI (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "Questa operazione non è supportata sulle sequenze interne (seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1154 #, c-format msgid "Closing sequence %s\n" msgstr "Sto chiudendo la sequenza %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1259 msgid "internal sequence" msgstr "sequenza interna" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1340 msgid "Processing..." msgstr "Elaborazione..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1466 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "Nessuna stella è stata trovata nell'area dell'immagine %d intorno a %d,%d " "(usa un'area più grande?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1470 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" @@ -7309,7 +7613,7 @@ "Nessuna stella è stata trovata nell'area dell'immagine %d intorno a %d,%d " "(usa l'opzione 'segui stella'?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1519 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -7317,7 +7621,7 @@ "L'analisi delle stelle non dà risultati consistenti quando l'esposizione " "cambia lungo la sequenza.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1593 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7326,7 +7630,7 @@ "centrata sulla stella precedentemente trovata; questo disabilita " "l'elaborazione parallela.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1595 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -7335,18 +7639,18 @@ "muovere l'area di selezione per ciascuna immagine; questo è compatibile con " "l'elaborazione parallela.\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1617 msgid "PSF on area" msgstr "PSF sull'area" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Usando le informazioni di registrazione del livello %d per esportare la " "sequenza\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7354,7 +7658,7 @@ "L'output MP4 non è supportato perché siril è stato compilato senza il " "supporto ffmpeg.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7362,40 +7666,40 @@ "L'output del sensore deve avere una larghezza che è un multiplo di 32 e " "un'altezza pari, ridimensionando la selezione.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "l'immagine %d è stata esclusa dall'esportazione\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Elaborazione dell'immagine " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Esportazione: non posso leggere il frame, interruzione\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "Esportazione della sequenza fallita. Controlla i log." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "Esportazione della sequenza fallita\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "Esportazione della sequenza completata con successo." -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "Esportazione della sequenza completata con successo.\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "La larghezza o l'altezza non possono essere nulle. Non ridimensiono.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Ritaglio alla selezione" @@ -7436,106 +7740,103 @@ "Scrittura di file SER da immagini FITS con più di 16 bit non ancora " "implementata\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "La sequenza SER viene creata con nessun immagine all'interno.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "Compattando il file SER dopo l'output parallelo ad esso...\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "Creato file SER %s\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Questo tipo di pattern Bayer non è ancora gestito.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "" "Per demosaicizzare un'immagine il livello deve essere R, G o B (da 0 a 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Memoria esaurita - interruzione\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "" "Tentando di aggiungere un'immagine di dimensione differente in un SER\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "" "Errore durante l'apertura dell'immagine %s: file non trovato o non " "supportato.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "Apertura %s failed.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:180 ../src/io/single_image.c:186 msgid "Error opening file" msgstr "Errore durante l'apertura del file" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:181 msgid "This file could not be opened because its extension is not supported." msgstr "" "Questo file non può essere aperto poiché la sua estensione non è supportata." -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:187 msgid "" "There was an error when opening this image. See the log for more information." msgstr "" "Si è verificato un errore durante l'apertura di questa immagine. Controlla i " "log per maggiori informazioni." -#: ../src/main.c:237 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "parametro da linea di comando '%c' sconosciuto\n" - -#: ../src/main.c:261 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "%s. Cercando in un'altra cartella...\n" -#: ../src/main.c:267 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "" "%s non è stato trovato o contiene errori, non posso visualizzare la GUI. " "Uscita.\n" -#: ../src/main.c:288 +#: ../src/main.c:301 +#, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "parametro da linea di comando '%c' sconosciuto\n" + +#: ../src/main.c:328 #, c-format msgid "Welcome to %s v%s\n" msgstr "Benvenuto in %s v%s\n" -#: ../src/main.c:358 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "Non posso caricare o creare il file delle impostazioni, uscita.\n" #. Get CPU number and set the number of threads -#: ../src/main.c:406 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "Elaborazione parallela %s: Utilizzando %d processori logici.\n" -#: ../src/main.c:408 +#: ../src/main.c:373 msgid "enabled" msgstr "abilitata" -#: ../src/main.c:410 +#: ../src/main.c:375 msgid "disabled" msgstr "disabilitato" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "Deconvoluzione applicata" @@ -7550,132 +7851,132 @@ "Siril non può effettuare la registrazione senza informazioni sulla data nel " "file." -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "Non posso caricare l'immagine di riferimento\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 msgid "Moving object registration" msgstr "Spostamento della registrazione dell'oggetto" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "Ricalcolo registrazione già esistente per questo livello\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Immagine di riferimento:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "Trovate %d stelle nel riferimento, canale #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "Non ci sono abbastanza stelle nell'immagine di riferimento per eseguire " "l'allineamento\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Immagine di riferimento: limitando all %d stelle più luminose\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:461 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx:%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx:%*.2f %s\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:462 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy:%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy:%*.2f %s\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Frame %d:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "Trovate %d stelle nell'immagine %d, canale #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "Non ci sono abbastanza stelle. Immagine %d saltata\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Immagine target: limitando all %d stelle più luminose\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "Non posso effettuare il matching delle stelle: prova #%d. Immagine %d " "saltata\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Registrazione completata.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "%d immagini elaborate.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Totale: %d fallite, %d registrate.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Registrazione interrotta.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 msgid "Global star registration" msgstr "Registrazione a stella globale" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, c-format msgid "Matching stars in image %d: done\n" msgstr "Matching delle stelle nell'immagine %d: fatto\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "scalaX:%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "scalaY:%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "scala:%*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:454 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "rotazione:%+*.2f gradi\n" +msgid "rotation:%+*.3f deg\n" +msgstr "rotazione:%+*.3f gradi\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy:%+*.2f px\n" @@ -7751,104 +8052,171 @@ "numero di pixel a seconda del timestamp di ciascuna immagine e dello " "spostamento globale dell'oggetto tra la prima e l'ultima immagine." -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Registrazione a Stella Singola (cielo profondo)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Allineamento Image Pattern (immagini planetarie - intero disco)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "" "Massimizzazione del Coefficiente di Correlazione (immagini planetarie - " "superfici)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" msgstr "Registrazione Cometa/Asteroide" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Aggiunto un metodo di registrazione: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "" "Registrazione DFT: caricamento ed elaborazione del frame di riferimento" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "" "Registrazione: non posso caricare la prima immagine da registrare, " "interruzione.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, c-format msgid "Register: processing image %s" msgstr "Registrazione: elaborazione immagine %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 +#, c-format +msgid "Best frame: #%d.\n" +msgstr "Miglior frame: #%d.\n" + +#: ../src/registration/registration.c:435 +msgid "Registration PSF: failed to compute PSF for reference frame at least\n" +msgstr "" +"Registrazione PSF: fallimento durante il calcolo della PSF per almeno il " +"frame di riferimento\n" + +#: ../src/registration/registration.c:479 +#, c-format +msgid "Best frame: #%d with fwhm=%.3g.\n" +msgstr "Miglior frame: #%d con fwhm=%.3g.\n" + +#: ../src/registration/registration.c:571 +#, c-format +msgid "Cannot perform ECC alignment for frame %d\n" +msgstr "Non posso eseguire l'allineamento ECC per il frame %d\n" + +#: ../src/registration/registration.c:623 +#, c-format +msgid "%d frames were excluded.\n" +msgstr "%d frame sono stati esclusi.\n" + +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 +msgid "Select images in the sequence." +msgstr "Seleziona immagini nella sequenza." + +#: ../src/registration/registration.c:726 +msgid "Select an area in image first, and select images in the sequence." +msgstr "" +"Seleziona prima l'area di un'immagine e poi le immagini nella sequenza." + +#: ../src/registration/registration.c:732 +msgid "Select an area in image first." +msgstr "Seleziona prima un'area nell'immagine." + +#: ../src/registration/registration.c:858 +msgid "" +"All prerequisites are not filled for registration. Select a rectangle " +"first.\n" +msgstr "" +"Non sono presenti tutti i prerequisiti per la registrazione. Seleziona prima " +"un rettangolo.\n" + +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Caricamento dell'immagine %s per lo stacking" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "" +"Errore durante lo stacking: le immagini con più di 3 dimensioni non sono " +"supportate\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "" +"Errore durante lo stacking: le immagini di input hanno dimensioni " +"differenti\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "" +"Errore durante lo stacking: le immagini di input hanno precisioni " +"differenti\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Il super-pixel non è ancora gestito per lo stacking SER al volo\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"Lo stacking rejection è supportato solo per immagini FITS e per sequenze " +"SER.\n" +"Usa lo \"stacking somma\" invece.\n" + +#: ../src/stacking/median_and_mean.c:195 #, c-format -msgid "Best frame: #%d.\n" -msgstr "Miglior frame: #%d.\n" +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "Abbiamo %d blocchi paralleli di dimensione %d (+%d) per lo stacking.\n" -#: ../src/registration/registration.c:433 -msgid "Registration PSF: failed to compute PSF for reference frame at least\n" +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" msgstr "" -"Registrazione PSF: fallimento durante il calcolo della PSF per almeno il " -"frame di riferimento\n" - -#: ../src/registration/registration.c:483 -#, c-format -msgid "Best frame: #%d with fwhm=%.3g.\n" -msgstr "Miglior frame: #%d con fwhm=%.3g.\n" +"Un bug è stato trovato. Non posso dividere l'area dell'immagine nei blocchi " +"d'elaborazione corretti.\n" -#: ../src/registration/registration.c:575 -#, c-format -msgid "Cannot perform ECC alignment for frame %d\n" -msgstr "Non posso eseguire l'allineamento ECC per il frame %d\n" +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Errore leggendo una delle aree dell'immagine\n" -#: ../src/registration/registration.c:628 +#: ../src/stacking/normalization.c:102 #, c-format -msgid "%d frames were excluded.\n" -msgstr "%d frame sono stati esclusi.\n" - -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 -msgid "Select images in the sequence." -msgstr "Seleziona immagini nella sequenza." - -#: ../src/registration/registration.c:730 -msgid "Select an area in image first, and select images in the sequence." +msgid "" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Seleziona prima l'area di un'immagine e poi le immagini nella sequenza." +"Il tuo sistema non ha memoria sufficiente per normalizzare le immagini per " +"le operazioni di stacking (%d MB liberi su %d MB richiesti)\n" -#: ../src/registration/registration.c:736 -msgid "Select an area in image first." -msgstr "Seleziona prima un'area nell'immagine." - -#: ../src/registration/registration.c:861 +#: ../src/stacking/normalization.c:109 +#, c-format msgid "" -"All prerequisites are not filled for registration. Select a rectangle " -"first.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" msgstr "" -"Non sono presenti tutti i prerequisiti per la registrazione. Seleziona prima " -"un rettangolo.\n" +"Con l'attuale memoria (%.2f) e limiti di thread (%d), si possono usare fino " +"a %d thread per la normalizzazione della sequenza\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "Non c'è abbastanza spazio disco" - -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "Calcolo la normalizzazione...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" @@ -7856,176 +8224,103 @@ "L'immagine di riferimento non è nell'insieme di immagini selezionate. Si " "prega di scegliere un'altra immagine di riferimento.\n" -#: ../src/stacking/normalization.c:118 -msgid "Normalization skipped.\n" -msgstr "Normalizzazione omessa.\n" - -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 msgid "Normalization failed." msgstr "Normalizzazione fallita." -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "" -"Lo stacking mediano è supportato solo per immagini FITS e sequenze SER.\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "Seleziona almeno due frame per lo stacking. Interruzione.\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Stack mediano: apertura immagine %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Errore durante lo stacking mediano: le immagini con più di 3 dimensioni non " -"sono supportate\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "" -"Errore durante lo stacking mediano: le immagini di input hanno dimensioni " -"differenti\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "Il super-pixel non è ancora gestito per lo stacking SER al volo\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "Errore durante lo stacking mediano: sequenza non inizializzata\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "La tua versione di cfitsio non supporta il multi-threading\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Elaborazione della sequenza come RGB\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "Abbiamo %d blocchi paralleli di dimensione %d (+%d) per lo stacking.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Un bug è stato trovato. Non posso dividere l'area dell'immagine nei blocchi " -"d'elaborazione corretti.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Inizio dello stacking...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 msgid "Median stacking in progress..." msgstr "Stacking mediano in corso..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Errore leggendo una delle aree dell'immagine\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Sto finalizzando lo stacking..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "Fallimento durante lo stacking mediano. Controlla i log." -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 msgid "Stacking failed.\n" msgstr "Stacking fallito.\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 msgid "Median stacking complete." msgstr "Stacking mediano completato." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "Stacking mediano completato. Sono state sommate %d immagini.\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "Nessun frame selezionato per lo stacking (selezionane almeno 2). " "Interruzione.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 msgid "Stacking: could not read frame, aborting\n" msgstr "Stacking: non posso leggere il frame, interruzione\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "Stracking: l'immagine nella sequenza non ha le stesse dimensioni\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "Stacking fallito. Controlla i log." -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Stacking completato." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"Lo stacking rejection è supportato solo per immagini FITS e per sequenze " -"SER.\n" -"Usa lo \"stacking somma\" invece.\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "Stacking rejection: apertura immagine %s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Errore durante lo stacking rejection: le immagini con più di 3 dimensioni " -"non sono supportate\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "" -"Errore durante lo stacking rejection: le immagini in input hanno dimensioni " -"differenti\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "Errore durante lo stacking rejection: sequenza non inizializzata\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 msgid "Rejection stacking in progress..." msgstr "Stacking rejection in corso..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Scarto dei pixel nel canale #%d: %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "Fallimento dello stacking rejection. Controlla i log." -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 msgid "Rejection stacking complete." msgstr "Stacking rejection completato." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -8038,219 +8333,489 @@ "Sistema Operativo) o di convertire la tua sequenza FITS in una sequenza SER " "prima dello stacking, oppure usare il metodo \"somma\" per lo stacking.\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "" "Lo stacking utilizzerà i dati di registrazione del livello %d se esistono.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Stacking: elaborazione...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Integrazione di %d immagini:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Combinazione di pixel ......... media\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Combinazione di pixel ......... somma normalizzata\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "Combinazione di pixel ......... mediana\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Combinazione di pixel ......... minimo\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Combinazione di pixel ......... massimo\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Combinazione di pixel ......... nessuno\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "nessuno" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 msgid "additive" msgstr "addittivo" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative" msgstr "moltiplicativo" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 msgid "additive + scaling" msgstr "additivo + ridimensionamento" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "moltiplicativo + ridimensionamento" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalizzazione ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Scarto dei pixel ........... nessuno\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Parametri di scarto ...... nessuno\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 msgid "percentile clipping" msgstr "percentile clipping" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 msgid "sigma clipping" msgstr "sigma clipping" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 msgid "median sigma clipping" msgstr "median sigma clipping" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 msgid "Winsorized sigma clipping" msgstr "Winsorized sigma clipping" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 msgid "linear fit clipping" msgstr "linear fit clipping" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Scarto dei pixel ........... %s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Parametri di scarto ...... basso=%.3f alto=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 msgid "Stacking result image" msgstr "Stacking dell'immagine risultato" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 msgid "Unsaved stacking result" msgstr "Risultato dello stacking non salvato" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "Utilizzando %d MB di memoria massima per lo stacking\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"L'immagine di riferimento non è nell'insieme di immagini selezionare. Per " -"evitare questo problema si prega di cambiarla o cambiare i parametri di " -"filtraggio.\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Uso l'immagine %d come immagine di riferimento temporanea\n" +msgid "Stacking %d images of the %d of the sequence" +msgstr "Stacking di %d immagini delle %d della sequenza" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Attenzione: alcune immagini non dispongono di informazioni sulla FWHM per la " -"selezione delle immagini migliori, si utilizzano solo i dati disponibili (%d " -"immagini su %d).\n" +"Il tuo sistema non ha memoria sufficiente per effettuare un up-scale delle " +"immagini per l'operazione di 'drizzle' (%d MB liberi su %d MB richiesti)\n" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Errore nella più alta qualità accettata per l'elaborazione della sequenza: " -"alcune immagini non hanno questo tipo di informazione disponibile per canale " -"#%d.\n" +"Con l'attuale memoria (%.2f) e limiti di thread (%d), si possono usare fino " +"a %d thread per l'up-scaling della sequenza\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "Stacking di tutte le immagini nella sequenza (%d)\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "" +"Lo stacking verrà eseguito senza l'up-scaling ('drizzle' disabilitato)\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "Stacking delle sole immagini selezionate nella sequenza (%d)\n" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Sequenza up-scaling per lo stacking" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" -"Stacking delle immagini nella sequenza con una FWHM minore o uguale a %g " -"(%d)\n" +#~ msgid "Size of the annulus for background level measurement" +#~ msgstr "Dimensione dell'anello per la misurazione del livello dello sfondo" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Basato sulle FWHM < %.2f (%d immagini)" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "La memoria utilizzata corrisponde a questo valore moltiplicato per la " +#~ "memoria totale disponibile.\n" +#~ "ATTENZIONE: ridurre il rapporto della memoria allocata per la " +#~ "computazione degraderà le prestazioni." -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "" -"Stacking delle immagini nella sequenza con una rotondità maggiore o uguale a " -"%g (%d)\n" +#~ msgid "Normalization skipped.\n" +#~ msgstr "Normalizzazione omessa.\n" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Basato sulla rotondità > %.2f (%d immagini)" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "immagini selezionate precedentemente e manualmente dalla sequenza" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "Basato sulla rotondità" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "migliori immagini, selezionate automaticamente dai dati di registrazione " +#~ "(PSF - FWHM)" -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "" -"Stacking delle immagini nella sequenza con una qualità superiore o uguale a " -"%g (%d)\n" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "migliori immagini, selezionate automaticamente dai dati di registrazione " +#~ "(PSF - rotondità)" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Basato sulla qualità > %.2f (%d immagini)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "migliori immagini, selezionate automaticamente dai dati di registrazione " +#~ "(planetario)" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Basato sulla qualità" +#~ msgid "Based on FWHM" +#~ msgstr "Basato sulla FWHM" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Sequenza up-scaling per lo stacking" +#~ msgid "Stack best:" +#~ msgstr "Miglior stack:" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "Il tipo di stacking fornito è sconosciuto (%s).\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "Lo stacking mediano è supportato solo per immagini FITS e sequenze SER.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Stack mediano: apertura immagine %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Stacking rejection: apertura immagine %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Errore durante lo stacking rejection: le immagini con più di 3 dimensioni " +#~ "non sono supportate\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "" +#~ "Errore durante lo stacking rejection: le immagini in input hanno " +#~ "dimensioni differenti\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Errore nella più alta qualità accettata per l'elaborazione della " +#~ "sequenza: alcune immagini non hanno questo tipo di informazione " +#~ "disponibile per canale #%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Basato sulle FWHM < %.2f (%d immagini)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Basato sulla rotondità > %.2f (%d immagini)" + +#~ msgid "Based on roundness" +#~ msgstr "Basato sulla rotondità" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Basato sulla qualità > %.2f (%d immagini)" + +#~ msgid "Based on quality" +#~ msgstr "Basato sulla qualità" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Informazioni" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Normal" +#~ msgstr "Normale" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Polare (Magnitudine + Fase)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "ATTENZIONE: questi campi sono letti automaticamente all'apertura del file " +#~ "FITS e impostarli qui funzionerà solamente per il file attualmente " +#~ "caricato." + +#~ msgid "Camera and Optics" +#~ msgstr "Camera e ottiche" + +#~ msgid "Camera & Optics" +#~ msgstr "Camera e ottiche" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Ripristino cartella di lavoro corrente allo stato iniziale, la cartella " +#~ "salvata non è più disponibile\n" + +#~ msgid "BMP images, " +#~ msgstr "Immagini BMP, " + +#~ msgid "autoStretch" +#~ msgstr "autoStretch" + +#~ msgid "Negative view" +#~ msgstr "Visuale in negativo" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "Gestione della memoria" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Utilizza tema GTK scuro\n" +#~ "(può richiedere il riavvio)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Alcuni dialoghi di Siril hanno colori chiari non-standard. Con un tema " +#~ "scuro, il testo può diventare illeggibile se è troppo chiaro. " +#~ "Selezionando questa checkbox questi colori non-standard verranno cambiati " +#~ "in colori scuri." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Rapporto di memoria disponibile utilizzata: " + +#~ msgid "Siril message" +#~ msgstr "Messaggio di Siril" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Le immagini non hanno la stessa dimensione (w = %d|%d, h = %d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "Assicura la compatibilità con le immagini\n" +#~ "memorizzate in un'orientazione dall'alto\n" +#~ "verso il basso (KSTARS/EKOS, PixInsight,\n" +#~ "e probabilmente altri...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Se questa checkbox è selezionata, Siril tenterà di assicurare la " +#~ "compatibilità tra KSTARS (e PixInsight o altri) leggendo l'immagine FITS " +#~ "nell'ordine dall'alto in basso." + +#~ msgid "Manual" +#~ msgstr "Manuale" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "" +#~ "Devi cliccare sull'immagine per prendere i tuoi campioni dello sfondo." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril prende automaticamente i campioni dello sfondo." + +#~ msgid "Clear background samples." +#~ msgstr "Pulisci campioni dello sfondo." + +#~ msgid "Draw samples" +#~ msgstr "Disegna campioni" + +#~ msgid "Type of Extraction" +#~ msgstr "Tipo di estrazione" + +#~ msgid "Box radius:" +#~ msgstr "Raggio del riquadro:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "" +#~ "Questa è la distanza in pixel tra due riquadri campione dello sfondo." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "Questo è il raggio in pixel di un riquadro campione dello sfondo. " +#~ "Moltiplica per 2 per ottenere la lunghezza del riquadro." + +#~ msgid "Sample Generation" +#~ msgstr "Generazione di campioni" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Questo parametro indica la tolleranza dello scarto del campione locale, " +#~ "in unità di sigma." + +#~ msgid "Local Rejection" +#~ msgstr "Scarto locale" + +#~ msgid "Deviation: " +#~ msgstr "Deviazione: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "Tolleranza dello scarto del campione globale, in unità di sigma." + +#~ msgid "Unbalance:" +#~ msgstr "Sbilanciamento:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Questo è il fattore moltiplicato per il parametro di deviazione allo " +#~ "scopo di includere più pixel scuri nella valutazione dello sfondo." + +#~ msgid "Global Rejection" +#~ msgstr "Rejection globale" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Questo è il numero di riquadri campione in una riga." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Questo è il fattore moltiplicato per il parametro di deviazione allo " +#~ "scopo di includere più pixel scuri nella valutazione dello sfondo" + +#~ msgid "Interpolation" +#~ msgstr "Interpolazione" + +#~ msgid "Show Image" +#~ msgstr "Mostra immagine" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Clicca su questo pulsante per visualizzare l'immagine." + +#~ msgid "Show Background" +#~ msgstr "Mostra sfondo" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Clicca su questo pulsante per visualizzare lo sfondo generato." + +#~ msgid "Compute" +#~ msgstr "Calcola" + +#~ msgid "Apply" +#~ msgstr "Applica" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Questo applicherà la correzione selezionata." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Canale #%d: estrazione dello sfondo completata.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Estrazione dello sfondo: elaborazione...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Insufficienti campioni dello sfondo.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Lo sfondo non può essere estratto da se stesso. Per favore, clicca su " +#~ "Mostra Immagine\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "" +#~ "Per favore, applica la correzione all'immagine cliccando su Mostra " +#~ "Immagine\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Sottrazione completata ...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "Divisione completata ...\n" + +#~ msgid "Star detection" +#~ msgstr "Rilevamento stella" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2018 team free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "" +#~ "Ritaglia l'immagine corrente all'interno del rettangolo selezionato in " +#~ "precedenza" #~ msgid "ZIP" #~ msgstr "ZIP" @@ -8295,35 +8860,6 @@ #~ msgid "Not a valid sequence for cropping.\n" #~ msgstr "Sequenza non valida per il ritaglio.\n" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "Luminosità" - -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Sonia Zorba " - -#~ msgid "About siril" -#~ msgstr "About Siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Programma di (pre-)elaborazione dell'immagine astronomica" - -#~ msgid "Visit the Siril website" -#~ msgstr "Visita il sito web di Siril" - -#, fuzzy -#~ msgid "Not enough stars.\n" -#~ msgstr "Non ci sono abbastanza stelle. Immagine %d saltata\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "La conversione dal SER non è ancora supportata\n" @@ -8434,9 +8970,6 @@ #~ msgid "NetPBM..." #~ msgstr "NetPBM..." -#~ msgid "JPEG Files" -#~ msgstr "File JPEG" - #~ msgid "TIFF Files" #~ msgstr "File TIFF" diff -Nru siril-0.9.10/po/LINGUAS siril-0.9.11/po/LINGUAS --- siril-0.9.10/po/LINGUAS 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/LINGUAS 2019-05-27 09:16:07.000000000 +0000 @@ -1,10 +1,11 @@ # Set of available languages # Please keep this list sorted alphabetically #ar_DZ +de el es_ES fr it_IT nl_BE pl_PL -zh_CN \ No newline at end of file +zh_CN diff -Nru siril-0.9.10/po/nl_BE.po siril-0.9.11/po/nl_BE.po --- siril-0.9.10/po/nl_BE.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/nl_BE.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-11 09:32+0100\n" -"PO-Revision-Date: 2019-01-03 10:36+0100\n" +"POT-Creation-Date: 2019-04-29 13:42+0200\n" +"PO-Revision-Date: 2019-05-07 20:26+0200\n" "Last-Translator: Antoine Hoeffelman \n" "Language-Team: Dutch \n" "Language: nl_BE\n" @@ -217,10 +217,6 @@ msgstr "Registratie met één ster (deep-sky)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Draai 90 graden, tegenwijzerszin" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -232,71 +228,75 @@ "gradient schatter voor DFT registratie, waarbij een hoge score beter is. X " "en Y colommen zijn voor de relatie translatie t.o.v. refferentie afbeelding." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "bestand" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "sel" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "kwaliteit" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:71 msgid "Red" msgstr "Rood" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "huidige rood bestand" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1926 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Rood kanaal" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:72 msgid "Green" msgstr "Groen" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "huidige groen bestand" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Groen kanaal" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:73 msgid "Blue" msgstr "Blauw" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "" "Te waarden opgeslagen in de geselecteerde pixels zullen hier verschijnen." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "huidige blauw bestand" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Blauw kanaal" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Draai 90 graden, tegenwijzerszin" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Draai 90 graden, wijzerszin" @@ -318,8 +318,8 @@ msgstr "Toon/Verberg de lijst van afbeeldingen met de registratie gegevens" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Weergave in negatief" +msgid "Switch to normal and negative view" +msgstr "Wissel tussen normaal en negatief weergave" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -406,251 +406,59 @@ msgid "User" msgstr "Gebruiker" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Gradient Extractie" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "Image Plate Solver" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Sluit venster." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Polynomiale interpolatie" +msgid "Start the plate solving algorithm." +msgstr "Begin de plate solving algoritme." #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Manueel" +msgid "Start the photometric color calibration algorithm." +msgstr "Begin het fotometrische kleurenkalibratie algoritme." #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "Kies een background regio." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Automatisch" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril kiest de backgroundsamples automatisch." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Verwijder backgroundsamples." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Teken de saples" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Type Extractie " - -#: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "Sample radius:" - -#: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "Sample afstand: " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "Dit is de afstand in pixels tussen twee naburige samples." - -#: ../src/gui/siril3.glade.h:100 -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"Dit is de radius in pixels van de sample. Vermenigvuldig met 2 voor de " -"lengte van de sample." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Genereer Samples" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Tolerantie: " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Dit is de verwerpingstolerantie van de locale samples, uitgedrukt in sigma " -"eenheden." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Locale Verwerping" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Afwijking: " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "" -"Tolerantie van de globale sampleverwerping, uitgedrukt in sigma eenheden." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Onevenwicht:" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Dit is de factor vermenigvuldigd met de afwijkingsparameter om meer donkere " -"pixels in de evaluatie van de gradient op te nemen." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Globale Verwerping" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Samples per rij: " - -#: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "Dit is het aantal samples op een rij." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"Dit is de factor vermenigvuldigd met de afwijkingsparameter om meer donkere " -"pixels in de evaluatie van de gradient op te nemen" - -#: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "Orde: " - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Kies de orde van de interpolatieveelterm.\n" -"De standaardwaarde is 4.\n" -"Hoe hoger de orde, hoe sterker de gradient mag zijn." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Interpolatie" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Toon Afbeelding" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Druk op deze knop om het beeld weer te geven." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Toon Background" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Druk op deze knop om de berekende background weer te geven." - -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." -msgstr "" -"Kies de toe te passen correctie:\n" -"Aftrekking: wordt vooral gebruikt voor additieve effecten, zoals gradienten " -"veroorzaakt door lichtvervuiling of door de maan\n" -"Deling: wordt vooral gebruikt voor multiplicatieve effecten, zoals " -"vignetting of differentiele atmosferische absorpties. Deze acties zouden via " -"de master-flat moeten gebeuren." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Aftrekking" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "Deling" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Correcties" - -#: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "Bereken" - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "Dit zal de synthetische gradiënt berekenen." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Toepassen" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "Dit zal de gekozen correctie uitvoeren." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "Image Plate Solver" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "Begin de plate solving algoritme." - -#: ../src/gui/siril3.glade.h:134 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" "Initiële equatoriale coördinaten. Invoerwaarden moeten in het beeld zijn." -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 msgid "0" msgstr "0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "Rechte klimming: " -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 msgid "Declination: " msgstr "Declinatie: " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "S" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "Deze knop is ingedrukt voor negatieve declinatie (zuidelijk halfrond)." -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" "Voor de naam of de identificatie van het object dat zich in het beeld moet " "bevinden." -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 msgid "Start searching." msgstr "Zoeken beginnen." -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -661,24 +469,24 @@ "moet niet per se heel nauwkeurig zijn, maar probeer de afwijking te beperken " "tot 20%." -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" "Pixelgrootte in micrometers. De pixels worden beschouwd als vierkantig." -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 msgid "Focal distance (mm):" msgstr "Focaallengte (mm):" -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 msgid "Pixel size (µm):" msgstr "Pixelgrootte (µm):" -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 msgid "Resolution: " msgstr "Resolutie: " -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." @@ -686,11 +494,11 @@ "De resolutie van het beeld dat automatisch wordt berekend dakzij de " "focaallengte en de pixelgrootte." -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "Haal Metadate Van het Beeld" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." @@ -698,23 +506,23 @@ "Klick op deze knop om de focaallengte en de pixelgrootte van de header te " "lezen als deze bestaat." -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "Resolver" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Naam" -#: ../src/gui/siril3.glade.h:153 -msgid "Image Parameters" -msgstr "Beeld Parameters" +#: ../src/gui/siril3.glade.h:110 +msgid "Image Parameters" +msgstr "Beeld Eigenschappen" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "Liemietmagnitude Catalogus: " -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." @@ -722,11 +530,11 @@ "Maximale magnitude van sterren gebruikt bij het ondervragen van de " "catalogus. Hoe breder het veld, hoe lager de magnitude." -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 msgid "Auto" msgstr "Auto" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." @@ -734,18 +542,19 @@ "De maximale magnitude word automatisch berekend uit de schatting van het " "gezichtsveld." -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "Online Ster Catalogus: " -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -759,9 +568,10 @@ "Kies een online catalogus tegen dewelke het beeld vergeleken zal worden.\n" "* TYCHO-2 heeft de positie, richting and tweekleurige forometrische gegevens " "van 2 539 913 van de helderste sterren van de Melkweg.\n" -"* NOMAD is een samenvoeging van Hipparcos, Tycho-2, UCAC-2 en USNO-B1 " -"catalogi, met daarbovenop de fotometrische gegevens van 2MASS final release " -"point source catalogue.\n" +"* NOMAD is een samenvoeging van Hipparcos, Tycho-2, UCAC-2, Yellow-Blue 6 en " +"USNO-B catalogi voor fotometrische en optische fotometrie, met daarbovenop " +"de nabij-infrarood 2MASS. De catalogus weegt bijna 100 GB en bevat " +"astrometrische n fotometrische gegevens van engeveer 1.1 miljard sterren\n" "* Gaia Data Release 2 werd op 25 april 2018 vrijgegeven. De vijfdelige " "astrometrische parameters, positie (α, δ), parallax, en beweging worden " "gegeven voor meer dan 1.3 miljard bronnen met een limietmagnitude van G = " @@ -772,7 +582,7 @@ "magnitude van 6.5 of helderder oplijst, wat zogoed als alle met het oog " "zichtbare sterren zij oplijst. Dit zijn 9 110 objecten." -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." @@ -780,15 +590,15 @@ "De online catalogus wordt automatisch gekezen in functie van het berekend " "gezichtsveld en magnitude." -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "Catalogus Eigenschappen" +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "Catalogus Eigenschappen" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 msgid "Manual detection" msgstr "Manuele detectie" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " @@ -798,15 +608,83 @@ "zijn in gevallen waar Siril niet genoeg sterren kon vinden. Probeer de " "heldeste sterren te kiezen." -#: ../src/gui/siril3.glade.h:169 -msgid "Star detection" -msgstr "Ster Detectie" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" +msgstr "Ster Detectie" -#: ../src/gui/siril3.glade.h:170 +#: ../src/gui/siril3.glade.h:127 +msgid "Automatic detection" +msgstr "Automatische detectie" + +#: ../src/gui/siril3.glade.h:128 +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"Vik dit vakje uit als je de referentie achtergrond zelf wenst te kiezen. Kan " +"nuttig zijn als de nevel het hele veld spant." + +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "x coordinaat voor het begin van de achtergrondselectie" + +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" +msgstr "y coordinaat voor het begin van de achtergrondselectie" + +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Breedte van de achtergrondselectie" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Hoogte van de achtergrondselectie" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Gekozen selectie" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Gebruik huidige selectie" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Kies een regio dat representatief is voor het achtergrond. Vermeid sterren " +"en andere objecten." + +#: ../src/gui/siril3.glade.h:136 +msgid "Background Reference" +msgstr "Achtergrondreferentie" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "Deze optie bepaalt op welk kanaal de facotre genormaliseerd worden." + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "Op hooghste" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "Op middelste" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "Op laagste" + +#: ../src/gui/siril3.glade.h:141 +msgid "Channel Factor Normalisation" +msgstr "Kanaal Normalisatie Factor" + +#: ../src/gui/siril3.glade.h:142 msgid "Median Filter" msgstr "Mediaan Filter" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:143 msgid "" "Kernel Size. This is the odd size of the neighborhood considered for each " "pixel." @@ -814,11 +692,11 @@ "Afmetingen van de filter. Dit is de oneven grootte van de naburigheid van " "elke pixel." -#: ../src/gui/siril3.glade.h:172 +#: ../src/gui/siril3.glade.h:144 msgid "Modulation:" msgstr "Modulatie:" -#: ../src/gui/siril3.glade.h:173 +#: ../src/gui/siril3.glade.h:145 msgid "" "Modulation parameter set in the [0, 1] range.\n" "When this parameter is equal to 1, no modulation is applied.\n" @@ -828,15 +706,15 @@ "Bij \"1\" wordt er geen modulatie toegepast.\n" "Bij \"0\" wordt er geen filter toegepast." -#: ../src/gui/siril3.glade.h:176 +#: ../src/gui/siril3.glade.h:148 msgid "Kernel Size: " msgstr "Kern Afmeting: " -#: ../src/gui/siril3.glade.h:177 +#: ../src/gui/siril3.glade.h:149 msgid "Iterations:" msgstr "Iteraties:" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -846,71 +724,175 @@ "Dit is te gebruiken indien de modulatie parameter verschillend is van 1 om " "het process naar een beter resultaat te helpen convergeren." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Gebruik Luminantie" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Bereken de statistieken" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Sluit het venster" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 msgid "Normalized Real [0, 1]" msgstr "Normaliseer de Reëele getallen [0, 1]" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Geen selectie" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 msgid "Asinh Transformation" msgstr "Asinh Transformatie" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "Stretch factor: " -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "De parameter stretch factor past de niet-lineariteitsfactor aan." -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "Black Point: " -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "Constante waarde dat van het beeld wordt afgetrokken." -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "Gebruik RGB workin space" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Gradient Extractie" + +#: ../src/gui/siril3.glade.h:164 +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "" +"Dit zal de synthetische achtergrond berekenen and de gekozen corretie " +"toepassen." + +#: ../src/gui/siril3.glade.h:165 +msgid "Degree order: " +msgstr "Orde: " + +#: ../src/gui/siril3.glade.h:166 +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Kies de orde van de interpolatieveelterm gebrtuikt voor de fit.\n" +"De standaardwaarde is 4.\n" +"Hoe hoger de orde, hoe complexer de gradiënt mag zijn." + +#: ../src/gui/siril3.glade.h:169 +msgid "Samples per line: " +msgstr "Samples per lijn: " + +#: ../src/gui/siril3.glade.h:170 +msgid "Number of sample per line that will be automatically placed." +msgstr "Aantal samples per lijn dat automatisch worden geplaatst." + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" +"Tolerantie van de globale sample verwerping, in sigma-eenheden. Door deze " +"waarde te verminderen zal Siril restrictiever zijn om achtergrondsamples te " +"kiezen." + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Tolerantie: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "Maak aan" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "Klik hier om de automatisch gedefiniëerde samples aan te maken." + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "Klik hier om alle samples te wissen." + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" +"Samples kunnen ook manueel worden gekozen.\n" +"Klink met de linker muisknop maakt de samples aan, de rechter muisknop wist " +"ze." + +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "Polynomiale interpolatie" + +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "Correcties: " + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Kies de toe te passen correctie:\n" +"Aftrekking: wordt vooral gebruikt voor additieve effecten, zoals gradienten " +"veroorzaakt door lichtvervuiling of door de maan\n" +"Deling: wordt vooral gebruikt voor multiplicatieve effecten, zoals " +"vignetting of differentiele atmosferische absorpties. Deze acties zouden via " +"de master-flat moeten gebeuren." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Aftrekking" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Deling" + +#: ../src/gui/siril3.glade.h:185 +msgid "Correction" +msgstr "Correcties" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:835 msgid "Banding Reduction" msgstr "Banding Reductie" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "Bescherm van de heldere zones" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "Verticale banding" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Vink dit aan als de banding verticaal is." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Pas toe op sequentie" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -918,43 +900,43 @@ "Als een sequentie geladen is en dit geactiveerd is, word de bewerking op " "alle beelden uitgevoerd, in plaats van enkel op het geladen beekd." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Output prefix:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "" "Prefix van de beelden afkomstig van het process voor verwijdering van inslag " "(banding)." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "1/Sigma coëfficient" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Beeld compositie" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Multi-lagen beeld compositie" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Uitlijning lagen" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "niet geladen" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Pas de helderheid van de lagen aan" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -964,11 +946,11 @@ "satureren bij compositing (gebaseerd op de maximale waarde van elk beeld). " "De tinten worden niet aangepast." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Finaliseer de kleurenbalans" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -981,7 +963,7 @@ "Een wijziging van de parameters van dit venster zal de kleurenbalans " "wijzigen, dewelke opnieuw berekend zal moeten worden." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -989,19 +971,19 @@ "Type van op de luminantie gebaseerde compositie. Dit is de wijze waarin " "kleuren aan de luminantie worden toegevoegd." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "HSL compositie" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "HSV compositie" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "CIE L*a*b* compositie" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -1009,52 +991,52 @@ "OPGELET: Pas gen LRGB combinatie toe met lineaire beelden. Het beeld moet " "eerst verwerkt worden." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Lijn alle lagen uit op de referentielaag:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Lijn uit" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "Automatische uitlijning met de gekozen registratie methode." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Crop het beeld in een gemeneeschappelijke zone na uitlijning" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "en gebruikmakend van deze uitlijningsmethode:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "Voor LRGB compositie moet de referentielaag de luminantie zijn." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:70 msgid "Luminance" msgstr "Luminantie" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Cosmetische Correctie" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Sluit huidige venster" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Pas de Cosmetische Correcties toe" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1062,16 +1044,16 @@ "Vink dit aan als de doelbeelden CFA beelden zijn.\n" "Vink diet niet aan als de beelden van een monochrome sensor komen." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "Prefix van het beeld afkomstig van het correctieproces." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "Sigma \"Koud\":" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1079,11 +1061,11 @@ "Hoe vaak (in gemiddelde afwijking eengeden) een pixel van zijn naburige " "pixels moet afwijken om als koude pixels beschouwd te moeten worden." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "Sigma \"Warm\":" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1091,27 +1073,27 @@ "Hoe vaak (in gemiddelde afwijking eengeden) een pixel van zijn naburige " "pixels moet afwijken om als warme pixels beschouwd te moeten worden." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Automatische detectie" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "Crop sequentie" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "Prefix van de namen van de beelden afkomstig van het croppingproces." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Deconvolutie" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." @@ -1119,430 +1101,398 @@ "Dit vertegenwoordigt de grootte van de gaussische kern die wordt toegepast. " "Hoe groter de waarde, hoe sterker het effect." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Algoritme:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Aantal ieteraties." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Siril bericht" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Fouriertransormatie" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "Naam van het bestand voor de amplitude: " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "Naam van het bestand voor de fase: " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "Orde: " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Type: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "modulus" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "fase" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Gecentreerd" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Normaal" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "Polair (Amplitude + Fase)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "Direct Transform" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "Amplitude van het beeld: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Fase van het beeld: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "Kies Amplitude" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "Kies Fase" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Inverse Transformatie" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Kanaal Extractie" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Bestandsnaam voor het eerste FITS bestand." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Bestandsnaam voor het tweede FITS bestand." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Bestandsnaam voor het derde FITS bestand." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Kanaal #1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Kanaal #2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Kanaal #3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "" "Kies de kleurruimte overeenstemmend met de drie geëxtraheerde afbeeldingen" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Kleurruimte:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Wavelet Lagen Extractie" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Sluit" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Pas wevelet extractie toe." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "Aantal wavelet lagen. U kan tot 6 lagen kiezen." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Type algoritme" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "BSpline" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Aantal Lagen: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Interpolatie Algoritme:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Histograms" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Horizontale Zoom" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Reset zoom op 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Logaritmische schaal" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Middentonen balans" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "Donkere tonen overschrijding" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "Hoge tonen overschrijding" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" +#: ../src/gui/siril3.glade.h:276 +msgid "Show grids" +msgstr "Toon Raster" -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 -msgid "Show grids" -msgstr "Toon Raster" - -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "Toon MTF curve" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Pas autostrech algortime op het beeld" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "autoStrecht" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "Hoge tonen: " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "Middentonen: " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Donkere tonen: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Overschrijding (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Overschreden pixels (donkere tonen)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "Overschreden pixels (hoge tonen)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Reset" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Pas de histogramtransformatie toe" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "Resample" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "X schaal (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Y schaal (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Behoud Aspectratio" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Type algoritme voor resampling" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Dichtsbijzijnde Buur (Nearest Neighbor)" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Bilineair (standaard)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Pixel Relatie Zone" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Bikubisch" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lancoz-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "Roterend Gradiënt" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "Het roterend gradiënt zal worden toegepast." -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " msgstr "Radiale shift: " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "Radiale shift gebruikt om het roterend gradiënt te berekenen." -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " msgstr "Roterende shift: " -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "Roterende shift hebruikt om het roterend gradiënt te berekenen." -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." msgstr "X coordinaat van het centrum van de poolcoördinaten." -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." msgstr "Y coordinaat van het centrum van de poolcoördinaten." -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "X centrum:" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "Y centrum:" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" "basis van de geconverteerde afbeeldingen (de 'dest' in dest1.fit)" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "basis van de geconverteerde afbeeldingen(de 'dest' in dest1.fit)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Bestandsnaam" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "8-bit ongesigneerd integer" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "16-bit ongesigneerd integer" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Sample Formaat" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Geen" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "Deflate compressie" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Compressie" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Beeldbeschrijving" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Beeld Copyright" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Kwaliteit: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "Niet beschikbaar" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "16-bit gesigneerd integer" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Sample Formaat" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Bewaar MIPS-HI en MIPS-LO waarden" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "Ingesloten gegevens" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Instellingen" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Gebruik de automatische coëfficienten" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1550,31 +1500,31 @@ "Als deze optie ingeschakeld is, worden de coëfficiënten voor elk kanaal " "automatische berekend. Om waarden te kiezen, vink dit uit." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." msgstr "Kis uw eigen witbalans. De waarde voor Rood is t.o.v. Groen." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." msgstr "Kis uw eigen witbalans. De waarde voor Blauw is t.o.v. Groen." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Helderheid" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Deel de witniveau door dit getal." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Geen zwarte punt correctie" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1582,61 +1532,61 @@ "Als deze optie ingeschakeld is, wordt er geen zwarte punt correctie op de " "raw afbeeldingen toegepast." -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "kleuraanpassingen v/h Beeld" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "" "Kies een interpolatiemethode als demozaïek-algoritme om het beeld te openen." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Snel, lage kwaliteit bilineair" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Adaptive Homogeneity-Directed (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Variable Number of Gradients (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Patterned Pixel Grouping (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Beeld Matric Interpolatie" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "Geen gammacorrectie is toegepast op het beeld." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "BT.709 curve" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Pas een specifieke gammacruve toe op het beeld." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "sRGB curve" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Pas een specifieke gammacruve toe op het beeld" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Beeld Gammacorrectie" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" @@ -1644,7 +1594,7 @@ "Gebruik de witbalans\n" "van de camera" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1654,7 +1604,7 @@ "standaard D65 lamp. Door dit vakje aan te vinken zal libraw de gegevens van " "uw camera proberen te gebruiken." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1662,7 +1612,7 @@ "Bereken de witbalans\n" "door het beeld uit te middelen" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1672,55 +1622,23 @@ "standaard D65 lamp. Door dit vakje aan te vinken zal libraw de witbalans " "berekenen door uitmiddeling van het beeld." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Beeld Witbalans" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "DLSR RAW formaat gebaseerd op de libraw library." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "DLSR RAW dabayer" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Kies de Bayer pattern van uw camera." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Bayer/moisaiek pattern: " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Kies een interpolatiemethode voor de demosaicing." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Debayer interpolatie: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Bilineair" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Super Pixel" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Bayer pattern uit de header van het bestand indien beschikbaar" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1730,143 +1648,115 @@ "passen. Indien het resultaat er slecht uitziet, vink dit uit en kies een " "pattern in onderstaand venster." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"Waarborgt compatibiliteit met opgeslane beelden\n" -"in up-bottom orientatie (KSTARS/EKOS,\n" -"PixInsight en waarschijnlijk vele anderen ...)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "Debayer in up-bottom oriëntatie" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." -msgstr "" -"Als dit vakje aangevinkt is zal Siril KSTARS (en PixInsight of anderen) " -"compatibiliteit proberen te waarborgen door FITS beelden in up-bottom te " -"lezen." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." +msgstr "" +"Siril leest FITS gegevens in de bottop-up orientatie. Als de acquisitie " +"software de gegevens in het up-bottom formaat opslaat (zoals gewoonlijks) " +"moet deze optie gekozen worden om het bestand op de correcte wijze te " +"debayeren." -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Andere debayermethode" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Brandpuntsafstand (mm): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "Stretch CFA FITS van een DSLR naar 16-bit" -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Pixel X afm. (micrometer): " +#: ../src/gui/siril3.glade.h:366 +msgid "" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"Als de RAW gegevens afkomstig van een DSLR camera zijn en als de " +"normalisatiegegevens opgeslaan zijn in de FITS header, zal deze optie het " +"beeld tot een 16-bit bestand stretchen." -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:367 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." -msgstr "" -"Wis alle velden. De gegevens over brandpuntsafstand en de afmetingen van de " -"sensor worden dan niet in de header opgeslaan." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"Vanwege algoritmische beperkingen kan een complex demozaiek alogoritme niet " +"worden gebruikt bij stacking met verwerping. Onze testen hebben ook " +"aangetoond dat er geen kwalitatieve meerwaarde is als veel beelden gebruikt " +"worden, terwijl de berekeningstijd met 20 wordt vermenigvuldigd." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Als de afmetingen van de Pixel Y niet automatische wordt geladen uit de " -"header kunt u die zelf invoeren." - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Pixel Y afm. (micrometer): " +"Opgelet: Voor on-the-fly deomzaieken van SER bestanden wordt er steeds het " +"bilineair algoritme gebruikt." -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "Binning: " +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Kies de Bayer pattern van uw camera." -#: ../src/gui/siril3.glade.h:396 -msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." -msgstr "" -"Als de Binning niet automatische wordt geladen uit de header kunt u die in " -"dit venster invoeren." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Bayer/moisaiek pattern: " -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "FWHM wordt omgerekend in arcsec" +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Kies een interpolatiemethode voor de demosaicing." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Als de brandpuntsafstand niet automatische wordt geladen uit de header kunt " -"u die manueel invoeren." +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Debayer interpolatie: " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Als de afmetingen van de Pixel X niet automatische wordt geladen uit de " -"header kunt u die zelf invoeren." +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilineair" -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "Binning niet in de afmetingen van de pixel" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" -"Vink dit aan als binning niet in acht wordt genomen in de pixel afmetingen. " -"In dit geval worden de waarden in de combo box hieronder gebruikt." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Camera en Optiek" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super Pixel" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"OPGELET: deze velden worden bij opening automatisch van het FITS-bestand " -"geladen en door deze hier in te stellen zullen dezen enkel op het huidig " -"bestand worden toegepast." +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Camera & Optiek" +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Andere debayermethode" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "A/D convertro gain in electron per ADU. Standaardwaarde is 2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "ADG gain:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Camera" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Binnenradius: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Buitenradius:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." @@ -1874,7 +1764,7 @@ "Binnenradius is de cirkel gebruikt om de locale achtergrond te meten. " "Standaardwaarde is 20.00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." @@ -1882,31 +1772,43 @@ "Buitenradius is de cirkel gebruikt om de locale achtergrond te meten. " "Standaardwaarde is 30.00." -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "Grootte van de cirkel om de achtergrondwaarde te meten (pixels):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Background" +#: ../src/gui/siril3.glade.h:386 +msgid "Background Annulus" +msgstr "Achtergrondring" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Herstel de Standaardwaarden" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Herstel de staardaard parameters" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 +msgid "Min. pixel value:" +msgstr "Min pixel waarde:" + +#: ../src/gui/siril3.glade.h:390 +msgid "Max. pixel value:" +msgstr "Max. pixel waarde:" + +#: ../src/gui/siril3.glade.h:391 +msgid "Bad pixels have value equal to or less than." +msgstr "Slechte bixels hebben waarden gelaak aan of kleiner dan." + +#: ../src/gui/siril3.glade.h:392 +msgid "Overexposed pixels have value equal to or greater than." +msgstr "Overbelichte pixels hebben waarden gelaak aan of hoger dan." + +#: ../src/gui/siril3.glade.h:393 +msgid "Pixel Value Range" +msgstr "Omvang pixelwaarde" + +#: ../src/gui/siril3.glade.h:394 msgid "Photometry" msgstr "Fotometrie" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "Herstel de staardaard swap folder" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:395 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1914,85 +1816,84 @@ "Kies een bestaand directory. Wees zeker dat er genoed ruimte beschikbaar is " "en dat je de rechten hebt." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:396 msgid "Select Swap Directory" msgstr "Kies een swap folder" -#: ../src/gui/siril3.glade.h:420 +#: ../src/gui/siril3.glade.h:397 +msgid "Restore the defaut swap storage directory" +msgstr "Herstel de staardaard swap folder" + +#: ../src/gui/siril3.glade.h:398 msgid "Swap Storage Directory" msgstr "Swap Geheugen Folder" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Ratio van het Gebruikte Geheugen: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:399 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." -msgstr "" -"Het geheugen in gebruik is deze waarde vermenigvuldigd met het totaal " -"beschikbaar geheugen.\n" -"OPGELET: Het ratio aan geheugen verminderen zal de performantie negatief " -"beïnvloeden." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" +msgstr "" +"Kiest een nieuwe ratio vrij geheugen voor de stacking. De waarde moet tussen " +"0.05 en 2 liggen, afhankelijk van andere processen op de computer. En hogere " +"ratio zou Siril sneller laten bewerken, maar een ratio's boven 1 vereits on-" +"disk geheugen dewelke trager is en dus afgeraden is" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Geheugenbeheer" +#: ../src/gui/siril3.glade.h:400 +msgid "RAM Ratio" +msgstr "RAM Ratio" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:401 msgid "Type of extension: " msgstr "Type extentie: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:402 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:403 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:404 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:405 msgid "FITS Format" msgstr "FITS Formaat" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:406 msgid "Don't ask before quitting" msgstr "Niet vragen bij het sluiten" -#: ../src/gui/siril3.glade.h:431 -msgid "Confirmation dialog" +#: ../src/gui/siril3.glade.h:407 +msgid "Confirmation Dialog" msgstr "Bevestigingsvenster" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"Gebruik donkere GTK theme\n" -"(herstarten mogelijk vereist)" +#: ../src/gui/siril3.glade.h:408 +msgid "Change the theme of the interface." +msgstr "Wissel het thema van de interface." -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Sommige dialogen van Siril hebben niet-standaard heldere kleuren. Met een " -"donker thema, waar de text helder is is dit onleesbaar. Door dit aan te " -"vinken wijzigen de non-standaard kleuren in donker." +#: ../src/gui/siril3.glade.h:409 +msgid "Automatic" +msgstr "Automatisch" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:410 +msgid "Dark theme" +msgstr "Donker thema" + +#: ../src/gui/siril3.glade.h:411 +msgid "Light theme" +msgstr "Helder thema" + +#: ../src/gui/siril3.glade.h:412 msgid "Remember window positions" msgstr "Onthoud venster positie" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:413 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." @@ -2000,11 +1901,11 @@ "Onthoud de positie van het beeldhoudend venster. Dit werkt niet zeker op " "alle architecturen." -#: ../src/gui/siril3.glade.h:437 -msgid "Look and feel" +#: ../src/gui/siril3.glade.h:414 +msgid "Look and Feel" msgstr "Weergave" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:415 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2015,360 +1916,385 @@ "Schrijf een pad per lijn met zoveel lijnen als nodig. Let wel op dat hoe " "meer lijnen, hoe langer de opstarttijd." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:416 msgid "Scripts Storage Directories" msgstr "Script Opslagmappen" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:417 msgid "Misc." msgstr "Divers." -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:418 msgid "Dynamic PSF" msgstr "Dynamic PSF" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:419 msgid "Ch." msgstr "Ch." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:420 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:421 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:422 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:423 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:424 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:425 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:426 msgid "Mag" msgstr "Mag" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:427 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:428 msgid "Angle" msgstr "Hoek" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:429 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:430 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" +"Het is aangeraden deze waarden op een representatief beeld aan te passe " +"alvorens deze voor registratie te gebruiken." + +#: ../src/gui/siril3.glade.h:431 msgid "Size in pixels of the search box." msgstr "Afmetingen van de zoeker in pixels." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:432 msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." msgstr "" "Grenswaarde boven de ruis voor detectie van sterren.\n" "De mediaan en standaardafwijking van het beeld worden berekend. Dan is de " "grenswaarde: mediaan + [grenswaarde] x stdev.\n" -"De standaardwaarde voor de grenswaarde is 1.00." +"De standaardwaarde voor de grenswaarde is 1.00. Deze waarde verhogen will " +"zwakkere sterren detecteren, wat enkel op beelden met veel signaal of weinig " +"ruis (hoog SNR) moet gebruikt worden." -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:435 msgid "Radius: " msgstr "Radius: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:436 msgid "Threshold: " msgstr "Grenswaarde: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:437 msgid "Roundness threshold:" msgstr "Rendheid grenswaarde:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:438 msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." -msgstr "" -"Grenswaarde voor de rondheid van sterren. Verminder deze woorden als de " -"sterren niet perfect rond zijn.\n" -"\n" -"OPGELET: wees zeker dat de reden goed is want dit kan de detectie degraderen." - -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Ster Detectie" +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." +msgstr "" +"Grenswaarde voor de rondheid van sterren. Verminder deze waarde als de " +"sterren niet perfect rond zijn, en verhoog deze waarde als de sterren " +"perfect rond zijn om valse positiven te voorkomen.\n" +"De standaardwaarde is 0.5, bruikbaar voor sterren twee keer zo groot in een " +"richting als de randere." -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:440 +msgid "Export PSF parameters in an ASCII file" msgstr "PSF parameters in een ASCII bestand exporteren" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:441 msgid "Remove selected star from the list" msgstr "Verwijder de gekozen ster van de lijst" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:442 msgid "Remove all stars from the list" msgstr "Verwijder alle sterren van de lijst" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:443 msgid "Wavelets control" msgstr "Wavelet controle" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:444 msgid "Cancel all changes applied" msgstr "Annuleer alle wijzigingen" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:445 msgid "Select an algorithm type to perform wavelets" msgstr "Kies een algoritme voor de wavelets" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:446 msgid "Type:" msgstr "Type:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:447 msgid "Nb of plans:" msgstr "Aantal lagen:" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:448 msgid "Number of wavelet layers that will be used" msgstr "Aantal wavelet lagen dat gebruikt zullen worden" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:449 msgid "Compute wavelets" msgstr "Bereken de wavelets" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:450 msgid "1st Plan:" msgstr "1ste Laag:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:451 msgid "2nd Plan:" msgstr "2de Laag:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:452 msgid "3th Plan:" msgstr "2de Laag:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:453 msgid "4th Plan:" msgstr "4de Laag:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:454 msgid "5th Plan:" msgstr "5de Laag:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:455 msgid "6th Plan:" msgstr "6de Laag:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:456 msgid "Reset changes" msgstr "Reset wijzigingen" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:457 msgid "Adjust" msgstr "Pas aan" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:458 msgid "Rotation" msgstr "Rotatie" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:459 msgid "Angle (°): " msgstr "Hoek (°): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:460 msgid "Checking this box will crop the output image." msgstr "Dit aanvinken zal het bekomen beeld croppen." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:461 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Hoeken in graden. Rotatiecenter is het midden van het beeld." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:462 msgid "Type of algorithm used for rotation" msgstr "Type algoritme voor de rotatie" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:463 msgid "Siril control center" msgstr "Siril control center" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:464 msgid "_File" msgstr "_File" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:465 msgid "Save as..." msgstr "Opslaan als..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:466 +msgid "Informations..." +msgstr "Informatie..." + +#: ../src/gui/siril3.glade.h:467 msgid "FITS Header..." msgstr "FITS Header..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:468 msgid "_Edit" msgstr "_Edit" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:469 msgid "_Image Processing" msgstr "_Image Processing" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:470 msgid "Asinh Transformation..." msgstr "Asinh Transformatie..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:471 msgid "Histogram Transformation..." msgstr "Histogram Transformatie..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:472 +msgid "Color Calibration" +msgstr "Kleurenkalibratie" + +#: ../src/gui/siril3.glade.h:473 msgid "Color Calibration..." msgstr "Kleurencalibratie..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:474 +msgid "Photometric Color Calibration..." +msgstr "Fotometrische Kleurencalibratie..." + +#: ../src/gui/siril3.glade.h:475 msgid "Color Saturation..." msgstr "Kleurverzadiging..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:476 msgid "Remove Green Noise..." msgstr "Verwijder Groene Ruis..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:477 msgid "Negative Transformation" msgstr "Negatieve Transformatie" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:478 msgid "À trous Wavelets Transform..." msgstr "A trous Wavelet Transform..." -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:479 msgid "Banding Reduction..." msgstr "Banding Vermindering..." -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:480 msgid "Cosmetic Correction..." msgstr "Cosmetische Correcties." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:481 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Deconvolutie..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:482 msgid "Fourier Transform..." msgstr "Fourier Transformatie..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:483 msgid "Median Filter..." msgstr "Mediaan Filter..." -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:484 msgid "Rotational Gradient..." msgstr "Roterend Gradiënt..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:485 msgid "Geometry" msgstr "Geometrie" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:486 msgid "Horizontal Mirror" msgstr "Spiegelbeeld Horizontaal" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:487 msgid "Vertical Mirror" msgstr "Spiegelbeeld Verticaal" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:488 msgid "Rotation..." msgstr "Rotatie..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:489 msgid "Resample..." msgstr "Resample..." -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:490 msgid "Background Extraction..." msgstr "Gradient Extractie..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:491 msgid "Extraction" msgstr "Extractie" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:492 msgid "Channels..." msgstr "Kanalen..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:493 msgid "Wavelet Layers..." msgstr "Wavelet Lagen..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:494 msgid "RGB Compositing..." msgstr "RGB Compositing..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:495 msgid "_Scripts" msgstr "_Scripts" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:496 msgid "_Analysis" msgstr "_Analysis" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:497 msgid "Dynamic PSF..." msgstr "Dynamische PSF..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:498 msgid "Image Plate Solver..." msgstr "Beeld Plate Solver..." -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:499 msgid "Statistics..." msgstr "Statistiek..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:500 msgid "Noise Estimation" msgstr "Ruisschatting" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:501 msgid "_Windows" msgstr "_Windows" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:502 msgid "Gray Channels Images" msgstr "Beeld in grijstinten" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:503 msgid "Color Image" msgstr "Kleurenbeeld" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:504 msgid "_Help" msgstr "_Help" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:505 msgid "Check For Updates" msgstr "Controleer Op Updates" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:506 msgid "Get scripts" msgstr "Krijg scripts" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:507 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2376,35 +2302,35 @@ "Deze conversatietabab wordt gebruikt om bestanden te importeren en te om te " "zetten in een bruikbaar formaat voor Siril: FITS of SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:508 msgid "Source" msgstr "Bron" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:509 msgid "Date" msgstr "Datum" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:510 msgid "Add files to convert" msgstr "Voer om te zetten bestanden toe" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:511 msgid "Remove selected files" msgstr "Verwijder geselecteerde bestanden" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:512 msgid "Remove all files from the list" msgstr "Verwijder alle bestanden van de lijst" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:513 msgid "Destination" msgstr "Bestemming" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:514 msgid "Sequence name:" msgstr "Naam sequentie:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:515 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2414,15 +2340,15 @@ "maken van de vorm NGC_6822-L_00001.fit. De naam kan ook eindigen met .ser, " "wat SER bestanden zal genereren." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:516 msgid "Colour image target" msgstr "Doelafbeelding" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:517 msgid "Keep three channels" msgstr "Behoud de drie kanalen" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:518 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." @@ -2430,25 +2356,25 @@ "Behoud de doelafbeelding met de RGB kanalen en verander de " "kanalenconfiguratie niet." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:519 msgid "Create three images" msgstr "Maak drie afbeeldingen aan" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:520 msgid "Split an RGB image into three images, R, G and B." msgstr "Verdeel een RGB afbeelding in R, G en B." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:521 msgid "Keep only first channel" msgstr "Behoud enkel het eerste kanaal" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:522 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "Voor een RGB afbeelding, behoud enkel R. Nuddig voor afbeeldingen in " "grijstinten opgeslaan als RGB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:523 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2456,7 +2382,7 @@ "Geeft de beginindex van de geconverteerde bestanden. Deze waarde moet in het " "interval [1, 65335] gelegen zijn." -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:524 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2468,7 +2394,7 @@ "niet enkel bij conversie.\n" "enkel voor RAW en FITS beelden en SER sequenties." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:527 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2476,11 +2402,11 @@ "Begin de conversie van alle bestanden naar het gekozen formaat, FITS of SER, " "met kleurenbewerking of niet." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:528 msgid "Create as many SER files as input files" msgstr "Maak zoveel SER bestanden als inputbestanden" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:529 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2490,11 +2416,11 @@ "alle inputs aan te maken. Gebruik dit als de inputelementen (films) niet " "dezelfde beeldgrootte of afzonderlijk bewerkt moeten worden." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:530 msgid "Supported file types:" msgstr "Ondersteund bestandtypes:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:531 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2511,11 +2437,11 @@ "De films kunnen in FITS of SER worden geconverteerd.\n" "De SER bestanden worden ondersteund en kunnen niet worden geconverteerd." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:535 msgid "File conversion" msgstr "Conversie" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:536 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2523,29 +2449,29 @@ "Afbeeldingen worden in sequenties behandeld. Siril vindt deze in de " "werkfolder en kan deze filteren." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:537 msgid "Sequence selection" msgstr "Sequentie selectie" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:538 msgid "Sequence:" msgstr "Seuqentie:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:539 msgid "Search sequences" msgstr "Zoek sequentie" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:540 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "" "Zoek sequenties FITS afbeeldingen, SER sequenties of videos in huidige map." -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:541 msgid "Force .seq recomputation" msgstr "Dwing .ser herberekening" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:542 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2561,15 +2487,15 @@ "\n" "OPGELET: Dit zal registratiegegevens en statiestieken wissen." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:546 msgid "Image selection in sequence" msgstr "Beeldselectie in sequentie" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:547 msgid "No sequence selected" msgstr "Geen sequentie geselecteerd" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:548 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2577,11 +2503,11 @@ "Beeldindex in sequentie. Gebruik ook de pijlen om van beeld te veranderen en " "SPATIE om een beeld als \"uitgesloten\" te markeren." -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:549 msgid "Excluded" msgstr "Uitgesloten" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:550 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" @@ -2589,11 +2515,11 @@ "Of de afbeelding al dan niet uitgesloten is van de verwerking (het bestand " "zelf wordt niet verwijderd)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:551 msgid "Reference image" msgstr "Referentiebeeld" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:552 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2607,35 +2533,35 @@ "Indien niet handmatig ingesteld, wordt het eerste beeld van de sequentie als " "referentie." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:555 msgid "Exclude All" msgstr "Sluit alle uit" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:556 msgid "Exclude all images of the sequence from the processing schedule" msgstr "Sluit alle afbeeldingen van de sequentie uit" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:557 msgid "Include All" msgstr "Kies alle" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:558 msgid "includes all images of the sequence in the processing schedule" msgstr "omvat alle afbeeldingen van de sequentie in de verwerking" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:559 msgid "Sequence export" msgstr "Export sequentie" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:560 msgid "Base name:" msgstr "Naambasis:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:561 msgid "Base name for the exported sequence" msgstr "Naambasis voor de geëxporteerde sequentie" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:562 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2643,11 +2569,11 @@ "Export sequentie formaat. MP4 en WEBM vervangt GIF in moderne Web " "publicaties, AVI is niet gecompresseerd." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:563 msgid "Export sequence" msgstr "Erport sequentie" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:564 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2660,11 +2586,11 @@ "kunnen gecropped worden an geselecteerd worden met dezelfde criteria als de " "stacking selectie." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:565 msgid "Normalize images" msgstr "Normaliseer afbeeldingen" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:566 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2680,19 +2606,19 @@ "Dit kan een enige tijd in beslag nemen bij de eerste export.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:569 msgid "Fps:" msgstr "Fps:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:570 msgid "Frame rate" msgstr "Framerate" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:571 msgid "Resize" msgstr "Herschaal" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:572 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2700,19 +2626,19 @@ "Vink dit aan voor het herschalen van de te exporteren sequentie. Merk op dat " "dit ten koste van de kwaliteit is." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:573 msgid "Width of output video" msgstr "Breedte van de output video" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:574 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:575 msgid "Height of output video" msgstr "Hoogte van de oupput video" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:576 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2720,27 +2646,27 @@ "Film kwaliteit: een lagere waarde betekent meer compressi en lagere bitrate " "en dus een kleiner bestandsgrootte." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:577 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Gekozen selectie uit te snijden" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:578 msgid "Image selection uses the same controls as for stacking" msgstr "Beeld selectie gebruikt dezelfde controles als voor de stacking" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:579 msgid "Go to the stacking tab" msgstr "Ga naar de stackiong tab" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:580 msgid "Sequence" msgstr "Seuqentie" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:581 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "Pré-processing is een optonele stap, toegepast op een sequentie." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:582 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2748,18 +2674,18 @@ "Deze enkelvoudige afbeelding wordt vaak de master file genoemt en is het " "resultaat van de verwerking van een aantal afbeeldingen." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:583 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "Dark, offset (bias) en flat files kunnen enkel een eenkelvoudige FITS-" "bestand zijn." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:585 msgid "Use flat" msgstr "Gebruik flat" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:586 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2767,7 +2693,7 @@ "Alle afbeeldingen in de sequendie sullen worden gedeeld door master flat " "(elke pixel waarde)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:587 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2777,21 +2703,21 @@ "Alle afbeeldingen in de sequenties zulle worden gedeeld door de master flat " "(elke pixelwaarde)." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:589 msgid "Browse..." msgstr "Zoek..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:591 msgid "Use dark" msgstr "Gebruik dark" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:592 msgid "The dark master image will be removed from all images in the sequence." msgstr "" "De master dark zal worden afgetrokken van alle afbeeldingen in de sequentie." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2800,18 +2726,18 @@ "De master dark zal worden afgetrokken van alle afbeeldingen in de sequentie." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:596 msgid "Use offset" msgstr "Gebruik offset" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:597 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "" "De master bias/offset zal worden afgetrokken van alle afbeeldingen van de " "sequentie." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:598 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2820,19 +2746,19 @@ "De master bias/offset zal worden afgetrokken van alle afbeeldingen in de " "sequentie." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:600 msgid "Choose your own normalisation value." msgstr "Kies uw eigen normalisatiefactor." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:601 msgid "Normalisation value for flat division" msgstr "Normalisatiewaarde voor de deling van de flat" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:602 msgid "Dark optimization" msgstr "Dark optimalisatie" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:603 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2850,11 +2776,11 @@ "OPGELET: Pas de dark optimalisatie op de master-dark NIET toe als de master-" "bias niet op voorhand werd afgetrokken." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:606 msgid "Auto evaluate normalisation value" msgstr "Auto-avalueer de normalisatiewaarde" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:607 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2862,22 +2788,22 @@ "Vikd dit vakje aan zodat Siril de normalisatiewaarde automatische schat.\n" "Deze waarde is de gemiddelde van de master-flat gecalibreerd met de offset." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:609 msgid "Equalize CFA" msgstr "Equalize CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:610 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" "Deze optie stelt gelijk de gemiddelde waarde van de RGB lagen in het CFA " "beeld." -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:611 msgid "Cosmetic correction (using master-dark)" msgstr "Cosmetische correcties (gebruikt de master-dark)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:612 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2885,11 +2811,11 @@ "Van heeveel veelvouden van de standaardafwijking een pixel moet moet " "afwijken om als defect beschouwd te worden." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:613 msgid "Enable Cosmectic Correction" msgstr "Schakel Cosmetische Correcties aan" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:614 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2897,11 +2823,11 @@ "Vink aan voor verwijdering van warme pixels.\n" "Warme pixels bevinden zich op de master-dark." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:616 msgid "Estimate" msgstr "Schat" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:618 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2912,23 +2838,23 @@ "waarde hoger is dan 1 % van alle pixels wordt u aangeraden om de sigma " "waarden aan te passen." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:619 msgid "Cold: 0 px" msgstr "Koud: 0 px" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:620 msgid "Hot: 0 px" msgstr "Warm: 0 px" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:621 msgid "Output sequence" msgstr "Ouput sequentie" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:622 msgid "Debayer FITS images before saving" msgstr "Demosaïek FITS beeld alvorens opslaan" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:623 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -2944,19 +2870,19 @@ "OPGELET: deze optie is enkel beschikbaar voor FITS afbeeldingen aangezien " "SER sequenties direct gedemozaïeceerd kunnen worden." -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:626 msgid "Store resulting sequence with prefix:" msgstr "Sla de resulterende sequentie op met prefix:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:627 msgid "Prefix of the image names resulting from the pre-processing." msgstr "Prefix van de namen van de beelden afkomstig van de pre-processing." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:628 msgid "Start pre-processing" msgstr "Begin pré-processing" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:629 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -2971,11 +2897,11 @@ "huidige sequentie.\n" "De volgende stap voor DLSR beelde is de debayer process, in de Conversie tab." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:632 msgid "Pre-processing" msgstr "Pré-processing" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:633 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -2983,19 +2909,27 @@ "Registratie is het uitlijnen van de afbeeldingen van een sequentie om ze te " "kunnen bewerken." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:634 msgid "Image registration" msgstr "Registratie van Afbeeldingen" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:635 +msgid "Register all images from sequence" +msgstr "Registreer alle beelden van de sequentie" + +#: ../src/gui/siril3.glade.h:636 +msgid "Register selected images only" +msgstr "Registreer enkel de geselecteerde afbeeldingen" + +#: ../src/gui/siril3.glade.h:637 msgid "Choose registration method:" msgstr "Kies een registratiemethode:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:638 msgid "Select registration layer:" msgstr "Kies een registratie laag:" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:639 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3012,31 +2946,23 @@ "beschikbaark, uit de standaardlaag genomen (voor RGB beelden: Groen, anders " "Blauw, dan Rood)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Registreer alle beelden van de sequentie" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Registreer enkel de geselecteerde afbeeldingen" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:642 msgid "Prefix:" msgstr "Prefix:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:643 msgid "Prefix of the image names resulting from the registration." msgstr "Prefix van de naam van het beeld afkomstig van de registratie." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:644 msgid "Algorithm: " msgstr "Algoritme: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:645 msgid "Match stars in selection" msgstr "Lijn de sterren in de selectie uit" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:646 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3047,11 +2973,11 @@ "vester in het referentiebeeld.\n" "Opgelet: kies een regio met genoeg sterren." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:648 msgid "Translation only" msgstr "Enkel translatie" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:649 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3072,11 +2998,11 @@ "OPGELET: een nieuwe sequentie wordt niet aangemaakt, registratiegegevens " "worden opgeslaan in de originale sequentie." -#: ../src/gui/siril3.glade.h:673 +#: ../src/gui/siril3.glade.h:653 msgid "Pick object in #1" msgstr "Kies object in #1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3086,19 +3012,19 @@ "geselecteerde beeld, klik dan op deze knop. De pixelcoördinaten van het " "object worden dan berekend en weergegeven." -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:655 msgid "Core X-coordinates of the first image." msgstr "Centrum X-coördinaat van het eerste beeld." -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:656 msgid "Core Y-coordinates of the first image." msgstr "Centrum Y-coördinaat van het eerste beeld." -#: ../src/gui/siril3.glade.h:677 +#: ../src/gui/siril3.glade.h:657 msgid "Pick object in #2" msgstr "Kies object in #2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:658 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " @@ -3108,27 +3034,27 @@ "geselecteerde beeld, klik dan op deze knop. De pixelcoördinaten van het " "object worden dan berekend en weergegeven." -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:659 msgid "Core X-coordinates of the second image." msgstr "Centrum X-coördinaat van het tweede beeld." -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:660 msgid "Core Y-coordinates of the second image." msgstr "Centrum Y-coördinaat van het tweede beeld." -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:661 msgid "Comet velocity in pixel per hour." msgstr "Komeet snelheid in pixels per uur." -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:662 msgid "Velocity: " msgstr "Snelheid: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:663 msgid "Go register" msgstr "Lijn uit" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:664 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3138,15 +3064,15 @@ "de gekozen methode en laag registreren (geladen in de \"Beeld sequentie\" " "tab, huidige sequentie is ook onderaan dit venster)." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:665 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Laad eerst een sequentie." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:666 msgid "Simplified Drizzle x2" msgstr "Vereenvoudigde Drizzle x2" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:667 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3177,11 +3103,11 @@ "opslagplaats om de beelden aan te maken en te verwerken door het kwadraat " "van de Drizzle factor vermenigvuldigd wordt." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:672 msgid "Cumul reg. data" msgstr "Cumul reg. gegevens" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:673 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3195,11 +3121,11 @@ "methode dat geen niewe sequentie aanmaakt. Schakel deze optie uit als het " "komeet/asteroïde algoritme meerde keren wordt uitgevoerd." -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:675 msgid "Follow star movement" msgstr "Volg de positive van de ster" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:676 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3215,15 +3141,15 @@ "OPGELET: door deze optie te kiezen kan registratie niet geparalleliseerd " "worden." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:678 msgid "Manual registration" msgstr "Manuele registratie" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:679 msgid "Display reference image" msgstr "Toon referentiebeeld" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:681 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3235,7 +3161,7 @@ "Om toegepast te worden moet het refferentiebeeld uitdrukkelijk worden " "gekozen en al een keer worden getoond op het gekozen uitlijningskanaal." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:683 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3243,11 +3169,11 @@ "Verander deze waarden, gebruikmakend van de muiswiel of de pijlen, om het " "beeld in de X-richting uit te lijnen." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:684 msgid "X translation:" msgstr "X translatie:" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:685 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3255,19 +3181,19 @@ "Verander deze waarden, gebruikmakend van de muiswiel of de pijlen, om het " "beeld in de Y-richting uit te lijnen." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:686 msgid "Y translation:" msgstr "Y translatie:" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:687 msgid "Set reference image first." msgstr "Kies eerst een referentiebeeld." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:688 msgid "Set first preview" msgstr "Kies een eerste voorvertoning" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:689 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3275,53 +3201,53 @@ "Laat toe om een voorvertoningsgebied juist onder weer te geven. Na hier te " "hebben geklikt, kies in het beeld de positie van het centrum van het gebied" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:690 msgid "Set second preview" msgstr "Kies een tweede voorvretoning" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:691 msgid "Registration" msgstr "Registratie" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:692 msgid "Filename:" msgstr "Bestandsnaam:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:693 msgid "Enter the filename of the exported CSV file." msgstr "Voer de bestandsnaam van het geëxpordeerde CSV bestand." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:694 msgid "Export to CSV" msgstr "Exporteer naar CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:695 msgid "Export displayed plot to a CSV file." msgstr "Export afgebeeld plot naar een CSV bestand." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:696 msgid "Clear all" msgstr "Wis alles" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:697 msgid "Clear all curves displayed in photometry." msgstr "Wis alle krommen afgebeeld in fotometrie." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:698 msgid "Clear latest" msgstr "Sluit laatste" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:699 msgid "Clear the last curve added in photometry." msgstr "Wis laatste kromme in fotometrie." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:364 +#: ../src/gui/siril3.glade.h:701 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Lichtkromme" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:702 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3335,43 +3261,47 @@ "grafiektypes.\n" "OPGELET: gnuplot moet geïnstalleerd zijn." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:704 msgid "Select the source of graph information." msgstr "Kies de herkomst voor de info grafiek." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:705 msgid "Select which information to display from photometry data." msgstr "Kies de weergave van de fotometrie gegevens." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:706 msgid "Roundness" msgstr "Rendheid" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:565 ../src/gui/plot.c:727 +#: ../src/gui/siril3.glade.h:707 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:730 +#: ../src/gui/siril3.glade.h:708 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Amplitude" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:709 msgid "Magnitude" msgstr "Magnitude" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:710 +msgid "Background" +msgstr "Background" + +#: ../src/gui/siril3.glade.h:711 msgid "X position" msgstr "X positie" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:712 msgid "Y position" msgstr "Y positie" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:713 msgid "Plot" msgstr "Plot" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:714 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3379,19 +3309,15 @@ "Stacking van afbeeldingen, via som, mediaan, gemiddelde met afwijzijng of " "pixel minimum/maximum." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:715 msgid "Sequence stacking" msgstr "Sequentie stacking" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:716 msgid "Stacking Methods:" msgstr "Stacking Methoden:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Stak deze set afbeeldingen:" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:717 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3456,83 +3382,35 @@ "Pixels van het beeld worden vervangen met de pixel op dezelfde plaats met de " "minimale waarde." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:740 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Som stacking" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:741 msgid "Average stacking with rejection" msgstr "Gemiddelde stacking met verwerping" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:742 msgid "Median stacking" msgstr "Mediaan stacking" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:743 msgid "Pixel maximum stacking" msgstr "Pixel maximum stacking" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:744 msgid "Pixel minimum stacking" msgstr "Pixel minimum stacking" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Kies de te stacken afbeeldingen. Alle beelden of enkel de manueel " -"geselecteerde beelden kunnen worden gebruitk. Het is ook mogelijk om enkel " -"een percentage van het aantal beelden te kiezen in functie van " -"kwaliteitscriteria (planetair, rondheid of fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "alle beelden van de sequentie" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "beelden voormalig handmatig uit de sequentie gekozen" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"beste beelden, automatisch uit de registratiegegevens (PSF - FWHM) gekozen" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"beste beelden, automatisch uit de registratiegegevens (PSF - rondheid) " -"gekozen" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"beste beelden, automatisch uit de registratiegegevens (planetair) gekozen" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Gebaseerd op de FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Stack de beste:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:745 msgid "Sigma low: " msgstr "Sigmaa laag: " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:746 msgid "Sigma high: " msgstr "Sigma hoog: " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:747 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3583,69 +3461,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:763 msgid "No rejection" msgstr "Geen verwerping" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:764 msgid "Percentile Clipping" msgstr "Precentile Clipping" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:765 msgid "Sigma Clipping" msgstr "Sigma Clipping" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:766 msgid "Median Sigma Clipping" msgstr "Median Sigma Clipping" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:767 msgid "Winsorized Sigma Clipping" msgstr "Winsorized Sigma Clipping" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:768 msgid "Linear Fit Clipping" msgstr "Linear Fit Clipping" -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"Normaliseer tot 16-bit\n" -"(Niet aanvinken voor Masters)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"Door dit aan te vinken zal het eindbeeld tot een 16-bit per kanaal " -"genormaliseerd worden. Dit is belangrijk als het inputbeeld een diepte van 8-" -"bit per kanaal heeft.\n" -"Vink deze optie uit voor een 8-bit master frame sequentie te maken." - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:769 msgid "Rejection:" msgstr "Verwerping:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:770 msgid "Normalisation:" msgstr "Normalisatie:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:771 msgid "Start stacking" msgstr "Start stacking" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:772 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3657,19 +3509,19 @@ "Siril gebruikt een 32-bit intern beeld voor de stacking, dewelke dan als een " "16-bit afbeelding word opgeslaan met onderstaande naam." -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:774 msgid "Store result in file:" msgstr "Sla uitkomst in bestand:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:775 msgid "Overwrite" msgstr "Overschrijven" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:776 msgid "Overwrite file without notice if it already exists." msgstr "Schrijf het bestand over zonder waarschuwing." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:777 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3707,31 +3559,31 @@ "De offset en dark moeten niet worden verwerkt met normalisatie.\n" "De flat moet worden verwerkt met multiplicatieve normalisatie." -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:789 msgid "No normalisation" msgstr "Geen normalisatie" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:790 msgid "Additive" msgstr "Additieve" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:791 msgid "Multiplicative" msgstr "Multiplicatieve" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:792 msgid "Additive with scaling" msgstr "Additive met schaling" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:793 msgid "Multiplicative with scaling" msgstr "Multiplicatieve met schaling" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:794 msgid "Force recomputing" msgstr "Herberekenen" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:795 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3740,11 +3592,90 @@ "Als standaard gebruikt Siril de coëfficiënten afkomstig van het seq-bestand, " "maar het is mogelijk om deze opnieuw te berekenen voor de stacking." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:796 +msgid "Add another filter" +msgstr "Voeg een ander filter toe" + +#: ../src/gui/siril3.glade.h:797 +msgid "Remove this filter" +msgstr "Verwijder deze filter" + +#: ../src/gui/siril3.glade.h:798 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"Kies de te stacken beelden:\n" +"- geselecteerde: gebruikt enkel de beelden die nuit uit de sequentie werden " +"verworpen\n" +"- FWHM: beelden met de beste berekend FWHM (enkel star-based registratie)\n" +"- rondheid: beelden met de beste rondheid (enkel star-based registratie)\n" +"- kwaliteit: beelden met de beste kwaliteit (planetair DFT of ECC registratie" + +#: ../src/gui/siril3.glade.h:803 +msgid "all" +msgstr "alle" + +#: ../src/gui/siril3.glade.h:804 +msgid "selected" +msgstr "geselecteerde" + +#: ../src/gui/siril3.glade.h:805 +msgid "roundness" +msgstr "rondheid" + +#: ../src/gui/siril3.glade.h:806 +msgid "Percents of the images of the sequence." +msgstr "Percentage van de beelden uit de sequentie." + +#: ../src/gui/siril3.glade.h:807 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Kies de te stacken afbeeldingen. Alle beelden of enkel de manueel " +"geselecteerde beelden kunnen worden gebruitk. Het is ook mogelijk om enkel " +"een percentage van het aantal beelden te kiezen in functie van " +"kwaliteitscriteria (planetair, rondheid of fwhm)." + +#: ../src/gui/siril3.glade.h:808 +msgid "Stack this set of images:" +msgstr "Stak deze set afbeeldingen:" + +#: ../src/gui/siril3.glade.h:809 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "Stacking 0 beelden van de 0 van de sequentie" + +#: ../src/gui/siril3.glade.h:810 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"Normaliseer tot 16-bit\n" +"(Niet aanvinken voor Masters)" + +#: ../src/gui/siril3.glade.h:812 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"Door dit aan te vinken zal het eindbeeld tot een 16-bit per kanaal " +"genormaliseerd worden. Dit is belangrijk als het inputbeeld een diepte van 8-" +"bit per kanaal heeft.\n" +"Vink deze optie uit voor een 8-bit master frame sequentie te maken." + +#: ../src/gui/siril3.glade.h:814 msgid "Stacking" msgstr "Stacking" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:815 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3752,38 +3683,46 @@ "Siril outputvenster, verteent berichten over wat werd gedaan en antwoorden " "op command inputs." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:816 +msgid "Export the log" +msgstr "Exporteer de log" + +#: ../src/gui/siril3.glade.h:817 +msgid "Clear the log" +msgstr "Wis de log" + +#: ../src/gui/siril3.glade.h:818 msgid "Output logs" msgstr "Output logs" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:819 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "" "Inputcommando. Voer hier 'help' om de lijst van ondersteunde commando's weer " "te geven." -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:820 msgid "Type help for the list of supported commands" msgstr "Tijp help vorr de lijst van ondersteunde commando's" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:821 msgid "Displays manual of the command written in the console." msgstr "Toont handleiding van commando in de console." -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:822 msgid "Console" msgstr "Console" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:823 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Klaar." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:824 msgid "Current working directory:" msgstr "Huidige werkmap:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:825 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3791,23 +3730,23 @@ "De map waar alle bestanden worden opgeslaan en gelezen. Kan gekozen worden " "met de knop Verander map of met de commande cd." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:826 msgid "Change dir..." msgstr "Verander map..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:827 msgid "Change current working directory" msgstr "Verander de huidige werkmap" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:828 msgid "Stop running processes" msgstr "Stop lopend process" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:829 msgid "Current working sequence:" msgstr "Huidige sequentie:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:830 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3816,11 +3755,11 @@ "Kies het aantal threads manueel.\n" "OPGELET: Een te klein aantal processoren zal de performantie verminderen." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:832 msgid "Displays the amount of used RAM memory by Siril." msgstr "Toon hoeveel RAM geheugen Siril gebruikt." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:833 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3829,16 +3768,88 @@ "bestandssysteem warin de map zich bevindt." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:835 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Harde Schijf ter beschikking: N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Kleurenkalibratie" +#: ../src/gui/siril3.glade.h:836 +msgid "Informations" +msgstr "Informatie" + +#: ../src/gui/siril3.glade.h:837 +msgid "Focal length (mm): " +msgstr "Brandpuntsafstand (mm): " + +#: ../src/gui/siril3.glade.h:838 +msgid "Pixel X dim. (micron): " +msgstr "Pixel X afm. (micrometer): " + +#: ../src/gui/siril3.glade.h:839 +msgid "" +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." +msgstr "" +"Wis alle velden. De gegevens over brandpuntsafstand en de afmetingen van de " +"sensor worden dan niet in de header opgeslaan." + +#: ../src/gui/siril3.glade.h:840 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Als de afmetingen van de Pixel Y niet automatische wordt geladen uit de " +"header kunt u die zelf invoeren." + +#: ../src/gui/siril3.glade.h:841 +msgid "Pixel Y dim. (micron): " +msgstr "Pixel Y afm. (micrometer): " + +#: ../src/gui/siril3.glade.h:842 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Als de brandpuntsafstand niet automatische wordt geladen uit de header kunt " +"u die manueel invoeren." + +#: ../src/gui/siril3.glade.h:843 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Als de afmetingen van de Pixel X niet automatische wordt geladen uit de " +"header kunt u die zelf invoeren." + +#: ../src/gui/siril3.glade.h:844 +msgid "No binning in pixel size value" +msgstr "Binning niet in de afmetingen van de pixel" + +#: ../src/gui/siril3.glade.h:845 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"Vink dit aan als binning niet in acht wordt genomen in de pixel afmetingen. " +"In dit geval worden de waarden in de combo box hieronder gebruikt." + +#: ../src/gui/siril3.glade.h:846 +msgid "FWHM is converted into arcsec" +msgstr "FWHM wordt omgerekend in arcsec" + +#: ../src/gui/siril3.glade.h:847 +msgid "Binning: " +msgstr "Binning: " + +#: ../src/gui/siril3.glade.h:848 +msgid "" +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." +msgstr "" +"Als de Binning niet automatische wordt geladen uit de header kunt u die in " +"dit venster invoeren." -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:849 msgid "" "A set of three color calibration factors will be computed and multiplied " "with every color channel.\n" @@ -3848,43 +3859,11 @@ "kleurenkanaal.\n" "De Achtergrond Neutralisatie moet vóór deze stap gebeuren." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "x coordinaat voor het begin van de achtergrondselectie" - -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "y coordinaat voor het begin van de achtergrondselectie" - -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Breedte van de achtergrondselectie" - -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Hoogte van de achtergrondselectie" - -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Gekozen selectie" - -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Gebruik huidige selectie" - -#: ../src/gui/siril3.glade.h:859 -msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." -msgstr "" -"Kies een regio dat representatief is voor het achtergrond. Vermeid sterren " -"en andere objecten." - -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:851 msgid "Background Neutralization" msgstr "Achtergrond neutralisatie" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:852 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3894,15 +3873,15 @@ "en het achtergrond neutraal maken.\n" "Dit moet worden uitgevoerd voor de kleurenkalibratie." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:854 msgid "Background reference" msgstr "Achtergrondreferentie" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:855 msgid "Manual White Balance" msgstr "Manuele kleurenbalans" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:856 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -3910,35 +3889,35 @@ "Door dit aan te vinken gebruikt Siril uw eigen kalibratiefactoren. Dit is " "standaard uitgeschakeld." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:857 msgid "Red:" msgstr "Rood:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:858 msgid "Green:" msgstr "Groen:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:859 msgid "Blue:" msgstr "Blauw:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:860 msgid "x coordinate of the start of the white reference selection" msgstr "x coordinaat voor het begin van de referentie voor het wit" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:861 msgid "y coordinate of the start of the white reference selection" msgstr "y coordinaat voor het begin van de referentie voor het wit" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:862 msgid "Width of the white reference selection" msgstr "Breedte voor de selectie van het wit" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:863 msgid "Height of the white reference selection" msgstr "Hoogte voor de selectie van het wit" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:864 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -3947,7 +3926,7 @@ "Kies een regio dat representatief is voor een gemiddelde witte regio.\n" "Als de selectie leeg is wordt het gans baald in rekening genomen." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:866 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." @@ -3956,7 +3935,7 @@ "worden niet in rekening genomen. Zwarte pixels worden nooit in rekening " "genomen." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:867 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." @@ -3965,38 +3944,33 @@ "worden niet in rekening genomen. Gesatureerde pixels worden nooit in " "rekening genomen." -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:868 msgid "Lower limit: " msgstr "Ondergrens: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:869 msgid "Upper limit: " msgstr "Bovengrens: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:870 msgid "White reference" msgstr "Referentie wit" -#: ../src/algos/PSF.c:690 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" msgstr "" -"PSF fit Resultaat:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Hoek=%0.2f °\n" -"Achtergrondwaarde=%0.6f\n" -"Maximale helderheid=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"Er zijn niet genoeg achtergrondsamples. De te woden geëxtraheerd achtergrond " +"kan niet worden berekend.\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "Geen geheugen meer - stopgezet" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "Niet genoeg samples." #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -4014,13 +3988,13 @@ msgstr "Verhoging van de saturatie: bezig...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1760 ../src/core/preprocess.c:68 +#: ../src/core/preprocess.c:305 ../src/core/siril.c:609 ../src/core/siril.c:900 +#: ../src/core/siril.c:996 ../src/core/siril.c:1088 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:326 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "Fout: berekening van de statistiek gefaald.\n" @@ -4030,12 +4004,14 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:546 +#: ../src/gui/photometric_cc.c:564 msgid "There is no selection" msgstr "Er is geen selectie" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:547 +#: ../src/gui/photometric_cc.c:565 msgid "Make a selection of the background area" msgstr "Maak een selectie van de background" @@ -4043,7 +4019,7 @@ msgid "Make a selection of the white reference area" msgstr "Maak een selectie voor de witte refferentie delen" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:322 msgid "Background reference:\n" msgstr "Achtergrondreferentie:\n" @@ -4051,7 +4027,7 @@ msgid "White reference:\n" msgstr "Wit referentie:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:307 msgid "Color calibration factors:\n" msgstr "Kleurenkalibratiefactoren:\n" @@ -4059,50 +4035,37 @@ msgid "Color Calibration: processing...\n" msgstr "Kleurenkalibratie: bezig...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Image %d: %ld pixels gewijzigd (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Cosmetische Correctie: bezig...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:245 +#: ../src/core/preprocess.c:345 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld pixels gewijzigd (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Fouriertransormatie: bezig...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "Er is iets mis met het bestand\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Kanaal #%d: achtergrondextractie klaar.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Achtergrondextractie: bezig...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Te weinig achtergrondsamples.\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:260 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" "Binnen- en buitenstraal zijn te klein. Gelieve deze waarden toe te passen.\n" -#: ../src/algos/photometry.c:303 +#: ../src/algos/photometry.c:311 msgid "" "Warning: There aren't enough pixels in the sky annulus. You need to make a " "larger selection.\n" @@ -4110,78 +4073,97 @@ "Opgelet: Er zijn te weinig pixels in cirkel. Gelieve een bredere selectie te " "maken.\n" +#: ../src/algos/photometry.c:364 ../src/algos/photometry.c:378 +msgid "Wrong value" +msgstr "Foute waarde" + +#: ../src/algos/photometry.c:365 ../src/algos/photometry.c:379 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "" +"Inner radius moet kleiner zijn dan de buitenradius. Gelieve de waarde te " +"wijzigen." + +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1838 +#: ../src/gui/callbacks.c:2903 ../src/gui/callbacks.c:4548 +#: ../src/gui/callbacks.c:4554 ../src/gui/callbacks.c:4575 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Fout" + #. Matching information -#: ../src/algos/plateSolver.c:700 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "%d overeenstemmende paren.\n" -#: ../src/algos/plateSolver.c:702 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "Uitschieters:%*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:708 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "Resolutie:%*.3lf arcsec/px\n" -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:762 #, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "Rotatie:%+*.2lf deg %s\n" -#: ../src/algos/plateSolver.c:722 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "(flipped)" -#: ../src/algos/plateSolver.c:728 +#: ../src/algos/plateSolver.c:776 #, c-format msgid "Focal:%*.2lf mm\n" msgstr "Focaallengte:%*.2lf mm\n" -#: ../src/algos/plateSolver.c:729 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "Pixel afmeting:%*.2lf µm\n" -#: ../src/algos/plateSolver.c:732 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "Gezichtsveld: %s x %s\n" -#: ../src/algos/plateSolver.c:735 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "Beeldcentrum: RA: %s, DEC: %s\n" -#: ../src/algos/plateSolver.c:770 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "NOMAD Catalogus grootte: %d objecten\n" -#: ../src/algos/plateSolver.c:804 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "TYCHO-2 catalogus grootte: %d objecten\n" -#: ../src/algos/plateSolver.c:838 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "Catalog Gaia DR2 catalogus grootte: %d objecten\n" -#: ../src/algos/plateSolver.c:872 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "Catalog PPMXL catalogus grootte: %d objecten\n" -#: ../src/algos/plateSolver.c:907 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "Catalog Bright catalogus grootte: %d objecten\n" -#: ../src/algos/plateSolver.c:967 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" @@ -4189,7 +4171,7 @@ "Plate Solving gefaald. Het beeld kon niet met de referentiesterren worden " "uitgelijnd.\n" -#: ../src/algos/plateSolver.c:970 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4203,7 +4185,7 @@ "Uiteindelijk, vergeet niet dat plate solving enkel op een lineair beeld " "toegepast zou moeten worden." -#: ../src/algos/plateSolver.c:1015 +#: ../src/algos/plateSolver.c:1067 #, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4211,19 +4193,19 @@ "Er zijn niet genoeg sterren in het referentiebeeld om de uitlijning uit te " "voeren. Er zijn minstens %d sterren nodig." -#: ../src/algos/plateSolver.c:1220 +#: ../src/algos/plateSolver.c:1283 msgid "There are no keywords stored in the FITS header.\n" msgstr "Er zijn geen sleutelwoorden in de FITS header van het bestand.\n" -#: ../src/algos/plateSolver.c:1221 +#: ../src/algos/plateSolver.c:1284 msgid "No metadata" msgstr "Geen metagegevens" -#: ../src/algos/plateSolver.c:1268 +#: ../src/algos/plateSolver.c:1351 msgid "Astrometric solution detected" msgstr "Astrometrische oplossing gevonden" -#: ../src/algos/plateSolver.c:1268 +#: ../src/algos/plateSolver.c:1351 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." @@ -4232,6 +4214,27 @@ "uitvoeren van de geometrische transformatie en ongedaan maken is niet " "mogelijk." +#: ../src/algos/PSF.c:704 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" +"PSF fit Resultaat:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Hoek=%0.2f °\n" +"Achtergrondwaarde=%0.6f\n" +"Maximale helderheid=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" + #. only used for progress bar #: ../src/algos/rgradient.c:69 msgid "Rotational gradient in progress..." @@ -4241,33 +4244,33 @@ msgid "Rotational gradient complete." msgstr "Roterend gradient klaar." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:222 +#: ../src/core/command.c:460 ../src/core/command.c:783 +#: ../src/core/command.c:951 ../src/core/command.c:986 +#: ../src/core/command.c:1066 ../src/core/command.c:1418 +#: ../src/core/command.c:1545 ../src/core/command.c:1568 +#: ../src/core/command.c:1596 ../src/core/command.c:1622 +#: ../src/core/command.c:1798 ../src/core/command.c:1867 +#: ../src/core/command.c:2720 ../src/gui/callbacks.c:3951 +#: ../src/gui/callbacks.c:4159 ../src/gui/callbacks.c:4317 +#: ../src/gui/callbacks.c:4350 ../src/gui/callbacks.c:4398 +#: ../src/gui/callbacks.c:4532 ../src/gui/callbacks.c:4686 +#: ../src/gui/callbacks.c:4865 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Andere taak al bezig, huidige wordt genegeerd.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "Findstar: bezig...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "Deze ster werd al reeds gekozen !\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "Aanwijzing" @@ -4280,7 +4283,7 @@ msgstr "Fout in het uitlijnen van de lagen." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Registratie klaar." @@ -4324,9 +4327,9 @@ msgid "You must at least load two layers before!\n" msgstr "Minimaal twee lagen moeten eerst geladen worden!\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:154 ../src/gui/wavelets.c:163 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4652 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Opgelet" @@ -4357,98 +4360,98 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Pas laag %d tot %g maal helderder\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:390 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "" "Vermenigvuldigen met een coëfficient lager of gelijk aan 0 is niet " "mogelijk.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:413 #, c-format msgid "Entropy: %.3lf\n" msgstr "Entropie: %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:449 msgid "Number of iterations must be > 0.\n" msgstr "Aantal iteraties moet > 0 zijn.\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:454 msgid "Sigma must be > 0.\n" msgstr "" "Sigma moet > 0 zijn.\n" "\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:494 ../src/core/command.c:997 msgid "Crop: x and y must be positive values.\n" msgstr "Crop: x en y moeten positieve waarden zijn.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:498 ../src/core/command.c:1001 msgid "Crop: width and height must be greater than 0.\n" msgstr "Crop: hoogte en breedte moeten groter dan 0 zijn.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:502 ../src/core/command.c:1038 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "" "Crop: breedte en hoogte moeten respectievelijk kleiner zijn dan %d en %d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:511 ../src/core/command.c:1010 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Crop: kies een regio of voer x, y, breedte en hoogte in\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:152 +#: ../src/core/command.c:597 ../src/core/command.c:2556 +#: ../src/gui/callbacks.c:4650 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "" "Wavelet: het maximaal aantal vlakken voor een beeld met deze afmetingen is " "%d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:161 +#: ../src/core/command.c:603 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Wavelet: type moet %d of %d zijn\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:672 msgid "Cannot list files, set working directory first.\n" msgstr "" "Kan de bestanden niet oplijsten, gelieven een werkfolder eerst te " "definiëren.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:678 ../src/core/command.c:687 msgid "Siril cannot open the directory.\n" msgstr "Siril kan deze map niet openen.\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:709 #, c-format msgid "Link: %s\n" msgstr "Link: %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:713 #, c-format msgid "Directory: %s\n" msgstr "Map: %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:723 ../src/core/command.c:730 #, c-format msgid "Sequence: %s\n" msgstr "Sequentie: %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:726 ../src/core/command.c:728 #, c-format msgid "Image: %s\n" msgstr "Afbeelding: %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:735 ../src/core/command.c:2535 msgid "********* END OF THE LIST *********\n" msgstr "********* EINDE VAN DE LIJST *********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:765 msgid "The scaling factor must be less than 5.0\n" msgstr "De schaalfactor moet kleiner dan 5.0 zijn\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:835 ../src/core/command.c:933 +#: ../src/core/command.c:955 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4456,12 +4459,12 @@ "Huidige selectie is te groot. Kies een regui rond een ster om de PSF te " "bepalen.\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:839 ../src/core/command.c:937 +#: ../src/core/command.c:959 ../src/io/sequence.c:1589 msgid "Select an area first\n" msgstr "Kies eerst een redio\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:845 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" @@ -4469,17 +4472,17 @@ "Relatieve magnitude: %.3lf, Echte verminderde magnitude: %.3lf, Offset: " "%.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:861 ../src/core/command.c:916 +#: ../src/core/command.c:978 msgid "This command can be used only when a sequence is loaded\n" msgstr "" "Dit commando kan enkel worden gebruikt indien een sequentie geladen is\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:869 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Voer eerst een PSF uit voor de sequentie (zie seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:873 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4488,137 +4491,136 @@ "Referentiemagnitude werd gekozen voor ster %d tot %f en zal worden berekend " "voor elk beeld\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:885 #, c-format msgid "FITS extension unknown: %s\n" msgstr "Onbekend FITS extensie: %s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:908 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" msgstr "Foute parameters. Sigma moet >= 0.05 en rondheid tussen 0 en 0.9.\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:921 msgid "Reference magnitude unset for sequence\n" msgstr "" "Referentiemagnitude niet gekozen voor de sequentie\n" "\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:973 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Voer de PSF uit op de geladen sequentie, laag %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1024 ../src/core/command.c:1030 +#: ../src/core/command.c:1637 ../src/core/command.c:1643 +#: ../src/core/command.c:1879 ../src/core/command.c:1886 +#: ../src/core/command.c:2143 ../src/core/command.c:2285 +#: ../src/core/command.c:2370 ../src/core/command.c:2378 #, c-format -msgid "No sequence %s found.\n" -msgstr "Geen sequentie %s gevonden.\n" +msgid "No sequence `%s' found.\n" +msgstr "Geen sequentie `%s' gevonden.\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1059 #, c-format msgid "Background value: %d\n" msgstr "Achtergrondwaarde: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1114 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Het bestand %s werd aangemaakt voor de laag %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1197 msgid "Number of layers MUST be 1 or 3\n" msgstr "Aantal lagen MOET 1 of 3 zijn\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1212 msgid "new empty image" msgstr "nieuw lege afbeelding" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1229 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "Waarden moeten positief en kleiner dan %d zijn.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1249 ../src/core/command.c:1510 msgid "Wrong parameters.\n" msgstr "Foute parameters.\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1254 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "Fill2: kies een regio of voer x, y, breedte en hoogte in\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1277 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "%d sterren gevonden, kanaal #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1291 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "find_hot moet worden toegepast op een één-kalaal master-dark" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1299 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld koude en %ld warme pixels\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1304 ../src/core/command.c:1339 #, c-format msgid "Cannot open file: %s\n" msgstr "Kan bestand niet openen: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1400 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "cosmetische correcties: cosme file format error op lijn %d: %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1408 msgid "There were some errors, please check your input file.\n" msgstr "Er waren fouten, controleer de input file.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1430 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "De grootte van de kern MOET een oneven getal groter dan 1 zijn.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1435 msgid "Modulation value MUST be between 0 and 1\n" msgstr "Modulatiewaarde MOET tussen 0 en 1 zijn\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1458 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "De coördinaten van het zwaartepunt zijn (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1573 msgid "FFT does not work with sequences\n" msgstr "FFT werkt niet met sequenties\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1677 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Gebruik dit commande om afbeeldingen uit een sequentie te selecteren.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1683 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "Het eerste argument moet tussen 0 en het aantal beelden min één.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1717 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "Selectie update klaar, %d beelden geselecteerd in de sequentie\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1736 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Siril kan de lagen niet splitsen. Wees zeker dat het beeld in RGB-modus is.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1780 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4627,61 +4629,87 @@ "%s laag: Gemiddelde: %0.1lf, Mediaan: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, " "Min: %0.1lf, Max: %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1810 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Conversie: fout bij het opnenen van de werkfolder %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1829 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Cnversie: bezig...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1840 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Cenversie: geen werkfolder gedefiniëerd.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1899 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Globale Ster Uitlijning (deep-sky)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "Niet genoeg opslagruimte om Drizzle operatie toe te passen!\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1960 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "Registratie: processing met methode: %s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1979 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "Normalisatieopties niet toegestaan in deze context, genegeerd.\n" + +#: ../src/core/command.c:1999 ../src/core/command.c:2017 +#: ../src/core/command.c:2035 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "Kon argument `%s' aan de filter `%s' niet ontleden , stoppen.\n" + +#: ../src/core/command.c:2006 ../src/core/command.c:2024 +#: ../src/core/command.c:2042 ../src/core/command.c:2055 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Argument ontbreekt aan %s, stopt.\n" + +#: ../src/core/command.c:2061 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" +"Output bestandsnaam niet toegestaan in deze context, wordt genegeerd.\n" + +#: ../src/core/command.c:2065 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Onverwacht argument aan de stack `%s'. Stopgezet.\n" + +#: ../src/core/command.c:2082 #, c-format msgid "Stacking sequence %s\n" msgstr "Stack sequentie %s\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2092 +msgid "Not using rejection for stacking\n" +msgstr "Verwerping voor de stacking niet toegepast\n" + +#: ../src/core/command.c:2135 #, c-format msgid "Could not save the stacking result %s\n" msgstr "Kan de resultaat %s van de staking niet oplsaan\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2157 msgid "Looking for sequences in current working directory...\n" msgstr "Zoekt zequenties in huidige werkfolder...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2159 msgid "Error while searching sequences or opening the directory.\n" msgstr "Fout tijdens het zoeken van sequenties of bij het openen van de map.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2168 msgid "Starting stacking of found sequences...\n" msgstr "Begin stacking van de gevonden sequenties\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2176 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "Stackte %d sequenties succesvol.\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2216 ../src/core/command.c:2311 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4689,20 +4717,20 @@ "De gemiddelde stackingmethode gebruikt Winsorised afwijzing an heeft twee " "extra parameters nodig: sigma laag en hoog.\n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2225 ../src/core/command.c:2320 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "De gegeven stackingmethode is ongekend. (%s).\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "Stackingsmethode van type '%s' is ongeldig\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2256 msgid "Stacked sequence successfully.\n" msgstr "Sequentie succesvol gestackt.\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2444 ../src/gui/callbacks.c:3963 msgid "Preprocessing...\n" msgstr "Preprocessing...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2494 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4711,26 +4739,49 @@ "Aantal logische processoren MOET groter dan 0 en kleiner of gelijk aan %d " "zijn.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2504 #, c-format msgid "Using now %d logical processors\n" msgstr "Gebruikt nu %d logische processoren\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2516 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"De toegelaten grenswaarden voor de geheugen ratio voor de stacking zijn " +"[0.05, 2], met waarden onder de beschibare geheugen aangeraden\n" + +#: ../src/core/command.c:2520 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Een waarde boven 1 voor het geheugen voor de stacking maakt gebruik van on-" +"disk geheugen, dewelke heel traag is, wat niet aangeraden is (%g " +"aangevraagd)\n" + +#: ../src/core/command.c:2524 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "Bruikbare geheugen voor de stacking aangepast tot %g\n" + +#: ../src/core/command.c:2530 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* LIJST VAN BESCHIKBARE COMMANDO'S *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2611 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Onbekend of nog niet geïmplementeerde commando '%s'\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2618 #, c-format msgid "Usage: %s\n" msgstr "Verbruik: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2625 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "" @@ -4738,58 +4789,62 @@ "\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2631 #, c-format msgid "Running command: %s\n" msgstr "Bezig met command: %s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2680 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "Fout in lijn: %d. Einde van de batch processing\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Fout in lijn %d: '%s'.\n" + +#: ../src/core/command.c:2681 +msgid "Exiting batch processing.\n" +msgstr "Bestaande batch processing.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2700 msgid "Script execution finished successfully.\n" msgstr "Script uitvoering successvol uitgevoerd.\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2702 msgid "Total execution time" msgstr "Totale bewerkingstijd" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2704 msgid "Script execution failed.\n" msgstr "Script uitvoering gefaald.\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:469 +#: ../src/core/command.c:2730 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "Bestand [%s] bestaat niet\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2738 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "" "Begin van script %s\n" "\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2745 msgid "Command execution failed.\n" msgstr "Commando uitvoering gefaald.\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2870 msgid "Can be used in a script: " msgstr "Kan in een script gebruikt worden: " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2873 msgid "YES" msgstr "JA" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2875 msgid "NO" msgstr "NEE" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2885 msgid "No help for this command" msgstr "Helpfunctie niet beschikbaar voor deze commando" @@ -4873,8 +4928,18 @@ msgstr "Zelfde functie as COSME maar toegepast op RAW CFA beelden" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "Crop het huidige beeld uit het voormalig gekozen vierhoek" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"Het kan in de GUI worden gebruikt: als met de muis een selectie werd " +"gemaakt, roep de CROP commando zonder argumenten and het cropt op deze " +"selectie. Anders, of in scripts, moeten argumenten worden meegegeven, \"x\" " +"en \"y\" zijnde de coördinaten van bovenste linkerhoek en \"width\" en " +"\"height\" de grootte van de selectie" #: ../src/core/command_def.h:22 msgid "" @@ -5132,8 +5197,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5142,9 +5209,11 @@ msgstr "" "Voorverwerkt de sequentie \"sequencename\" gebruikmakend van bias, dark en " "flat als argument gegeven. Het is mogelijk om CFA beelden voor cosmetische " -"correcties aan te duiden met de optie « -cfa » en beeld te demozaïken op het " -"einde van het proces met \"-debayer\". De \"-flip\" optie vraagt aan Siril " -"om het beeld up to bottom te lezen voor de demozaiëk operatie en de \"-" +"correcties aan te duiden met de optie « -cfa » en het beeld te demozaïken op " +"het einde van het proces met \"-debayer\". Deze optie kan worden " +"geassocieerd met \"-stretch\" om een 16-bit beeld gedurende de operatie te " +"gebruiken (werkd enkel met DSLR beelden). De \"-flip\" optie vraagt aan " +"Siril om het beeld up to bottom te lezen voor de demozaiëk operatie en de \"-" "equalize_cfa\" optie stelt de gemiddelde intensiteit van de RGB lagen van de " "CFA flat master. Het is ook mogelijk om de dark substractie te optimiseren " "met \"-opt\"\n" @@ -5389,7 +5458,7 @@ "duidelijk. Om de referentiestar en magnitude offset te resetten, zie " "UNSETMAGSEQ" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" @@ -5397,37 +5466,48 @@ "Split het kleurenbeeld in drie afzonderlijke bestanden (een per kleur) en " "slaat deze op als \"r\" \"g\" en \"b\" bestanden" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" "Stackt de sequentie \"sequencename\", gebruikmakend van de opties. De " "toegestane opties zijn: sum, max, min, med of median en rej of mean dat de " "bijkomende argumenten \"sigma low\" en \"high\" gebruiken voor het " -"Winsorized sigma clipping rejectie alogritme (kan het niet worden " -"gewijzigd). Verschillende normalisaties zijn mogelijk: \"-norm=add\" voor " -"additie, \"-norm=mul\" voor vermenigvuldiging. Opties \"-norm=addscale\" en " -"\"-norm=mulscale\" passe dezelfde normalisatie uit maar met schaling. Indien " -"geen argumenten meegegeven worden anders dan de sequentienaam wordt een sum " -"stacking toegepast" +"Winsorized sigma clipping rejectie alogritme (kan hier niet worden " +"gewijzigd).\n" +"Verschillende normalisaties zijn mogelijk: \"-norm=add\" voor additie, \"-" +"norm=mul\" voor vermenigvuldiging. Opties \"-norm=addscale\" en \"-" +"norm=mulscale\" passen dezelfde normalisatie uit maar met schaling.\n" +"Indien geen argumenten meegegeven worden anders dan de sequentienaam wordt " +"een sum stacking toegepast.\n" +"Uitgangsbeeld naam kan worden gekozen met \"-out=\" optie.\n" +"Gestackte beelden kunnen worden geselecteerd op basis van filter, zoals " +"manueel geselecteerd, ifv. FWHM, met sommige \"-filter-*\" opties.\n" +"Zie de commando referentie voor een volledige beschrijving van dit commando" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" "Opent alle sequentie in de huidige werkmap and stackt ze met de optioneel " -"gespecifieerde stackingstype of met sum stacking. Zie de STACK command voor " +"gespecifieerde stackingstype of met som stacking. Zie de STACK command voor " "beschrijving van de opties" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5435,22 +5515,22 @@ "Geeft de globale statistieken van het huidige beeld weer. Als een selectie " "werd gemaakt geeft dit de statistieken van de selectie weer" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Vervangt de waarden onder \"level\" met \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Vervangt de waarden boven \"level\" met \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Vervangt de waarden onder \"lo\" met \"lo\" en de waarden boven \"hi\" met " "\"hi\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5458,11 +5538,11 @@ "Laat toe massaal beelden uit een selectie uit een geladen sequentie uit te " "vinken (van \"from\" tot \"to\"). Zie SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Reset de magnitude calibrate tot 0. Zie SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5470,7 +5550,7 @@ "Reset de calibratie magnitude en referentiester voor de sequentie. Zie " "SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5478,12 +5558,12 @@ "Past een unsharp mask toe met sigma \"sigma\" en coëfficient \"multi\" toe " "op het geladen beeld" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "Toont een beeld met \"low\" en \"high\" met low en high grenzen" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5495,7 +5575,7 @@ "Het resultaat word in een bestand opgeslaan met een structuur bevattende de " "vlakken, klaar voor de gewogen reconstructie met WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5510,13 +5590,49 @@ msgid "Loading init file: '%s'\n" msgstr "Geladen init file: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"De werkfolder is niet meer bereikbaar. De standaard werkfolder werd als " -"nieuwe werkfolder gedefiniëerd.\n" +"Niet genoeg opslagruimte om deze operatie uit te voeren: %sB beschikbaar " +"voor %sB nodig (mist %sB)\n" +"\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "Te weineig opslagruimte" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Open bestand" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Open" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Cancel" +msgstr "_Cancel" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +msgid "Add Files" +msgstr "Voeg Bestanden toe" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Add" +msgstr "_Add" + +#: ../src/core/OS_utils.c:416 ../src/core/OS_utils.c:419 +msgid "Save File" +msgstr "Bestand Opslaan" + +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Save" +msgstr "_Save" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 msgid "Could not create the named pipe " @@ -5526,52 +5642,93 @@ msgid "The named pipe file " msgstr "De genaamde pipe file " -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" msgstr "" "Kon het genaamde pipe niet openen\n" "\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" msgstr "commando te lang of slecht ingevoerd\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "commando gestopt\n" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:155 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Dark optimisatie: k0=%1.3lf\n" + +#: ../src/core/preprocess.c:213 +#, c-format +msgid "Pre-processing image %s" +msgstr "Pre-processing van de beelden %s" + +#: ../src/core/preprocess.c:252 ../src/core/preprocess.c:348 +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"Darkmap cosmetische correcties enkel ondersteund met éénkanalige " +"afbeeldingen\n" + +#: ../src/core/preprocess.c:263 +#, c-format +msgid "Saving image %s" +msgstr "Sla afbeelding %s op" + +#: ../src/core/preprocess.c:309 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Normalisatiewaarde automatisch geschat: %.2lf\n" + +#: ../src/core/preprocess.c:357 +#, c-format +msgid "Loading and pre-processing image %d/%d (%s)" +msgstr "Laad en pre-process afbeeldingen%d %d (%s)" + +#: ../src/core/preprocess.c:363 +#, c-format +msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgstr "Kon een van de raw bestanden niet lezen: %s. Pre-processing gestopt." + +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "Geen beelden geselecteerd voor processing. Stopgezet.\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Voorbereiding van de processing van de sequentie gefaald.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Output index mapping failed (%d %d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": processing...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Processing beeld %d (%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Processing sequentie gefaald. Lees de log." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "Processing sequentie gefaald.\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "Verwerking van de script gedeeltelijk successvol. Zie log." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " @@ -5580,43 +5737,133 @@ "Verwerking van de script gedeeltelijk successvol, met %d gefaalde en " "tijdelijk uit de sequentie verworpen beelden.\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Processing sequentie sucessvol." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "Sequence processing succeeded.\n" -#: ../src/core/processing.c:225 -msgid "Finalizing sequence processing failed.\n" -msgstr "Finalisatie van de sequentie gefaald.\n" +#: ../src/core/processing.c:241 +msgid "Finalizing sequence processing failed.\n" +msgstr "Finalisatie van de sequentie gefaald.\n" + +#: ../src/core/processing.c:435 +msgid "Process aborted by user\n" +msgstr "Process stopgezet door de gebruiker\n" + +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" +msgstr "" +"Sequentie filter: waarden kunnen enkel letterlijk of percentueel zijn\n" + +#: ../src/core/sequence_filtering.c:200 +#, c-format +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Gebruikt geselecteerde filter (%d/%d van de sequentie)\n" + +#: ../src/core/sequence_filtering.c:208 +#, c-format +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Gebruikt ster FWHM filter (onder %f)\n" + +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Gebruikt rondheid filter (boven %f)\n" + +#: ../src/core/sequence_filtering.c:224 +#, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Gebruikt kwaliteit filter (onder %f)\n" + +#: ../src/core/sequence_filtering.c:251 +msgid "" +"Provided filtering options do not allow at least two images to be " +"processed.\n" +msgstr "" +"De gekozen filter opties bieden niet tenminste 2 beelden om bewerkt te " +"worden.\n" + +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"Het referentiebeeld is niet in de geselecteerde set afbeeldingen. Om " +"problemen te voorkomen, gelieven van beeld te veranderen of de filter " +"parameters aan te passen.\n" + +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "Gebruikt refentiebeeld %d als tijdelijke referentiebeeld\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" +msgstr "" +"Opgelet: sommige beelden ontbreken informatie voor de keuze van de beste " +"beelden. Gebruikt enkel de beschikbare gegens (%d beelden uit %d).\n" + +#: ../src/core/sequence_filtering.c:367 +#, c-format +msgid "Processing all images in the sequence (%d)\n" +msgstr "Alle beelden van de sequentie (%d) bewerken\n" + +#: ../src/core/sequence_filtering.c:370 +#, c-format +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "Enkel de geselecteerde beelden van de sequentie (%d) bewerken\n" + +#: ../src/core/sequence_filtering.c:373 +#, c-format +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "" +"De beelden van de sequentie met een FWHM lager of gelijk aan %g bewerken " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:378 +#, c-format +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "" +"De beelden van de sequentie met een rondheid hoger of gelijk aan %g bewerken " +"(%d)\n" + +#: ../src/core/sequence_filtering.c:383 +#, c-format +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "" +"De beelden van de sequentie met een kwaliteit hoger of gelijk aan %g " +"bewerken (%d)\n" + +#: ../src/core/sequence_filtering.c:388 +#, c-format +msgid "Processing images whose output don't already exist (%d)" +msgstr "Alle beelden die nog geen output hebben bewerken (%d)" -#: ../src/core/processing.c:394 -msgid "Process aborted by user\n" -msgstr "Process stopgezet door de gebruiker\n" +#: ../src/core/sequence_filtering.c:405 +#, c-format +msgid "for a total of images processed of %d)\n" +msgstr "" +"voor een totaal van %d bewerkte beelden)\n" +"\n" -#: ../src/core/siril.c:164 +#: ../src/core/siril.c:161 #, c-format msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" msgstr "" "imoper: afbeeldingen hebben niet dezelfde afmetingen (b = %u|%u, h = %u|%u)\n" -#: ../src/core/siril.c:211 -#, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Afbeeldingen hebben niet dezelfde afmetingen (w = %d|%d, h = %d|%d)\n" - -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:383 ../src/gui/plot.c:443 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Fout" - -#: ../src/core/siril.c:249 +#: ../src/core/siril.c:203 #, c-format msgid "" "addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" @@ -5625,93 +5872,60 @@ "addmax: afbeeldingen hebben niet dezelfde afmetingen (w = %d|%d, h = %d|%d, " "layers = %d|%d)\n" -#: ../src/core/siril.c:337 +#: ../src/core/siril.c:291 msgid "Unsharp: processing...\n" msgstr "Unsharp: bezig....\n" -#: ../src/core/siril.c:587 +#: ../src/core/siril.c:541 msgid "Could not compute normalization values for the images, aborting.\n" msgstr "Normalisatie kon voor de beelden niet worden berekend, stopgezet.\n" -#: ../src/core/siril.c:753 -#, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "Dark optimisatie: k0=%1.3lf\n" - -#: ../src/core/siril.c:836 -#, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Normalisatiewaarde automatisch geschat: %.2lf\n" - -#: ../src/core/siril.c:843 -#, c-format -msgid "Pre-processing image %s" -msgstr "Pre-processing van de beelden %s" - -#: ../src/core/siril.c:883 ../src/core/siril.c:928 -msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" -msgstr "" -"Darkmap cosmetische correcties enkel ondersteund met éénkanalige " -"afbeeldingen\n" - -#: ../src/core/siril.c:895 -#, c-format -msgid "Saving image %s" -msgstr "Sla afbeelding %s op" - -#: ../src/core/siril.c:944 -#, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Laad en pre-process afbeeldingen%d %d (%s)" - -#: ../src/core/siril.c:950 -#, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." -msgstr "Kon een van de raw bestanden niet lezen: %s. Pre-processing gestopt." - -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:673 #, c-format msgid "Extracting %s..." msgstr "Extractie %s..." -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:716 msgid "Median Filter: processing...\n" msgstr "Mediaan Filter: bezig...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:725 msgid "Median filter failed" msgstr "Mediaan filter gefaald" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:793 msgid "Median filter applied" msgstr "Mediaan filter toegepast" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:870 msgid "Banding Reducing: processing...\n" msgstr "Banding Vermindering: bezig...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1039 msgid "backgroundnoise: Error, no data computed\n" msgstr "backgroundnoise: Foutmelding, geen gegevens berekend\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1049 msgid "backgroundnoise: does not converge\n" msgstr "backgroundnoise: geen convergentie\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1079 msgid "Noise standard deviation: calculating...\n" msgstr "Ruis starndaarddeviatie: berekening...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1099 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Background noise waarde (kanaal: #%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1114 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Lucy-Richardson deconvolution: bezig...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "Log bestanden (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "" @@ -5762,298 +5976,245 @@ msgid "File I/O Error: Unable to write swap file in %s: [%s]\n" msgstr "Bestand I/O Fout: Kon in het swap bestand in %s: [%s] niet schrijven\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "" "Onbekende fout\n" "\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "Onbekend bestand of map\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "\"%s\" is geen map\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2902 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "" "Schrijven in deze map is niet toegestaan: %s\n" "\n" -#: ../src/core/utils.c:373 +#: ../src/core/utils.c:318 #, c-format msgid "Setting CWD (Current Working Directory) to '%s'\n" msgstr "Stel huidige werkfolder als '%s'\n" -#: ../src/core/utils.c:380 +#: ../src/core/utils.c:321 #, c-format msgid "Could not change directory to '%s'.\n" msgstr "Kon folder niet wijzigen in '%s'.\n" -#: ../src/core/utils.c:799 +#: ../src/core/utils.c:488 msgid "Filename is too long, not expanding it\n" msgstr "Bestandsnaam te lang, zal niets doen\n" -#: ../src/core/utils.c:1019 +#: ../src/core/utils.c:603 #, c-format msgid "Checking GTK version ... GTK-%d.%d\n" msgstr "Checking GTK versie ... GTK-%d.%d\n" -#: ../src/core/utils.c:1042 +#: ../src/core/utils.c:626 #, c-format msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" msgstr "De GTK versie stemt niet overeen met de verseisten: (GTK-%d.%d)\n" -#: ../src/core/utils.c:1048 +#: ../src/core/utils.c:632 #, c-format msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" msgstr "" "Onmogelijk om de CSS style sheet %s te laden. Gelieve %s te herinstalleren\n" -#: ../src/core/utils.c:1058 ../src/main.c:257 +#: ../src/core/utils.c:642 ../src/main.c:221 #, c-format msgid "Successfully loaded '%s'\n" msgstr "Succesvol '%s' geladen\n" -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Sterren moeten dezelfde eenheden hebben." - -#: ../src/gui/PSF_list.c:171 -#, c-format +#. translator names +#: ../src/gui/about_dialog.c:37 msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" -"Gemiddelde Gaussische PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Hoek:\t%.2f deg\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Ster %d van %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "FITS Bestanden (*.fit, *.fits, *.fts)" - -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "RAW DSLR Camera Bestanden" - -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "Grafische Bestanden (*.bmp" - -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Netpbm Bestanden (*.ppm, *.pnm, *.pgm)" - -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "IRIS PIC Bestanden (*.pic)" - -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "SER Bestanden (*ser)" - -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "Film Bestanden (*.avi, *.mpg, ...)" - -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Open bestand" - -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Open" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Antoine Hoeffelman" + +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "Over Siril" + +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Software voor het bewerken van astronomische foto's" + +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Bezoek de website van Siril" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Cancel" - -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:799 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "Afbeelding %d is uitgesloten van de sequentie\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:809 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "Afbeelding %d is geselecteerd uit de sequentie\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:843 msgid "Selected all images from sequence\n" msgstr "Selecteer alle beelden van de sequentie\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:847 msgid "Unselected all images from sequence\n" msgstr "Deselecteer alle beelden van de sequentie\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1056 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "Kies de MAX waarde voor de aanpassing van cutoff sliders\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1099 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "setting ranges scalemin=%d, scalemax=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1205 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "<%%s.seq>: %%d beelden geselecteerd uit %%d, referentiebeelden %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1208 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "<%%s.seq>: %%d beelden geselecteerd uit %%d, referentiebeelden %%.%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1217 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "<%s.seq>: %d images geselecteerd uit %d, geen referentiebeeld gekozen" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1220 #, c-format msgid "%s, %d images selected" msgstr "%s, %d beelden geselecteerd" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1224 #, c-format msgid "No sequence" msgstr "Geen sequentie" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "- none -" msgstr "- geen -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1308 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" msgstr "" "redraw: maximaal aantal lagen ondersteund is %d (huidig beeld heeft er %d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1608 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: selectie is te groot" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1610 #, c-format msgid "fwhm: no selection" msgstr "fwhm: geen selectie" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1635 #, c-format msgid "%s (channel 0)" msgstr "%s (kanaal 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1640 #, c-format msgid "%s (channel 1)" msgstr "%s (kanaal 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1644 #, c-format msgid "%s (channel 2)" msgstr "%s (kanaal 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1671 msgid "Unassigned" msgstr "Niet-toegewezen" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1697 #, c-format msgid "%d: not affected yet" msgstr "%d: nog niet beïnvloed" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1837 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Onbekende zoom_value value, was is de huidige zoom?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1923 msgid "B&W channel" msgstr "B&W kanaal" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1956 +#, c-format +msgid "%d file loaded" +msgstr "%d bestand geladen" + +#: ../src/gui/callbacks.c:1958 #, c-format msgid "%d files loaded" msgstr "%d bestanden geladen" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1963 +#, c-format +msgid "%d file selected, %s" +msgstr "%d beeld geselecteerd, %s" + +#: ../src/gui/callbacks.c:1965 +#, c-format +msgid "%d files selected, %s" +msgstr "%d beelden geselecteerd, %s" + +#: ../src/gui/callbacks.c:2107 #, c-format msgid "Mem: %ldMB" msgstr "Mem: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2109 #, c-format msgid "Mem: N/A" msgstr "Mem: N/A" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2117 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "Schijfruimte: %.0lf%s" +msgid "Disk Space: %s" +msgstr "Schijfruimte: %s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2120 #, c-format msgid "Disk Space: N/A" msgstr "Schijfruimte: N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2182 msgid "This binning is not handled yet\n" msgstr "Deze binning is nog niet ondersteund\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2715 ../src/gui/callbacks.c:2716 #, c-format msgid "ERROR" msgstr "FOUT" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2728 #, c-format msgid "Cold: %ld px" msgstr "Koud: %ld px" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2729 ../src/gui/callbacks.c:2741 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -6061,140 +6222,114 @@ "Deze waarde kan te groot zijn. Overweeg een modificatie van de sigmawaarde " "of onvink dit vakje." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2732 #, c-format msgid "Cold: %ld px" msgstr "Koud: %ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2740 #, c-format msgid "Hot: %ld px" msgstr "Warm: %ld px" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2744 #, c-format msgid "Hot: %ld px" msgstr "Warm: %ld px" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2984 msgid "Closing application" msgstr "App sluiten" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2984 msgid "Are you sure you want to quit?" msgstr "Bent u zeker dat u wilt sluiten ?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3658 #, c-format msgid "new zoom value: %f\n" msgstr "nieuwe zoomwaarde: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3697 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3699 #, c-format msgid "undefined" msgstr "niet gedeviniëerd" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3795 msgid "Exclude all images ?" msgstr "Sluit alle beelden uit ?" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3796 ../src/gui/callbacks.c:3806 msgid "This erases previous image selection and there's no possible undo." msgstr "Dit wist alle voorgaande beeldenselectie en er is geen \"undo\"." -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3805 msgid "Include all images ?" msgstr "Kies alle beelden ?" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3827 msgid "Opening dark image..." msgstr "Dark beeld openen..." -#: ../src/gui/callbacks.c:3802 +#: ../src/gui/callbacks.c:3830 msgid "NOT USING DARK: cannot open the file\n" msgstr "GEBRUIKT GEEN DARK: kan het bestand niet openen\n" -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3837 msgid "NOT USING DARK: number of channels is different" msgstr "GEBRUIKT GEEN DARK: aantal kanalen is verschillend" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3875 msgid "Opening flat image..." msgstr "Flat beeld openen..." -#: ../src/gui/callbacks.c:3850 +#: ../src/gui/callbacks.c:3878 msgid "NOT USING FLAT: cannot open the file\n" msgstr "GEBRUIKT GEEN FALT: kan het bestand niet openen\n" -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3885 msgid "NOT USING FLAT: number of channels is different" msgstr "GEBRUKT GEEN FLAT: aantal kanale verschillend" -#: ../src/gui/callbacks.c:3884 +#: ../src/gui/callbacks.c:3912 msgid "Opening offset image..." msgstr "Offset beeld openen..." -#: ../src/gui/callbacks.c:3887 +#: ../src/gui/callbacks.c:3915 msgid "NOT USING OFFSET: cannot open the file\n" msgstr "GEBRUIKT GEEN OFFSET: kan bestand niet openen\n" -#: ../src/gui/callbacks.c:3894 +#: ../src/gui/callbacks.c:3922 msgid "NOT USING OFFSET: number of channels is different" msgstr "GEBRUIKT GEEN OFFSET: aantal kanale verschillend" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:4019 msgid "Error in preprocessing." msgstr "Fout tijndense de voorbewerking." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4096 #, c-format msgid "Selected %s sequence %s..." msgstr "Gekozen %s sequentie %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4165 msgid "Searching for sequences in the current working directory..." msgstr "Sequenties aan het zoeken in werkfolder..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"Background kan niet uit zichzelf worden berekend. Kiez op Toon Afbeelding\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "Pas de correcties toe door op Toon Afbeelding te drukken\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Aftrekking klaar ...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "Deling klaar...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Laad eerst een beeld, gestopt.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Het bestand stars.lst werd aangemaakt.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4452 ../src/gui/callbacks.c:4500 msgid "Current selection is too large" msgstr "Huidige selectie is te groot" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4453 ../src/gui/callbacks.c:4501 msgid "To determine the PSF, please make a selection around a star." msgstr "Kies een regio rond een ster om de PSF te berekenen." -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4465 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6243,32 +6378,106 @@ "RMSE:\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4482 msgid "PSF for the sequence only applies on sequences" msgstr "PSF voor de sequenties wordt enkel op sequenties toegepast" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4483 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" "Gelieve een sequentie te lade alvorens de PSF voor de sequentie toe te " "passen." -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4547 msgid "FFT does not work with sequences !\n" msgstr "FFT werkt niet met sequenties !\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4553 msgid "Open an image first !\n" msgstr "Open eerst een afbeelding !\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4574 msgid "Select magnitude and phase before !\n" msgstr "Kies eest een amplitude en fase !\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "Grijs kanaal" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "_Dit dialoog niet opnieuw weergeven" +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "FITS Bestanden (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "RAW DSLR Camera Bestanden" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Grafische Bestanden (*.bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Netpbm Bestanden (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "IRIS PIC Bestanden (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "SER Bestanden (*ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Film Bestanden (*.avi, *.mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "Alle ondersteund bestandtypes" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "Fotometrische Kleurencalibratie" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Past opening photometrie op %d sterren.\n" + +#: ../src/gui/photometric_cc.c:285 +#, c-format +msgid "%d stars excluded from the calculation.\n" +msgstr "%d sterren is uitgesloten van de berekening\n" + +#: ../src/gui/photometric_cc.c:288 +msgid "No valid stars found.\n" +msgstr "Geen geldige ster gevonden.\n" + +#: ../src/gui/photometric_cc.c:432 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalisatie op %s kanalen.\n" + +#: ../src/gui/photometric_cc.c:432 +msgid "red" +msgstr "rood" + +#: ../src/gui/photometric_cc.c:432 +msgid "green" +msgstr "groen" + +#: ../src/gui/photometric_cc.c:432 +msgid "blue" +msgstr "blauw" + #: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Frames" @@ -6308,50 +6517,108 @@ msgid "Quality" msgstr "Qwaliteit" -#: ../src/gui/plot.c:724 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Ster rondheid (1 is rond)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "Ster magnitude (absoluut)" -#: ../src/gui/plot.c:736 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "Ster magnitude (relatief, gebruikt setmag)" -#: ../src/gui/plot.c:739 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Achtergrondwaarde" -#: ../src/gui/plot.c:742 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Ster positie op X-as" -#: ../src/gui/plot.c:745 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Ster positie op Y-as" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "Executietijd" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "%s: %d h %02d min %.2d s.\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Sterren moeten dezelfde eenheden hebben." + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %d min %.2d s.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" msgstr "" -"%s: %d min %.2d s.\n" +"Gemiddelde Gaussische PSF\n" "\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Hoek:\t%.2f deg\n" +"rmse:\t%.3e\n" + +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "Gemiddelde Ster Gegevens" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%d stars" +msgstr "%d sterren" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:266 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "Star %d of %d" +msgstr "Ster %d van %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Het bestand stars.lst werd aangemaakt.\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "Ster lijst bestand (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Laad eerst een beeld, gestopt.\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6364,64 +6631,60 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "BMP Bestanden (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "JPEG Bestanden (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "PNG Bestanden (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "TIFF Bestanden (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:513 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Sla BMP op" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:471 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "Sla PNG op" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:492 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Sla NetBMP op" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:533 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Sla JPG op" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:449 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Sla TIFF op" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:425 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "Sla FITS op" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Opslaan" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Bestand Opslaan" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "Opslaan van het bestand gefaald. Zie logs voor meer info." -#: ../src/gui/save_dialog.c:391 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Dit type bestand is niet ondersteund. Zou niet mogen gebeuren" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, c-format -msgid "Searching scripts in: %s...\n" -msgstr "Zoek scripts in: %s...\n" +msgid "Searching scripts in: \"%s\"...\n" +msgstr "Zoek scripts in: \"%s\"...\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "" @@ -6436,16 +6699,16 @@ msgid "Please go to %d)\n" msgstr "Sequentie geladen: %s (%d -> %d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d van %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "Kan afbeelding %d niet laden uit de sequentie %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Kan afbeelding %d niet laden uit de SER sequentie %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Kan afbeelding %d niet laden uit de AVI sequentie %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Kan deelafbeelding %d niet laden uit de sequentie %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "" "Deze bewerking is niet onderscteund voor AVI sequenties (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "Deze bewerking is niet onderscteund voor interne sequenties " "(seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1154 #, c-format msgid "Closing sequence %s\n" msgstr "Sluit sequentie %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1259 msgid "internal sequence" msgstr "interne sequentie" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1340 msgid "Processing..." msgstr "Preprocessing..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1466 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "Geen ster gevonden in de zone %d rond %d,%d (gebruik een grootere zone?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1470 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" msgstr "" "Geen ster gevonden in de zone %d rond %d,%d (gebruik 'volg ster' optie?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1519 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -7200,7 +7493,7 @@ "Ster analyse geeft geed consistente resultaten als de belichting in de " "sequentie varieert.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1593 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7209,7 +7502,7 @@ "gecentreerd rond de voorgaande gevonden ster; dit maakt niet gebruik van " "parallel processing.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1595 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -7218,17 +7511,17 @@ "selectiegebied voor elk beeld aan te passen; dit kan van parallel processing " "gebruik maken.\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1617 msgid "PSF on area" msgstr "PSF op zone" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Gebruikt de registratiegegevens van laag %d voor de export van de sequentie\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7237,7 +7530,7 @@ "gecompileerd.\n" "\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7245,40 +7538,40 @@ "De breedte van de outputfilm moet een veelvoud van 32 zijn en een even " "hoogte. Selectie herschaald.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "beeld %d is uitgesloten van de export\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Processing beeld " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Export: kon het beeld niet lezen, stopgezet\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "Export van de sequentie gefaald. Bekijk de log." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "Export van de sequentie gefaald\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "Export van de sequentie geslaagd." -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "Export van de sequentie geslaagd.\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "Breedte of hoogte mag niet nul zijn. Geen herschaling.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Selectie croppen" @@ -7319,102 +7612,99 @@ "Het schrijven naar SER bestanden vanuit meer dan 16-bit FITS bestanden is " "nog niet geïmplementeerd\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "De SER sequentie wordt leeg aangemaakt.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "SER bestand compactere na parallel uitkomst…\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "SER bestand %s aangemaakt\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Het type Bayer pattern is nog niet ondersteund.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "Voor een gedebayered beeld moet de laag R, G of B zijn (0 tot 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Geen geheugen meer - stopgezet\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "" "Probeert een beeld van verschillende grootte in een SER bestand toe te " "voegen\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "" "Fout bij het openen van bestand %s: bestand niet gevonden of niet " "ondersteund.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "%s openen gefaald.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:180 ../src/io/single_image.c:186 msgid "Error opening file" msgstr "Fout bij het openen van het bestand" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:181 msgid "This file could not be opened because its extension is not supported." msgstr "" "Het bestand kon niet worden geopend omdat de extensie niet word ondersteund." -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:187 msgid "" "There was an error when opening this image. See the log for more information." msgstr "Fout bij het openen van dit beeld. Bekijk de log voor meer informatie." -#: ../src/main.c:237 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "onbekend commando parameter '%c'\n" - -#: ../src/main.c:261 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "%s. Kijkt in een andere folder...\n" -#: ../src/main.c:267 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "%s niet gevonden of bevat fouten, kan GUI niet opmaken. Sluit.\n" -#: ../src/main.c:288 +#: ../src/main.c:301 +#, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "onbekend commando parameter '%c'\n" + +#: ../src/main.c:328 #, c-format msgid "Welcome to %s v%s\n" msgstr "Welcop in %s v%s\n" -#: ../src/main.c:358 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "Kon paramersbestand niet laden of aanmaken, aan het sluiten.\n" #. Get CPU number and set the number of threads -#: ../src/main.c:406 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "Parallel processing %s: Gebruikt %d logische processor(en).\n" -#: ../src/main.c:408 +#: ../src/main.c:373 msgid "enabled" msgstr "ingeschakeld" -#: ../src/main.c:410 +#: ../src/main.c:375 msgid "disabled" msgstr "uitgeschakeld" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "Deconvolutie toegepast" @@ -7429,131 +7719,131 @@ "Siril kan de registratie niet uitvoeren zonder de datumgegevens in het " "bestand." -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "Referentiebeeld kon niet worden geladen\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 msgid "Moving object registration" msgstr "Bewegend object registratie" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "Herberekenen van de al bestaande registraties voor deze laag\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Referentiebeeld:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "%d sterren in referentie gevonden, kanaal #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "Er zijn niet genoeg sterren in het referentiebeeld om de uitlijning uit te " "voeren\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Referentie beeld: Beperking tot de %d helderste sterren\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:461 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx:%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx:%*.2f %s\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:462 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy:%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy:%*.2f %s\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Frame %d:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "%d sterren in beeld %d gevonden, kanaal #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "Niet genoeg sterren. Beeld %d overgeslagen\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Doel afbeelding: Bepeken tot de %d helderste sterren\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "Kon ster koppeling niet uitvoeren. Probeer #%d. Beeld %d overgeslagen\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Registratie klaar.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "%d beelden bewerkt.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Totaal: %d gefaald, %d geregistreerd.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Registratie stopgezet.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 msgid "Global star registration" msgstr "Globale sterregistratie" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, c-format msgid "Matching stars in image %d: done\n" msgstr "Uitlijning van de sterren in het beeld %d: klaar\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "schaalX:%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "schaalY:%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "schaal:%*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:454 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "rotatie:%+*.2f deg\n" +msgid "rotation:%+*.3f deg\n" +msgstr "rotatie:%+*.3f deg\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy:%+*.2f px\n" @@ -7627,97 +7917,159 @@ "een translatie van enkele pixels afhankelijk van de tijdsstempel van elk " "beeld en de globale shift van het object tussen het eerste en laatste beeld." -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Eén Ster Registratie (deep-sky)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Patroonherkenning Uitlijning (planetair - volle disk)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "Verbetering van de correllatiecoëfficiënt (planetair - oppervlakken)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" msgstr "Komeet/Asteroïde Registratie" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Nieuwe registratiemethode: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "DFT Uitlijning: referentiebeeld laden en bewerken" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "" "Registratie: kon eerste beeld voor registratie niet laden, stopgezet.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, c-format msgid "Register: processing image %s" msgstr "Registratie: beweking van beeld %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "Beste beeld: #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" msgstr "" "Registratie PSF: PSF berekening gefaald, tenminste voor referentiebeeld\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "Beste beeld: #%d met fwhm=%.3g.\n" -#: ../src/registration/registration.c:575 +#: ../src/registration/registration.c:571 #, c-format msgid "Cannot perform ECC alignment for frame %d\n" msgstr "ECC uitlijnong kan niet worden uitgevoerd voor beeld %d\n" -#: ../src/registration/registration.c:628 +#: ../src/registration/registration.c:623 #, c-format msgid "%d frames were excluded.\n" msgstr "%d beelden uitgesloten.\n" -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 msgid "Select images in the sequence." msgstr "Kies beelden uit de sequentie." -#: ../src/registration/registration.c:730 +#: ../src/registration/registration.c:726 msgid "Select an area in image first, and select images in the sequence." msgstr "Kies eerst een regio in het beeld en beelden uit de sequentie." -#: ../src/registration/registration.c:736 +#: ../src/registration/registration.c:732 msgid "Select an area in image first." msgstr "Kies eerst een regio in het beeld." -#: ../src/registration/registration.c:861 +#: ../src/registration/registration.c:858 msgid "" "All prerequisites are not filled for registration. Select a rectangle " "first.\n" msgstr "" "Alle voorwaarden zijn niet vervuld voor registratie. Kies eerst een regio.\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "Te weineig opslagruimte" +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "Opent beeld %s voor stacking" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "" +"Stacking foutmelding: beelden met > 3 dimensies worden niet ondersteund\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "Stacking foudmelding: beelden hebben verschillende afmetingen\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "Stacking foudmelding: beelden hebben verschillende precisie\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Super-pixel nog niet ondersteund voor \"on the fly\" SER stachking\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"Stacking met verwerping is enkel ondersteund voor FITS beelden en SER " +"sequenties.\n" +"Gebruik \"Som Stacking\" in de plaats.\n" + +#: ../src/stacking/median_and_mean.c:195 +#, c-format +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "We hebben %d parelelle blokken van grootte %d (+%d) voor stacking.\n" + +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" +msgstr "" +"Een bug werd gevonden. Onmogelijk om het beeld op te splitsen in de correcte " +"precessing blocks.\n" + +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Fout bij het lezen van een van de regio's\n" + +#: ../src/stacking/normalization.c:102 +#, c-format +msgid "" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" +msgstr "" +"Uw computer beschikt niet over genoeg geheugen om de beelden to normalisren " +"voor de stacking. (%d MB vrij voor %d nodig)\n" + +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"Met de huidige geheugen (%.2f) and threads (%d) limiten kunnen enkel %d " +"thread(s) gebruikt worden voor de normalisatie van de sequentie\n" -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "Berekening van normalisatie...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" @@ -7725,172 +8077,102 @@ "Het referentiebeels is niet in de geselecteerde set van afbeeldingen. Kies " "aub een ander referentiebeeld.\n" -#: ../src/stacking/normalization.c:118 -msgid "Normalization skipped.\n" -msgstr "Normalisatie overgeslaan.\n" - -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 msgid "Normalization failed." msgstr "Normalisatie gefaald." -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "" -"Median stacking is enkel ondersteund voor FITS bestanden en SER sequenties.\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "Kies minstens twee beelden voor staking. Stopgezet.\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Median stack: opent beeld %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Median stack foutmelding: beelden met meer dan 3 dimensies worden niet " -"ondersteund\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "Median stack foudmelding: beelden hebben verschillende afmetingen\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "Super-pixel nog niet ondersteund voor \"on the fly\" SER stachking\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "Median stack foutmelding: sequentie niet geïnitialiseerd.\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Multithreading niet ondersteund door uw versie van cfitsio\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Sequentie als RGB behandelt\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "We hebben %d parelelle blokken van grootte %d (+%d) voor stacking.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Een bug werd gevonden. Onmogelijk om het beeld op te splitsen in de correcte " -"precessing blocks.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Stacking begonnen...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 msgid "Median stacking in progress..." msgstr "Mediaan stacking bezig..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Fout bij het lezen van een van de regio's\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Stacking finalisatie..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "Median stacking gefaald. Lees de log." -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 msgid "Stacking failed.\n" msgstr "Stacking gefaald.\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 msgid "Median stacking complete." msgstr "Median stacking klaar." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "Median stacking klaar. %d beelden werden bewerkt.\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "Geen beelden geselecteerd voor stacking (kies minstens 2). Stopgezet.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 msgid "Stacking: could not read frame, aborting\n" msgstr "Stacking: kon beeld niet lezen, stopgezet\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "Staking: beeld(en) in de sequenties hebben niet dezelfde afmetingen\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "Stacking gefaald. Lees de log." -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Stacking klaar." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"Stacking met verwerping is enkel ondersteund voor FITS beelden en SER " -"sequenties.\n" -"Gebruik \"Som Stacking\" in de plaats.\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "Verwerping stack: open beeld %s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" -"Verwerping stack foutmelding: beelden met meer dan 3 dimenseis worden niet " -"ondersteund\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "" -"Verwerping stack foutmelding: beelden hebben verschillende afmetingen\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "Verwerping stack foutmelding: sequentie niet geïnitialiseerd\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 msgid "Rejection stacking in progress..." msgstr "Verwerping stacking bezig..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Pixel verwerping in kanaal #%d: %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "Verwerping staking gefaald. Lees de log." -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 msgid "Rejection stacking complete." msgstr "Verwerping stacking klaar." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -7903,219 +8185,480 @@ "door de FITS sequentie om te vormen tot een SER sequentie of de \"som\" " "methode toe te passen.\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "" "Stacking zal registratiegegevens van laag %d gebruiken als deze bestaat.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Stacking: bezig...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Integratie van %d beelden:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Pixel combinatie ......... gemiddelde\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Pixel combinatie ......... genormaliseerde som\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "Pixel combinatie ......... mediaan\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Pixel combinatie ......... minimum\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Pixel combinatie ......... maximum\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Pixel combinatie ......... geen\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "geen" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 msgid "additive" msgstr "additief" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative" msgstr "multiplicatief" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 msgid "additive + scaling" msgstr "additief + schaling" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "multiplicatief + schaling" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalisatie ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Pixel verwerping ........... geen\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Verwerpingsparameters ........... geen\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 msgid "percentile clipping" msgstr "percentile clipping" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 msgid "sigma clipping" msgstr "sigma clipping" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 msgid "median sigma clipping" msgstr "median sigma clipping" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 msgid "Winsorized sigma clipping" msgstr "Winsorized sigma clipping" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 msgid "linear fit clipping" msgstr "linear fit clipping" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Pixel verwerping ........... %s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Verwerpingsparameter ...... laag=%.3f hoog=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 msgid "Stacking result image" msgstr "Stacking resultaat" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 msgid "Unsaved stacking result" msgstr "Onopgeslagen stacking resultaat" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "Gebruikt maximaal %d MB geheugen voor de stacking\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"Het referentiebeeld is niet in de geselecteerde set afbeeldingen. Om " -"problemen te voorkomen, gelieven van beeld te veranderen of de filter " -"parameters aan te passen.\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Gebruikt refentiebeeld %d als tijdelijke referentiebeeld\n" +msgid "Stacking %d images of the %d of the sequence" +msgstr "Stackt %d uit de %d beelden van de sequentie" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -"Opgelet: sommige beelden missen FWHM informatie voor de keuze van de beste " -"beelden. Gebruikt enkel de beschikbare gegens (%d beelde on %d).\n" +"Uw systeem heeft niet genoeg geheugen voor de herschaling van de beelden " +"voor de 'drizzle' operatie (%d MB vrij voor %d MB nodig)\n" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Fout in de hoogste aanvaarde kwaliteit voor het bewerken van de sequentie: " -"voor enkele beelden is dit type informatie niet beschikbaar voor kanaal #" -"%d.\n" +"Met de huidige geheugen (%.2f) en thread (%d) limiten kunnen maximaal %d " +"thread(s) gebruikt worden voor de herschaling\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "Alle beelden van de sequentie (%d) stacken\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "Stacking wordt zonder heschaling toegepast (zonder 'drizzle')\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "Enkel de geselecteerde beelden van de sequentie (%d) stacken\n" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Sequentie herschaling voor stacking" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" -"De beelden van de sequentie met een FWHM lager of gelijk aan %g stacken " -"(%d)\n" +#~ msgid "Size of the annulus for background level measurement" +#~ msgstr "Grootte van de ring om de achtergrondwaarde te meten" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Gebaseerd op FWHM < %.2f (%d beelden)" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "Het geheugen in gebruik is deze waarde vermenigvuldigd met het totaal " +#~ "beschikbaar geheugen.\n" +#~ "OPGELET: Het ratio aan geheugen verminderen zal de performantie negatief " +#~ "beïnvloeden." -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "" -"De beelden van de sequentie met een rondheid hoger of gelijk aan %g stacken " -"(%d)\n" +#~ msgid "Normalization skipped.\n" +#~ msgstr "Normalisatie overgeslaan.\n" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Gebaseerd op rondheid > %.2f (%d beelden)" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "beelden voormalig handmatig uit de sequentie gekozen" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "Gebaseerd op rondheid" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "beste beelden, automatisch uit de registratiegegevens (PSF - FWHM) gekozen" -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "" -"De beelden van de sequentie met een kwaliteit hoger of gelijk aan %g stacken " -"(%d)\n" -"\n" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "beste beelden, automatisch uit de registratiegegevens (PSF - rondheid) " +#~ "gekozen" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Gebaseerd op kwaiteit > %.2f (%d beelden)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "beste beelden, automatisch uit de registratiegegevens (planetair) gekozen" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Gebaseerd op kwaliteit" +#~ msgid "Based on FWHM" +#~ msgstr "Gebaseerd op de FWHM" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Sequentie herschaling voor stacking" +#~ msgid "Stack best:" +#~ msgstr "Stack de beste:" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "De gegeven stackingmethode is ongekend. (%s).\n" + +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "" +#~ "Median stacking is enkel ondersteund voor FITS bestanden en SER " +#~ "sequenties.\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Median stack: opent beeld %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "Verwerping stack: open beeld %s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "" +#~ "Verwerping stack foutmelding: beelden met meer dan 3 dimenseis worden " +#~ "niet ondersteund\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "" +#~ "Verwerping stack foutmelding: beelden hebben verschillende afmetingen\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Fout in de hoogste aanvaarde kwaliteit voor het bewerken van de " +#~ "sequentie: voor enkele beelden is dit type informatie niet beschikbaar " +#~ "voor kanaal #%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Gebaseerd op FWHM < %.2f (%d beelden)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Gebaseerd op rondheid > %.2f (%d beelden)" + +#~ msgid "Based on roundness" +#~ msgstr "Gebaseerd op rondheid" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Gebaseerd op kwaiteit > %.2f (%d beelden)" + +#~ msgid "Based on quality" +#~ msgstr "Gebaseerd op kwaliteit" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Informatie" + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Normal" +#~ msgstr "Normaal" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Polair (Amplitude + Fase)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "OPGELET: deze velden worden bij opening automatisch van het FITS-bestand " +#~ "geladen en door deze hier in te stellen zullen dezen enkel op het huidig " +#~ "bestand worden toegepast." + +#~ msgid "Camera and Optics" +#~ msgstr "Camera en Optiek" + +#~ msgid "Camera & Optics" +#~ msgstr "Camera & Optiek" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "De werkfolder is niet meer bereikbaar. De standaard werkfolder werd als " +#~ "nieuwe werkfolder gedefiniëerd.\n" + +#~ msgid "BMP images, " +#~ msgstr "BMP beelden, " + +#~ msgid "autoStretch" +#~ msgstr "autoStrecht" + +#~ msgid "Negative view" +#~ msgstr "Weergave in negatief" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "Geheugenbeheer" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Gebruik donkere GTK theme\n" +#~ "(herstarten mogelijk vereist)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Sommige dialogen van Siril hebben niet-standaard heldere kleuren. Met een " +#~ "donker thema, waar de text helder is is dit onleesbaar. Door dit aan te " +#~ "vinken wijzigen de non-standaard kleuren in donker." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Ratio van het Gebruikte Geheugen: " + +#~ msgid "Siril message" +#~ msgstr "Siril bericht" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "" +#~ "Afbeeldingen hebben niet dezelfde afmetingen (w = %d|%d, h = %d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "Waarborgt compatibiliteit met opgeslane beelden\n" +#~ "in up-bottom orientatie (KSTARS/EKOS,\n" +#~ "PixInsight en waarschijnlijk vele anderen ...)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Als dit vakje aangevinkt is zal Siril KSTARS (en PixInsight of anderen) " +#~ "compatibiliteit proberen te waarborgen door FITS beelden in up-bottom te " +#~ "lezen." + +#~ msgid "Manual" +#~ msgstr "Manueel" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "Kies een background regio." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril kiest de backgroundsamples automatisch." + +#~ msgid "Clear background samples." +#~ msgstr "Verwijder backgroundsamples." + +#~ msgid "Draw samples" +#~ msgstr "Teken de saples" + +#~ msgid "Type of Extraction" +#~ msgstr "Type Extractie " + +#~ msgid "Box radius:" +#~ msgstr "Sample radius:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "Dit is de afstand in pixels tussen twee naburige samples." + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "Dit is de radius in pixels van de sample. Vermenigvuldig met 2 voor de " +#~ "lengte van de sample." + +#~ msgid "Sample Generation" +#~ msgstr "Genereer Samples" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Dit is de verwerpingstolerantie van de locale samples, uitgedrukt in " +#~ "sigma eenheden." + +#~ msgid "Local Rejection" +#~ msgstr "Locale Verwerping" + +#~ msgid "Deviation: " +#~ msgstr "Afwijking: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "" +#~ "Tolerantie van de globale sampleverwerping, uitgedrukt in sigma eenheden." + +#~ msgid "Unbalance:" +#~ msgstr "Onevenwicht:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Dit is de factor vermenigvuldigd met de afwijkingsparameter om meer " +#~ "donkere pixels in de evaluatie van de gradient op te nemen." + +#~ msgid "Global Rejection" +#~ msgstr "Globale Verwerping" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Dit is het aantal samples op een rij." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Dit is de factor vermenigvuldigd met de afwijkingsparameter om meer " +#~ "donkere pixels in de evaluatie van de gradient op te nemen" + +#~ msgid "Interpolation" +#~ msgstr "Interpolatie" + +#~ msgid "Show Image" +#~ msgstr "Toon Afbeelding" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Druk op deze knop om het beeld weer te geven." + +#~ msgid "Show Background" +#~ msgstr "Toon Background" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Druk op deze knop om de berekende background weer te geven." + +#~ msgid "Compute" +#~ msgstr "Bereken" + +#~ msgid "Apply" +#~ msgstr "Toepassen" + +#~ msgid "This will apply the selected correction." +#~ msgstr "Dit zal de gekozen correctie uitvoeren." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Kanaal #%d: achtergrondextractie klaar.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Achtergrondextractie: bezig...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Te weinig achtergrondsamples.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Background kan niet uit zichzelf worden berekend. Kiez op Toon " +#~ "Afbeelding\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "Pas de correcties toe door op Toon Afbeelding te drukken\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Aftrekking klaar ...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "Deling klaar...\n" + +#~ msgid "Star detection" +#~ msgstr "Ster Detectie" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer \n" +#~ "Copyright © 2012-2018 team free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "Crop het huidige beeld uit het voormalig gekozen vierhoek" #~ msgid "page 1" #~ msgstr "pagina 1" @@ -8172,35 +8715,6 @@ #~ msgid "Not a valid sequence for cropping.\n" #~ msgstr "Sequentie niet geldig voor cropping\n" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "Helderheid" - -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer \n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Antoine Hoeffelman" - -#~ msgid "About siril" -#~ msgstr "Over Siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Software voor het bewerken van astronomische foto's" - -#~ msgid "Visit the Siril website" -#~ msgstr "Bezoek de website van Siril" - -#, fuzzy -#~ msgid "Not enough stars.\n" -#~ msgstr "Niet genoeg sterren. Beeld %d overgeslagen\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "Conversie naar SER nog niet ondersteund\n" @@ -8316,9 +8830,6 @@ #~ msgid "NetPBM..." #~ msgstr "NetPBM..." -#~ msgid "JPEG Files" -#~ msgstr "JPEG Bestanden" - #~ msgid "TIFF Files" #~ msgstr "TIFF Bestanden" diff -Nru siril-0.9.10/po/pl_PL.po siril-0.9.11/po/pl_PL.po --- siril-0.9.10/po/pl_PL.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/pl_PL.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-02 13:38+0100\n" +"POT-Creation-Date: 2019-04-30 08:07+0200\n" "PO-Revision-Date: 2018-12-21 14:06+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -223,10 +223,6 @@ msgstr "Rejestracja jednej gwiazdy (głębokie niebo)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "Obróć o 90 stopni w kierunku przeciwnym do ruchu wskazówek zegara" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " @@ -238,70 +234,74 @@ "estymator gradientu dla rejestracji DFT, wyższy jest lepszy. Kolumny X i Y " "są tłumaczeniem w stosunku do obrazu odniesienia." -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "plik" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "jakość" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:72 msgid "Red" msgstr "Czerwony" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "aktualny plik czerwony" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1927 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "Kanał czerwony" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:73 msgid "Green" msgstr "Zielony" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "aktualny plik zielony" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "Kanał zielony" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:74 msgid "Blue" msgstr "Niebieski" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "Wartość zapisana w wskazanych pikselach pojawi się tutaj." -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "aktualny plik niebieski" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "Kanał niebieski" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "Obróć o 90 stopni w kierunku przeciwnym do ruchu wskazówek zegara" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "Obróć o 90 stopni zgodnie z ruchem wskazówek zegara" @@ -323,8 +323,8 @@ msgstr "Pokaż/ukryj listę obrazów w sekwencji z danymi rejestracyjnymi" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "Widok negatywny" +msgid "Switch to normal and negative view" +msgstr "" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -409,260 +409,60 @@ msgid "User" msgstr "Użytkownik" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "Ekstrakcja tła" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "Zamknij okno." #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "Interpolacja wielomianowa" - -#: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "Ręczny" - -#: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "Musisz kliknąć na obrazek, aby wybrać własne próbki tła." - -#: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "Automatyczny" - -#: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril automatycznie pobiera próbki tła." - -#: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "Usuń próbki tła." - -#: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "Narysuj próbki" - -#: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "Rodzaj ekstrakcji" - -#: ../src/gui/siril3.glade.h:97 -#, fuzzy -msgid "Box radius:" -msgstr "Promień: " - -#: ../src/gui/siril3.glade.h:98 -#, fuzzy -msgid "Box separation: " -msgstr "Rozmiar pola wyszukiwania w pikselach." - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "" -"Jest to odległość w pikselach pomiędzy dwoma sąsiadującymi polami próbek tła." - -#: ../src/gui/siril3.glade.h:100 -#, fuzzy -msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "" -"jest to promień w pikselach pudełka próbki tła. Pomnóż przez 2, aby otrzymac " -"długość pola." - -#: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "Generowanie próbek" - -#: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "Tolerancja: " - -#: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "" -"Ten parametr wskazuje tolerancję lokalnego odrzucania próbki w jednostkach " -"sigma." - -#: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "Lokalne odrzucenie" - -#: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "Odchylenie: " - -#: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "Tolerancja odrzucania próbki globalnej w jednostkach sigma." - -#: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "Brak równowagi:" - -#: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "" -"Jest to współczynnik pomnożony przez parametr odchylenia, aby uwzględnić " -"więcej ciemnych pikseli w ocenie tła." - -#: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "Globalne odrzucenie" - -#: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "Próbki w rzędzie: " - -#: ../src/gui/siril3.glade.h:111 -#, fuzzy -msgid "This is the number of sample box in a row." -msgstr "Jest to numer przykładowego pudełka z rzędu." - -#: ../src/gui/siril3.glade.h:112 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "" -"Jest to współczynnik pomnożony przez parametr odchylenia, aby uwzględnić " -"więcej ciemnych pikseli w ocenie tła" - -#: ../src/gui/siril3.glade.h:113 -#, fuzzy -msgid "Degree Order: " -msgstr "" -"Wybierz stopień wielomianu użytego w dopasowaniu.\n" -"Domyślna wartość wynosi 4.\n" -"Im wyższy stopień, tym silniejszy gradient może zostać usunięty." - -#: ../src/gui/siril3.glade.h:114 -msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"Wybierz stopień wielomianu użytego w dopasowaniu.\n" -"Domyślna wartość wynosi 4.\n" -"Im wyższy stopień, tym silniejszy gradient może zostać usunięty." - -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "Interpolacja" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "Pokaż obraz" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "Kliknij ten przycisk, aby wyświetlić obraz." - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "Pokaż tło" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "Kliknij ten przycisk, aby wyświetlić obliczone tło." - -#: ../src/gui/siril3.glade.h:122 -msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." +msgid "Start the plate solving algorithm." msgstr "" -"Wybierz rodzaj korekcji, którą chcesz zastosować:\n" -"Odejmowanie: służy głównie do korekty efektów addytywnych, takich jak " -"gradienty spowodowane zanieczyszczeniem światła lub Księżyca.\n" -"Podział: służy głównie do korygowania zjawisk multiplikatywnych, takich jak " -"winietowanie lub zróżnicowana absorpcja atmosferyczna. Jednak tego rodzaju " -"operacja powinna być wykonana przez korektę master-flat." - -#: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "Odejmowanie" - -#: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "Dzielenie" - -#: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "Korekcja" -#: ../src/gui/siril3.glade.h:128 +#: ../src/gui/siril3.glade.h:90 #, fuzzy -msgid "Compute" -msgstr "To obliczy syntetyczne tło." - -#: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "To obliczy syntetyczne tło." - -#: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "Zastosuj" - -#: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "To zastosuje wybraną korekcję." - -#: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "" - -#: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "" +msgid "Start the photometric color calibration algorithm." +msgstr "Kalibracja kolorów..." -#: ../src/gui/siril3.glade.h:134 +#: ../src/gui/siril3.glade.h:91 msgid "Initial equatorial coordinates. Input value must be inside the image." msgstr "" -#: ../src/gui/siril3.glade.h:135 +#: ../src/gui/siril3.glade.h:92 #, fuzzy msgid "0" msgstr "x0" -#: ../src/gui/siril3.glade.h:136 +#: ../src/gui/siril3.glade.h:93 msgid "Right Ascension: " msgstr "" -#: ../src/gui/siril3.glade.h:137 +#: ../src/gui/siril3.glade.h:94 #, fuzzy msgid "Declination: " msgstr "Odchylenie: " -#: ../src/gui/siril3.glade.h:138 +#: ../src/gui/siril3.glade.h:95 msgid "S" msgstr "" -#: ../src/gui/siril3.glade.h:139 +#: ../src/gui/siril3.glade.h:96 msgid "This button is checked for negative declination (southern hemisphere)." msgstr "" -#: ../src/gui/siril3.glade.h:140 +#: ../src/gui/siril3.glade.h:97 msgid "" "Enter the identifier or the name of the object which must be in the image." msgstr "" -#: ../src/gui/siril3.glade.h:141 +#: ../src/gui/siril3.glade.h:98 #, fuzzy msgid "Start searching." msgstr "Rozpocznij stackowanie" -#: ../src/gui/siril3.glade.h:143 +#: ../src/gui/siril3.glade.h:100 #, no-c-format msgid "" "Effective focal length of the optical system in millimeter. Even if the " @@ -670,87 +470,88 @@ "not exceeding 20%." msgstr "" -#: ../src/gui/siril3.glade.h:144 +#: ../src/gui/siril3.glade.h:101 msgid "Pixel size in micrometer. The image is assumed to have square pixels." msgstr "" -#: ../src/gui/siril3.glade.h:145 +#: ../src/gui/siril3.glade.h:102 #, fuzzy msgid "Focal distance (mm):" msgstr "Ogniskowa (mm): " -#: ../src/gui/siril3.glade.h:146 +#: ../src/gui/siril3.glade.h:103 #, fuzzy msgid "Pixel size (µm):" msgstr "Rozmiar pixela X (micron): " -#: ../src/gui/siril3.glade.h:147 +#: ../src/gui/siril3.glade.h:104 #, fuzzy msgid "Resolution: " msgstr "Dekonwolucja" -#: ../src/gui/siril3.glade.h:148 +#: ../src/gui/siril3.glade.h:105 msgid "" "The resolution of the image that is automatically determined from the focal " "and pixel size value." msgstr "" -#: ../src/gui/siril3.glade.h:149 +#: ../src/gui/siril3.glade.h:106 msgid "Get Metadata From Image" msgstr "" -#: ../src/gui/siril3.glade.h:150 +#: ../src/gui/siril3.glade.h:107 msgid "" "Click on this button to get focal and pixel size value from the header of " "the file if they exist." msgstr "" -#: ../src/gui/siril3.glade.h:151 +#: ../src/gui/siril3.glade.h:108 msgid "Resolver" msgstr "" -#: ../src/gui/siril3.glade.h:152 +#: ../src/gui/siril3.glade.h:109 msgid "Name" msgstr "Nazwa" -#: ../src/gui/siril3.glade.h:153 +#: ../src/gui/siril3.glade.h:110 #, fuzzy -msgid "Image Parameters" +msgid "Image Parameters" msgstr "Prawa autorskie do obrazu" -#: ../src/gui/siril3.glade.h:154 +#: ../src/gui/siril3.glade.h:111 msgid "Catalogue Limit Mag: " msgstr "" -#: ../src/gui/siril3.glade.h:155 +#: ../src/gui/siril3.glade.h:112 msgid "" "Maximum star magnitude used in the catalog queries. Wider is the field, " "lower is the value." msgstr "" -#: ../src/gui/siril3.glade.h:156 +#: ../src/gui/siril3.glade.h:113 #, fuzzy msgid "Auto" msgstr "Automatyczny" -#: ../src/gui/siril3.glade.h:157 +#: ../src/gui/siril3.glade.h:114 msgid "" "The limit magnitude is automatically determined using the approximation of " "the Field Of View." msgstr "" -#: ../src/gui/siril3.glade.h:158 +#: ../src/gui/siril3.glade.h:115 msgid "Online Star Catalogue: " msgstr "" -#: ../src/gui/siril3.glade.h:159 +#: ../src/gui/siril3.glade.h:116 msgid "" "Choose the online catalogue against one want to compare the image.\n" "* TYCHO-2 catalogue contains positions, proper motions, and two-color " "photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" "* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " "astrometric solution, positions on the sky (α, δ), parallaxes, and proper " "motions, are given for more than 1.3 billion sources, with a limiting " @@ -762,68 +563,137 @@ "the naked eye from Earth. The catalog contains 9,110 objects." msgstr "" -#: ../src/gui/siril3.glade.h:165 +#: ../src/gui/siril3.glade.h:122 msgid "" "The online catalogue is automatically determined using the approximation of " "the Field Of View and magnitude." msgstr "" -#: ../src/gui/siril3.glade.h:166 -msgid "Catalogue Parameters" -msgstr "" +#: ../src/gui/siril3.glade.h:123 +#, fuzzy +msgid "Catalogue Parameters" +msgstr "Prawa autorskie do obrazu" -#: ../src/gui/siril3.glade.h:167 +#: ../src/gui/siril3.glade.h:124 #, fuzzy msgid "Manual detection" msgstr "Ręczna rejestracja" -#: ../src/gui/siril3.glade.h:168 +#: ../src/gui/siril3.glade.h:125 msgid "" "Check this option if you want to pick each stars manually. It could be " "useful in some cases where Siril can't find enough stars. Please, try to " "choose the brightest stars in the image." msgstr "" -#: ../src/gui/siril3.glade.h:169 -#, fuzzy -msgid "Star detection" +#: ../src/gui/siril3.glade.h:126 +msgid "Star Detection" msgstr "Wykrywanie gwiazd" -#: ../src/gui/siril3.glade.h:170 -msgid "Median Filter" -msgstr "Filtr mediany" +#: ../src/gui/siril3.glade.h:127 +#, fuzzy +msgid "Automatic detection" +msgstr "Automatyczne wykrywanie" -#: ../src/gui/siril3.glade.h:171 +#: ../src/gui/siril3.glade.h:128 msgid "" -"Kernel Size. This is the odd size of the neighborhood considered for each " -"pixel." +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." msgstr "" -"Rozmiar jądra. Jest to nieparzysty rozmiar okolicy rozpatrywanej dla każdego " -"piksela." -#: ../src/gui/siril3.glade.h:172 -msgid "Modulation:" -msgstr "Modulacja:" +#: ../src/gui/siril3.glade.h:129 +msgid "x coordinate of the start of the background selection" +msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:173 -msgid "" -"Modulation parameter set in the [0, 1] range.\n" -"When this parameter is equal to 1, no modulation is applied.\n" -"If the parameters is null, so no filter is apply at all." +#: ../src/gui/siril3.glade.h:130 +msgid "y coordinate of the start of the background selection" msgstr "" -"Zestaw parametrów modulacji w zakresie [0, 1].\n" -"Gdy parametr jest równy 1, nie jest stosowana żadna modulacja.\n" -"Jeśli parametry są zerowe, filtr nie ma zastosowania." - -#: ../src/gui/siril3.glade.h:176 -msgid "Kernel Size: " -msgstr "Rozmiar jądra: " -#: ../src/gui/siril3.glade.h:177 -msgid "Iterations:" +#: ../src/gui/siril3.glade.h:131 +msgid "Width of the background selection" +msgstr "Szerokość wyboru tła" + +#: ../src/gui/siril3.glade.h:132 +msgid "Height of the background selection" +msgstr "Wysokość wyboru tła" + +#: ../src/gui/siril3.glade.h:133 +msgid "Selected area" +msgstr "Wybrany obszar" + +#: ../src/gui/siril3.glade.h:134 +msgid "Use current selection" +msgstr "Użyj bieżącego wyboru" + +#: ../src/gui/siril3.glade.h:135 +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "" +"Musisz określić zaznaczenie, które reprezentuje prawdziwe tło obrazu, " +"próbując wykluczyć wszystkie gwiazdy lub inne obiekty gwiezdne." + +#: ../src/gui/siril3.glade.h:136 +#, fuzzy +msgid "Background Reference" +msgstr "Obraz odniesienia" + +#: ../src/gui/siril3.glade.h:137 +msgid "This option determines on which channel the factors are normalized." +msgstr "" + +#: ../src/gui/siril3.glade.h:138 +msgid "On highest" +msgstr "" + +#: ../src/gui/siril3.glade.h:139 +msgid "On middle" +msgstr "" + +#: ../src/gui/siril3.glade.h:140 +msgid "On lowest" +msgstr "" + +#: ../src/gui/siril3.glade.h:141 +#, fuzzy +msgid "Channel Factor Normalisation" +msgstr "Ekstrakcja kanału" + +#: ../src/gui/siril3.glade.h:142 +msgid "Median Filter" +msgstr "Filtr mediany" + +#: ../src/gui/siril3.glade.h:143 +msgid "" +"Kernel Size. This is the odd size of the neighborhood considered for each " +"pixel." +msgstr "" +"Rozmiar jądra. Jest to nieparzysty rozmiar okolicy rozpatrywanej dla każdego " +"piksela." + +#: ../src/gui/siril3.glade.h:144 +msgid "Modulation:" +msgstr "Modulacja:" + +#: ../src/gui/siril3.glade.h:145 +msgid "" +"Modulation parameter set in the [0, 1] range.\n" +"When this parameter is equal to 1, no modulation is applied.\n" +"If the parameters is null, so no filter is apply at all." +msgstr "" +"Zestaw parametrów modulacji w zakresie [0, 1].\n" +"Gdy parametr jest równy 1, nie jest stosowana żadna modulacja.\n" +"Jeśli parametry są zerowe, filtr nie ma zastosowania." + +#: ../src/gui/siril3.glade.h:148 +msgid "Kernel Size: " +msgstr "Rozmiar jądra: " + +#: ../src/gui/siril3.glade.h:149 +msgid "Iterations:" msgstr "Iteracje:" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:150 msgid "" "Number of iterations of the algorithm.\n" "This is useful when modulation parameter is different to 1 helping the whole " @@ -833,75 +703,182 @@ "Jest to przydatne, gdy parametr modulacji różni się od 1, pomagając uzsykać " "zbieżność całego procesu do uzyskaniam lepszych wyników." -#: ../src/gui/siril3.glade.h:180 +#: ../src/gui/siril3.glade.h:152 msgid "Use Luminance" msgstr "Użyj luminancji" -#: ../src/gui/siril3.glade.h:181 +#: ../src/gui/siril3.glade.h:153 msgid "Run statistic calculation" msgstr "Wykonaj obliczenia statystyczne" -#: ../src/gui/siril3.glade.h:182 +#: ../src/gui/siril3.glade.h:154 msgid "Close the window" msgstr "Zamknij okno" -#: ../src/gui/siril3.glade.h:183 +#: ../src/gui/siril3.glade.h:155 #, fuzzy msgid "Normalized Real [0, 1]" msgstr "Wartość modulacji MUSI być pomiędzy 0 i 1\n" -#: ../src/gui/siril3.glade.h:184 +#: ../src/gui/siril3.glade.h:156 msgid "No Selection" msgstr "Brak wyboru" -#: ../src/gui/siril3.glade.h:185 +#: ../src/gui/siril3.glade.h:157 #, fuzzy msgid "Asinh Transformation" msgstr "Wykonuje transformację" -#: ../src/gui/siril3.glade.h:186 +#: ../src/gui/siril3.glade.h:158 msgid "Stretch factor: " msgstr "" -#: ../src/gui/siril3.glade.h:187 +#: ../src/gui/siril3.glade.h:159 msgid "The parameter stretch factor allows to adjust the non-linearity factor." msgstr "" -#: ../src/gui/siril3.glade.h:188 +#: ../src/gui/siril3.glade.h:160 msgid "Black Point: " msgstr "" -#: ../src/gui/siril3.glade.h:189 +#: ../src/gui/siril3.glade.h:161 msgid "Constant value that is subtracted from the image." msgstr "" -#: ../src/gui/siril3.glade.h:190 +#: ../src/gui/siril3.glade.h:162 msgid "Use RGB working space" msgstr "" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "Ekstrakcja tła" + +#: ../src/gui/siril3.glade.h:164 +#, fuzzy +msgid "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "To obliczy syntetyczne tło." + +#: ../src/gui/siril3.glade.h:165 +#, fuzzy +msgid "Degree order: " +msgstr "" +"Wybierz stopień wielomianu użytego w dopasowaniu.\n" +"Domyślna wartość wynosi 4.\n" +"Im wyższy stopień, tym silniejszy gradient może zostać usunięty." + +#: ../src/gui/siril3.glade.h:166 +#, fuzzy +msgid "" +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." +msgstr "" +"Wybierz stopień wielomianu użytego w dopasowaniu.\n" +"Domyślna wartość wynosi 4.\n" +"Im wyższy stopień, tym silniejszy gradient może zostać usunięty." + +#: ../src/gui/siril3.glade.h:169 +#, fuzzy +msgid "Samples per line: " +msgstr "Próbki w rzędzie: " + +#: ../src/gui/siril3.glade.h:170 +#, fuzzy +msgid "Number of sample per line that will be automatically placed." +msgstr "Liczba warstw wavelet, które będą użyte" + +#: ../src/gui/siril3.glade.h:171 +msgid "" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "" + +#: ../src/gui/siril3.glade.h:172 +msgid "Tolerance: " +msgstr "Tolerancja: " + +#: ../src/gui/siril3.glade.h:173 +msgid "Generate" +msgstr "" + +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "" + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "" + +#: ../src/gui/siril3.glade.h:176 +msgid "" +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." +msgstr "" + +#: ../src/gui/siril3.glade.h:178 +#, fuzzy +msgid "Polynomial interpolation" +msgstr "Interpolacja wielomianowa" + +#: ../src/gui/siril3.glade.h:179 +#, fuzzy +msgid "Correction: " +msgstr "Korekcja" + +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"Wybierz rodzaj korekcji, którą chcesz zastosować:\n" +"Odejmowanie: służy głównie do korekty efektów addytywnych, takich jak " +"gradienty spowodowane zanieczyszczeniem światła lub Księżyca.\n" +"Podział: służy głównie do korygowania zjawisk multiplikatywnych, takich jak " +"winietowanie lub zróżnicowana absorpcja atmosferyczna. Jednak tego rodzaju " +"operacja powinna być wykonana przez korektę master-flat." + +#: ../src/gui/siril3.glade.h:183 +msgid "Subtraction" +msgstr "Odejmowanie" + +#: ../src/gui/siril3.glade.h:184 +msgid "Division" +msgstr "Dzielenie" + +#: ../src/gui/siril3.glade.h:185 +#, fuzzy +msgid "Correction" +msgstr "Korekcja" + +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:837 msgid "Banding Reduction" msgstr "Redukcja banding" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 #, fuzzy msgid "Protect from Highlights" msgstr "Chroń przed XXX" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 #, fuzzy msgid "Vertical banding" msgstr "Lustro pionowe " -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "Zaznacz to pole, jeśli banding jest pionowy." -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "Zastosuj do sekwencji" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." @@ -910,41 +887,41 @@ "wszystkich obrazów sekwencji zamiast tylko załadowanego obrazu zostanie " "przeprowadzone." -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "Prefiks wyjściowy:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "Prefiks nazw obrazów powstałych w wyniku procesu odłączenia." -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "1/współczynnik Sigma" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "Kompozycja obrazu" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "Wielowarstwowa kompozycja obrazu" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "Wyrównanie warstw" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "nie załadowano" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "Dostosuj jasność warstw" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -954,11 +931,11 @@ "przepełniały się podczas kompozycyjnego (na podstawie maksymalnej wartości " "dla każdego obrazu). Odcienie kolorów pozostaną niezmienione." -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "Sfinalizuj balans kolorów" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -970,7 +947,7 @@ "Zmodyfikowanie parametrów w tych oknach spowoduje utratę balansu kolorów i " "trzeba bedzię go ponownie przeprowadzić." -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." @@ -978,19 +955,19 @@ "Typ kompozycji kolorów na podstawie luminancji. Reprezentuje sposób " "dodawania informacji o kolorze do danych luminancji." -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "Kompozycja HSL" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "Kompozycja HSV" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "Kompozycja CIE L*a*b*" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." @@ -998,53 +975,53 @@ "OSTRZEŻENIE: Nie należy wykonywać kombinacji LRGB z obrazami liniowymi. " "Przetwórz najpierw obrazy." -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "Wyrównaj warstwy na tę warstwę odniesienia:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "Wyrównanie" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "Automatyczne wyrównanie przy użyciu wybranej metody rejestracji." -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "Przytnij obraz do wspólnego obszaru po wyrównaniu" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "i używając tej metody wyrównania:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "" "W przypadku kompozycji LRGB warstwą odniesienia powinna być luminancja." #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:71 msgid "Luminance" msgstr "Luminancja" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "Korekta kosmetyczna" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "Zamknij aktywne okno" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "Zastosuj korektę kosmetyczną" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1052,18 +1029,18 @@ "Sprawdź, czy ramki docelowe są obrazami CFA.\n" "Usuń zaznaczenie, jeśli obrazy pochodzą z sensora monochromatycznego." -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "Przedrostek nazw obrazów powstałych w procesie korekty kosmetycznej." -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 #, fuzzy msgid "Cold Sigma:" msgstr "Sigma:" # Please check "averrage" spelling --> "average" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1071,13 +1048,13 @@ "Ile razy (w jednostkach średniego odchylenia) wartość piksela musi różnić " "się od wartości sąsiednich, aby zostać uznanym za zimny piksel." -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 #, fuzzy msgid "Hot Sigma:" msgstr "Sigma:" # Please check "averrage" spelling --> "average" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1085,476 +1062,443 @@ "Ile razy (w jednostkach średniego odchylenia) wartość piksela musi różnić " "się od wartości sąsiednich, aby zostać uznanym za gorący piksel." -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "Automatyczne wykrywanie" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 #, fuzzy msgid "Crop sequence" msgstr "Sekwencja przycinania..." -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "Prefiks nazw obrazów powstałych w wyniku procesu przycinania." -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "Dekonwolucja" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." msgstr "" "Wielkość zastosowanego jądra Gaussa. Im wyższa wartość, tym silniejszy efekt." -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "Algorytm:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "Liczba iteracji." -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Komunikat Siril" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "Transformacja Fouriera" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 #, fuzzy msgid "Name of the magnitude file: " msgstr "Nazwa" -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 #, fuzzy msgid "Name of the phase file: " msgstr "Nazwa" -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 #, fuzzy msgid "Order: " msgstr "" "Jest to współczynnik pomnożony przez parametr odchylenia, aby uwzględnić " "więcej ciemnych pikseli w ocenie tła." -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "Typ: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "moduł" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "faza" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "Wyśrodkowany" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "Normalny" - -#: ../src/gui/siril3.glade.h:250 -#, fuzzy -msgid "Polar (Magnitude + Phase)" -msgstr "Faza obrazu: " - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 #, fuzzy msgid "Direct Transform" msgstr "Transformacja Fouriera" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 #, fuzzy msgid "Magnitude of the image: " msgstr "Faza obrazu: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "Faza obrazu: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 #, fuzzy msgid "Select Phase" msgstr "faza" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "Transformacja odwrócona" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "Ekstrakcja kanału" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "Nazwa pierwszego pliku FITS do zapisania." -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "Nazwa drugiego pliku FITS do zapisania." -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "Nazwa trzeciego pliku FITS do zapisania." -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "Kanał #1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "Kanał #2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "Kanał #3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "Wybierz przestrzeń kolorów odpowiadającą trzem wyodrębnionym obrazom" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "Przestrzeń kolorów:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "Wyodrębnianie warstw wavelet" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "Zamknij" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "Zastosuj ekstrakcję wavelet." -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "Liczba warstw wavelet. Możesz wybrać do 6 warstw dla obliczeń." -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "Typ algorytmu" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "Liczba warstw: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "Algorytm interpolacji:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "Histogramy" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "Powiększenie w poziomie" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "Zresetuj powiększenia do 1." -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "Skala logarytmiczna" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "Balans półtonów" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 #, fuzzy msgid "Shadows clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 #, fuzzy msgid "Highlights clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 #, fuzzy msgid "Show grids" msgstr "Pokaż tło" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "Zastosuj algorytm automatycznego rozciągania dla obrazu" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "automatyczne rozciąganie" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "" -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 #, fuzzy msgid "Midtones: " msgstr "Bilans półtonów" -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "Cienie: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "Przycięcie (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "Liczba przyciętych pikseli (cienie)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 #, fuzzy msgid "Clipped pixels count (highlights)" msgstr "Liczba przyciętych pikseli (cienie)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "Resetuj" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "Zastosuj transformację histogramu" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "Skala X (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Skala Y (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "Zachowaj proporcje" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "Typ algorytmu użytego do ponownego próbkowania" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "Najbliższy sąsiad" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "Bilinear (domyślnie)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "Stosunek obszaru pikseli" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "Bicubic" # Should we have to "Lanczos", one with "-" and other one without "-" ? -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" msgstr "" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." msgstr "" -#: ../src/gui/siril3.glade.h:315 +#: ../src/gui/siril3.glade.h:302 #, fuzzy msgid "Radial shift: " msgstr "Promień: " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." msgstr "" -#: ../src/gui/siril3.glade.h:317 +#: ../src/gui/siril3.glade.h:304 #, fuzzy msgid "Rotational shift: " msgstr "Obrót" -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." msgstr "" -#: ../src/gui/siril3.glade.h:319 +#: ../src/gui/siril3.glade.h:306 #, fuzzy msgid "X coordinate of the center of polar coordinates." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:320 +#: ../src/gui/siril3.glade.h:307 #, fuzzy msgid "Y coordinate of the center of polar coordinates." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" msgstr "" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" msgstr "" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "Nazwa pliku" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "8-bitowa liczba całkowita bez znaku" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "16-bitowa liczba całkowita bez znaku" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "Przykładowy format" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "Żaden" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" msgstr "" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "Kompresja" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "Opis obrazu" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "Prawa autorskie do obrazu" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "Jakość: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "Niedostępne" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "16-bitowa liczba całkowita ze znakiem" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "Przykładowy format" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "Zapisz wartości MIPS-HI i MIPS-LO" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 #, fuzzy msgid "Embedded Data" msgstr "Wbudowane dane" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "Ustawienia" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "Użyj automatycznego mnożnika dnia" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." @@ -1562,7 +1506,7 @@ "Gdy ta opcja jest włączona, współczynniki dla każdego kanału są obliczane " "automatycznie. Możesz wybrać własny mnożnik odznaczając to pole." -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." @@ -1570,7 +1514,7 @@ "Określ własny balans bieli. Wartość czerwonej skali podana jest w stosunku " "do zielonej." -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." @@ -1578,19 +1522,19 @@ "Określ własny balans bieli. Wartość niebieskiej skali podana jest w stosunku " "do zielonej." -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "Jasność" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "Podziel biały poziom przez tę liczbę." -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "Brak korekty czarnego punktu" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." @@ -1599,61 +1543,61 @@ "surowych obrazów." # "Adjustment" -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "Dopasowanie kolorów obrazu" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "" "Wybierz metodę interpolacji, aby wykonać debayer przed otwarciem obrazu." -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "Bilinear o wysokiej prędkości i niskiej jakości" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "Adaptive Homogeneity-Directed (AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "Variable Number of Gradients (VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "Patterned Pixel Grouping (PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "Interpolacja macierzy obrazu" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "Korekcja gamma nie jest stosowana do obrazu." -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "Krzywa BT.709" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "Zastosuj charakterystyczną krzywą gamma do obrazu." -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "Krzywa sRGB" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "Zastosuj charakterystyczną krzywą gamma do obrazu" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "Korekcja gammy obrazu" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" @@ -1661,7 +1605,7 @@ "Użyj balansu bieli\n" "określonego przez kamerę" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1671,7 +1615,7 @@ "D65. Jeśli zaznaczysz to pole, libraw spróbuje użyć danych określonych przez " "twój aparat." -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" @@ -1679,7 +1623,7 @@ "Oblicz balans bieli\n" "przez uśrednienie całego obrazu" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1689,55 +1633,23 @@ "D65. Jeśli zaznaczysz to pole, libraw wyliczy balans bieli uśredniając cały " "obraz." -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "Balans bieli obrazu" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "Dekoder formatu pliku DSLR RAW oparty na bibliotece libraw." -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "DSLR RAW debayer" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "Wybierz wzór Bayer dla aparatu." - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Wzór Bayer:" - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "Wybierz metodę interpolacji, aby wykonać debaye." - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Interpolacja debayer: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "Bilinear" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "Super Pixel" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "Wzór Bayer z nagłówka pliku, jeśli jest dostępny" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1747,140 +1659,104 @@ "znaleziony w nagłówku pliku. Jeśli wynik wygląda źle, odznacz to pole i " "wybierz ręcznie swój wzór w poniższym polu." -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" - -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:363 #, fuzzy +msgid "Debayer in up-bottom orientation" +msgstr "Interpolacja debayer: " + +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." msgstr "" -"Jeśli to pole jest zaznaczone, Siril postara się zapewnić kompatybilność " -"KSTARS (i PixInsight), odczytując obraz FITS w kolejności od góry." - -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "Inny debayer" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "Ogniskowa (mm): " - -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "Rozmiar pixela X (micron): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "" -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:366 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." msgstr "" -"Wyczyść wszystkie pola. Jeśli zapiszesz obraz, nagłówek nie będzie zawierał " -"żadnych danych dotyczących rozmiaru ogniskowej ani sensora." -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:367 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." msgstr "" -"Jeśli rozmiar piksela Y nie zostanie automatycznie odczytany z nagłówka " -"pliku, możesz zaktualizować pole samodzielnie." - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "Rozmiar pixela Y (micron): " - -#: ../src/gui/siril3.glade.h:395 -#, fuzzy -msgid "Binning: " -msgstr "Ten binning nie jest jeszcze obsługiwany\n" -#: ../src/gui/siril3.glade.h:396 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." msgstr "" -"Jeśli binning nie zostanie automatycznie odczytany używając nagłówka pliku, " -"możesz zaktualizować to pole." -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "" +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "Wybierz wzór Bayer dla aparatu." -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Jeśli długość ogniskowej nie zostanie automatycznie odczytana z nagłówka " -"pliku, możesz samodzielnie zaktualizować pole." +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Wzór Bayer:" -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "" -"Jeśli rozmiar piksela X nie zostanie automatycznie odczytany z nagłówka " -"pliku, możesz zaktualizować pole samodzielnie." +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "Wybierz metodę interpolacji, aby wykonać debaye." -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "" +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Interpolacja debayer: " -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "Bilinear" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "Aparat oraz optyka" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"OSTRZEŻENIE: te pola są automatycznie odczytane z pliku FITS podczas " -"otwierania, a ustawienie ich tutaj będzie działać tylko dla aktualnie " -"załadowanego pliku." +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "Kamera i optyka" +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "Super Pixel" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" + +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "Inny debayer" + +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "" "Wzmocnienie przetwornika A/D w elektronach na ADU. Domyślna wartość to 2.300." -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "Wzmocnienie ADC:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "Kamera" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "Promień wewnętrzny: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "Promień zewnętrzny:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 #, fuzzy msgid "" "Inner radius of the annulus used to measure local background. Default value " @@ -1889,7 +1765,7 @@ "Promień wewnętrzny pierścienia używany do pomiaru tła lokalnego. Domyślna " "wartość to 20.00." -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 #, fuzzy msgid "" "Outer radius of the annulus used to measure local background. Default value " @@ -1898,35 +1774,46 @@ "Promień wewnętrzny ręka robocza używany do wykonywania kolorowych dłoni. " "Domyślna wartość to 20,00." -#: ../src/gui/siril3.glade.h:412 +#: ../src/gui/siril3.glade.h:386 #, fuzzy -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "Rozmiar pierścienia dla pomiaru poziomu tła (pikseli):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "Tło" +msgid "Background Annulus" +msgstr "Wartość tła" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "Przywróć domyślne" # Please correct the "defaut" to "deafault" spelling :) -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "Przywróć domyślne parametry" -#: ../src/gui/siril3.glade.h:416 -msgid "Photometry" -msgstr "Fotometria" +#: ../src/gui/siril3.glade.h:389 +msgid "Min. pixel value:" +msgstr "" -# Please correct the "defaut" to "deafault" spelling :) -#: ../src/gui/siril3.glade.h:417 +#: ../src/gui/siril3.glade.h:390 +msgid "Max. pixel value:" +msgstr "" + +#: ../src/gui/siril3.glade.h:391 +msgid "Bad pixels have value equal to or less than." +msgstr "" + +#: ../src/gui/siril3.glade.h:392 +msgid "Overexposed pixels have value equal to or greater than." +msgstr "" + +#: ../src/gui/siril3.glade.h:393 #, fuzzy -msgid "Restore the defaut swap storage directory" -msgstr "Przywróć domyślny katalog pamięci wymiany" +msgid "Pixel Value Range" +msgstr "Rozmiar pixela X (micron): " -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:394 +msgid "Photometry" +msgstr "Fotometria" + +#: ../src/gui/siril3.glade.h:395 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." @@ -1934,99 +1821,97 @@ "Wybierz istniejący katalog. Upewnij się, że masz prawa do zapisu i " "wystarczającą ilość miejsca." -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:396 #, fuzzy msgid "Select Swap Directory" msgstr "Katalog: " -#: ../src/gui/siril3.glade.h:420 +# Please correct the "defaut" to "deafault" spelling :) +#: ../src/gui/siril3.glade.h:397 +#, fuzzy +msgid "Restore the defaut swap storage directory" +msgstr "Przywróć domyślny katalog pamięci wymiany" + +#: ../src/gui/siril3.glade.h:398 msgid "Swap Storage Directory" msgstr "" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "Stosunek dostępnej pamięci: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:399 ../src/core/command_def.h:93 msgid "" -"The memory used corresponds to this value times the total of available " -"memory.\n" -"WARNING: Reducing the ratio of memory allocated to computation will degrade " -"performances." +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0.05 and 2, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster, but setting the ratio of memory " +"used for stacking above 1 will require the use of on-disk memory, which is " +"very slow and unrecommended" msgstr "" -"Wykorzystana pamięć odpowiada tej wartości pomnożonej o ilość całkowitej " -"dostępnej pamięci.\n" -"OSTRZEŻENIE: Zmniejszenie stosunku pamięci przydzielonej do obliczeń " -"pogorszy wydajność." -# Missing "e" in the word Managment: -# "Memory Management" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "Zarządzanie pamięcią" +#: ../src/gui/siril3.glade.h:400 +#, fuzzy +msgid "RAM Ratio" +msgstr "Rozmiar pola wyszukiwania w pikselach." -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:401 msgid "Type of extension: " msgstr "Rodzaj rozszerzenia: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:402 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:403 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:404 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:405 msgid "FITS Format" msgstr "Format FITS" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:406 msgid "Don't ask before quitting" msgstr "Nie pytaj przed zakończeniem" -#: ../src/gui/siril3.glade.h:431 -msgid "Confirmation dialog" +#: ../src/gui/siril3.glade.h:407 +#, fuzzy +msgid "Confirmation Dialog" msgstr "Okno potwierdzenia" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" +#: ../src/gui/siril3.glade.h:408 +msgid "Change the theme of the interface." msgstr "" -"Korzystanie z ciemnego motywu GTK\n" -"(może wymagać ponownego uruchomienia)" -# Dark theme and the bright text should be thought readible, or not ? -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"Niektóre dialogi z Siril mają niestandardowe jasne kolory. Ciemny motyw, w " -"którym tekst również jest jasny, jest nieczytelny. Sprawdzenie tutaj zmieni " -"te niestandardowe kolory na ciemne." +#: ../src/gui/siril3.glade.h:409 +msgid "Automatic" +msgstr "Automatyczny" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:410 +msgid "Dark theme" +msgstr "" + +#: ../src/gui/siril3.glade.h:411 +#, fuzzy +msgid "Light theme" +msgstr "Krzywa jasności" + +#: ../src/gui/siril3.glade.h:412 msgid "Remember window positions" msgstr "" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:413 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." msgstr "" -#: ../src/gui/siril3.glade.h:437 -msgid "Look and feel" +#: ../src/gui/siril3.glade.h:414 +#, fuzzy +msgid "Look and Feel" msgstr "Wygląd i styl" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:415 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -2034,93 +1919,107 @@ "is the startup." msgstr "" -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:416 msgid "Scripts Storage Directories" msgstr "" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:417 msgid "Misc." msgstr "Różne" -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:418 msgid "Dynamic PSF" msgstr "Dynamiczny PSF" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:419 msgid "Ch." msgstr "Ch." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:420 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:421 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:422 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:423 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:424 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:425 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:426 msgid "Mag" msgstr "" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:427 msgid "r" msgstr "r" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:428 msgid "Angle" msgstr "Kąt" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:429 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:430 +msgid "" +"Changes of these three values should be tested on one representative image " +"before using them for registration." +msgstr "" + +#: ../src/gui/siril3.glade.h:431 msgid "Size in pixels of the search box." msgstr "Rozmiar pola wyszukiwania w pikselach." -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:432 +#, fuzzy msgid "" -"Threshold value above the noise for stars detection.\n" -"The median and standard deviation values of the image are determined, then " -"the threshold is: median + [threshold] x stdev.\n" -"The default value for threshold is 1.00." +"Threshold value above the noise for star detection.\n" +"The median and standard deviation of the image are computed, then the " +"threshold is: median + [threshold] x stdev.\n" +"The default value for threshold is 1.00. Increasing this value will detect " +"less dim stars, which should be done only when images have a lot of signal " +"or low noise (high S/N)." msgstr "" "Wartość progowa dla wykrywania gwiazd powyżej szumu.\n" "Wartości mediany i odchylenia standardowego obrazu są określane, następnie " "próg wynosi: mediana + [próg] x odchylenie standardowe.\n" "Domyślna wartość progu to 1.00." -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:435 msgid "Radius: " msgstr "Promień: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:436 msgid "Threshold: " msgstr "Próg: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:437 msgid "Roundness threshold:" msgstr "Próg okrągłości:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:438 +#, fuzzy msgid "" -"Threshold value of star roundnesses. Decrease this value if your stars show " -"small trails.\n" -"\n" -"WARNING: ensure you have a good reason to change this value because it may " -"degrade the star detection." +"Threshold value of star roundnesses. Decrease this value if stars in the " +"images show small trails, conversely, increase it if they are very round to " +"avoid false positives.\n" +"The default value is 0.5, suitable for stars twice as big in one direction " +"as the other." msgstr "" "Wartość progowa okrągłości gwiazd. Zmniejsz tę wartość, jeśli gwiazdy " "pokazują małe ślady.\n" @@ -2128,279 +2027,290 @@ "OSTRZEŻENIE: upewnij się, że masz dobry powód, aby zmienić tę wartość, " "ponieważ może to pogorszyć wykrywanie gwiazd." -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "Wykrywanie gwiazd" - -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:440 +#, fuzzy +msgid "Export PSF parameters in an ASCII file" msgstr "Eksportuj parametry PSF do pliku ASCII" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:441 msgid "Remove selected star from the list" msgstr "Usuń zaznaczoną gwiazdę z listy" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:442 msgid "Remove all stars from the list" msgstr "Usuń wszystkie gwiazdy z listy" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:443 msgid "Wavelets control" msgstr "Kontrola wavelet" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:444 msgid "Cancel all changes applied" msgstr "Anuluj wszystkie zastosowane zmiany" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:445 msgid "Select an algorithm type to perform wavelets" msgstr "Wybierz typ algorytmu do wykonywania wavelet" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:446 msgid "Type:" msgstr "Typ:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:447 msgid "Nb of plans:" msgstr "Liczba warstw" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:448 msgid "Number of wavelet layers that will be used" msgstr "Liczba warstw wavelet, które będą użyte" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:449 msgid "Compute wavelets" msgstr "Oblicz wavelet" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:450 msgid "1st Plan:" msgstr "Pierwsza warstwa:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:451 msgid "2nd Plan:" msgstr "Druga warstwa:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:452 msgid "3th Plan:" msgstr "Trzecia warstwa:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:453 msgid "4th Plan:" msgstr "Czwarta warstwa:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:454 msgid "5th Plan:" msgstr "Piąta warstwa:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:455 msgid "6th Plan:" msgstr "Szósta warstwa:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:456 msgid "Reset changes" msgstr "Resetuj zmiany" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:457 msgid "Adjust" msgstr "Dostosowanie" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:458 msgid "Rotation" msgstr "Obrót" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:459 msgid "Angle (°): " msgstr "Kąt (°): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:460 msgid "Checking this box will crop the output image." msgstr "Zaznaczenie tego pola spowoduje przycięcie obrazu wyjściowego." -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:461 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "Kąt w stopniach. Środkiem obrotu jest środek obrazu." -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:462 msgid "Type of algorithm used for rotation" msgstr "Typ algorytmu użytego do obrotu" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:463 msgid "Siril control center" msgstr "Centrum kontroli Siril" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:464 msgid "_File" msgstr "_Plik" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:465 #, fuzzy msgid "Save as..." msgstr "Zapisz jako" -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:466 +#, fuzzy +msgid "Informations..." +msgstr "Informacja" + +#: ../src/gui/siril3.glade.h:467 msgid "FITS Header..." msgstr "Nagłówek FITS..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:468 msgid "_Edit" msgstr "_Edytuj" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:469 msgid "_Image Processing" msgstr "_Przetwarzanie obrazu" -#: ../src/gui/siril3.glade.h:492 +#: ../src/gui/siril3.glade.h:470 #, fuzzy msgid "Asinh Transformation..." msgstr "Transformacja histogramu..." -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:471 msgid "Histogram Transformation..." msgstr "Transformacja histogramu..." -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:472 +msgid "Color Calibration" +msgstr "Kalibracja kolorów" + +#: ../src/gui/siril3.glade.h:473 msgid "Color Calibration..." msgstr "Kalibracja kolorów..." -#: ../src/gui/siril3.glade.h:495 +#: ../src/gui/siril3.glade.h:474 +#, fuzzy +msgid "Photometric Color Calibration..." +msgstr "Kalibracja kolorów..." + +#: ../src/gui/siril3.glade.h:475 #, fuzzy msgid "Color Saturation..." msgstr "Nasycenie koloru..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:476 msgid "Remove Green Noise..." msgstr "Usuń zielony szum..." -#: ../src/gui/siril3.glade.h:497 +#: ../src/gui/siril3.glade.h:477 #, fuzzy msgid "Negative Transformation" msgstr "Transformacja histogramu..." # Please in english :) -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:478 msgid "À trous Wavelets Transform..." msgstr "" -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:479 msgid "Banding Reduction..." msgstr "Redukcja banding…" -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:480 msgid "Cosmetic Correction..." msgstr "Korekta kosmetyczna..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:481 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "Dekonwolucja..." -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:482 msgid "Fourier Transform..." msgstr "Transformacja Fouriera..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:483 #, fuzzy msgid "Median Filter..." msgstr "Filtr mediany" -#: ../src/gui/siril3.glade.h:504 +#: ../src/gui/siril3.glade.h:484 #, fuzzy msgid "Rotational Gradient..." msgstr "Obrót..." -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:485 msgid "Geometry" msgstr "Geometria" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:486 msgid "Horizontal Mirror" msgstr "Lustro w poziomie" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:487 #, fuzzy msgid "Vertical Mirror" msgstr "Lustro pionowe " -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:488 msgid "Rotation..." msgstr "Obrót..." -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:489 msgid "Resample..." msgstr "" -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:490 msgid "Background Extraction..." msgstr "Ekstrakcja tła..." -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:491 msgid "Extraction" msgstr "Ekstrakcja" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:492 msgid "Channels..." msgstr "Kanały..." -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:493 msgid "Wavelet Layers..." msgstr "Warstwy wavelet..." -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:494 msgid "RGB Compositing..." msgstr "Komponowanie RGB ..." -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:495 msgid "_Scripts" msgstr "" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:496 #, fuzzy msgid "_Analysis" msgstr "" "Analiza gwiazdy nie daje spójnych wyników, gdy ekspozycja zmienia się w " "sekwencji.\n" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:497 msgid "Dynamic PSF..." msgstr "Dynamiczny PSF..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:498 msgid "Image Plate Solver..." msgstr "" -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:499 msgid "Statistics..." msgstr "Statystyki..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:500 msgid "Noise Estimation" msgstr "Szacowanie szumu" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:501 msgid "_Windows" msgstr "_Windows" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:502 #, fuzzy msgid "Gray Channels Images" msgstr "Kanały..." -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:503 msgid "Color Image" msgstr "Kolorowy obraz" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:504 msgid "_Help" msgstr "_Pomoc" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:505 msgid "Check For Updates" msgstr "" -#: ../src/gui/siril3.glade.h:526 +#: ../src/gui/siril3.glade.h:506 msgid "Get scripts" msgstr "" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:507 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." @@ -2408,37 +2318,37 @@ "Ta zakładka konwersji służy do importowania plików i przekonwertowania ich " "do formatu, z którym może pracować Siril: FITS lub SER." -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:508 msgid "Source" msgstr "Źródło" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:509 msgid "Date" msgstr "Data" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:510 msgid "Add files to convert" msgstr "Dodaj pliki do konwertowania" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:511 msgid "Remove selected files" msgstr "Usuń wybrane pliki" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:512 msgid "Remove all files from the list" msgstr "Usuń wszystkie pliki z listy" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:513 #, fuzzy msgid "Destination" msgstr "" "Zachowaj docelowy obraz z kanałami RGB, nie zmieniaj konfiguracji kanałów." -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:514 msgid "Sequence name:" msgstr "Nazwa sekwencji:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:515 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2448,40 +2358,40 @@ "postaci NGC_6822-L_00001.fit. Nazwa może również kończyć się na .ser, co " "umożliwi konwertowanie do format SER." -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:516 msgid "Colour image target" msgstr "Cel obrazu kolorowego" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:517 msgid "Keep three channels" msgstr "Zachowaj trzy kanały" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:518 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." msgstr "" "Zachowaj docelowy obraz z kanałami RGB, nie zmieniaj konfiguracji kanałów." -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:519 msgid "Create three images" msgstr "Utwórz trzy obrazy" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:520 msgid "Split an RGB image into three images, R, G and B." msgstr "Podziel obraz RGB na trzy obrazy, R, G i B." -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:521 msgid "Keep only first channel" msgstr "Zachowaj tylko pierwszy kanał" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:522 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "" "W przypadku obrazu RGB należy zachować tylko R. Przydatne w przypadku " "szarych obrazów zapisanych jako RGB." -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:523 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." @@ -2489,7 +2399,7 @@ "Wskazuje indeks początkowy przekonwertowanych plików. Ta wartość musi być " "zawarta w zakresie [1, 65535]." -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:524 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2502,7 +2412,7 @@ "Tylko dla obrazów wejściowych RAW i FITS oraz filmów SER.\n" "Cel obrazu kolorowego dotyczy również wyniku debayer dla konwersji." -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:527 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." @@ -2510,11 +2420,11 @@ "Rozpocznij konwertowanie wszystkich plików źródłowych do skonfigurowanych " "plików wyjściowych, FITS lub SER, z przetwarzaniem kolorów lub bez." -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:528 msgid "Create as many SER files as input files" msgstr "Utwórz tyle plików SER, ile jest plików wejściowych" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:529 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2525,11 +2435,11 @@ "(filmy) nie mają tego samego rozmiaru obrazu lub nie mogą być przetwarzane " "razem." -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:530 msgid "Supported file types:" msgstr "Obsługiwane typy plików:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:531 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2547,11 +2457,11 @@ "Pliki SER są przetwarzane bezpośrednio jako sekwencja i nie są jeszcze " "dostępne do konwersji." -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:535 msgid "File conversion" msgstr "Konwertowanie pliku" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:536 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2559,30 +2469,30 @@ "Obrazy są manipulowane sekwencyjnie. Siril może znaleźć sekwencje w CWD i " "możesz filtrować obrazy." -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:537 msgid "Sequence selection" msgstr "Wybór sekwencji" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:538 msgid "Sequence:" msgstr "Sekwencja:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:539 msgid "Search sequences" msgstr "Wyszukiwanie sekwencji" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:540 #, fuzzy msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "Wyszukaj sekwencje obrazów FITS w bieżącym katalogu." # Should the "." be there ? -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:541 msgid "Force .seq recomputation" msgstr "Wymuś ponowne przetwarzanie sekwencji" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:542 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2598,15 +2508,15 @@ "\n" "OSTRZEŻENIE: usunie to wszystkie dane rejestracyjne i statystyczne." -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:546 msgid "Image selection in sequence" msgstr "Wybór obrazu w sekwencji" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:547 msgid "No sequence selected" msgstr "Nie wybrano sekwencji" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:548 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2615,22 +2525,22 @@ "przeglądania zdjęć, oraz klawisza SPACJI, aby przełączyć wykluczenie dla " "bieżącego obrazu." -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:549 msgid "Excluded" msgstr "Wykluczony" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:550 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" msgstr "" "To, czy obraz jest wykluczony z przetwarzania (sam plik nie jest usuwany)" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:551 msgid "Reference image" msgstr "Obraz odniesienia" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:552 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2645,36 +2555,36 @@ "Jeśli nie zostanie to ustawione ręcznie, pierwszy obraz sekwencji jest " "traktowany jako odniesienie." -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:555 msgid "Exclude All" msgstr "Wyklucz wszystkie" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:556 msgid "Exclude all images of the sequence from the processing schedule" msgstr "Wyklucz wszystkie obrazy sekwencji z harmonogramu przetwarzania" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:557 msgid "Include All" msgstr "Uwzględnij wszystkie" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:558 msgid "includes all images of the sequence in the processing schedule" msgstr "uwzględnia wszystkie obrazy sekwencji w harmonogramie przetwarzania" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:559 msgid "Sequence export" msgstr "Eksport sekwencji" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:560 msgid "Base name:" msgstr "Nazwa podstawowa:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:561 #, fuzzy msgid "Base name for the exported sequence" msgstr "Nazwa podstawowa:" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:562 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." @@ -2682,12 +2592,12 @@ "Format eksportowanej sekwencji. MP4 i WEBM zastępują GIF dla nowoczesnej " "publikacji w Internecie, AVI nie jest skompresowane." -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:563 #, fuzzy msgid "Export sequence" msgstr "Sekwencja:" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:564 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2700,11 +2610,11 @@ "obrazów. Wyeksportowane obrazy można przycinać i wybierać z zastosowaniem " "tych samych kryteriów, co w przypadku wyboru do stackowania." -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:565 msgid "Normalize images" msgstr "Normalizuj obrazy" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:566 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2720,19 +2630,19 @@ "przed eksportem, może to zająć trochę czasu.\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:569 msgid "Fps:" msgstr "Klatek na sekundę:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:570 msgid "Frame rate" msgstr "Częstotliwość wyświetlania klatek" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:571 msgid "Resize" msgstr "Zmień rozmiar" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:572 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." @@ -2740,19 +2650,19 @@ "Zaznacz to pole, jeśli chcesz zmienić rozmiar wyeksportowanej sekwencji. " "Pamiętaj, że pogorszy to jakość obrazu." -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:573 msgid "Width of output video" msgstr "Szerokość wyjściowego wideo" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:574 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:575 msgid "Height of output video" msgstr "Wysokość wyjściowego wideo" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:576 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." @@ -2760,31 +2670,31 @@ "Jakość filmu: niższa wartość spowoduje większą kompresję ale także mniejszy " "rozmiar pliku." -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:577 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "Wybierz obszar do przycięcia" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:578 msgid "Image selection uses the same controls as for stacking" msgstr "" "Wybór obrazu używa tych samych elementów sterujących, co w przypadku " "stackowania" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:579 msgid "Go to the stacking tab" msgstr "Przejdź do zakładki stackowania" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:580 msgid "Sequence" msgstr "Sekwencja" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:581 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "" "Przetwarzanie wstępne jest opcjonalnym krokiem do zastosowania dla sekwencji " "obrazów." -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:582 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." @@ -2792,17 +2702,17 @@ "Pojedynczy plik jest często nazywany plikiem głównym (master), który jest " "wynikiem przetwarzania kilku klatek dla każdego typu obrazu głównego." -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:583 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "" "Pliki dark, offset (bias) oraz flat mogą być tylko jednym plikiem FITS." #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:585 msgid "Use flat" msgstr "Użyj flat" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:586 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." @@ -2810,7 +2720,7 @@ "Wszystkie obrazy w sekwencji zostaną podzielone przez master flat (każda " "wartość piksela)." -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:587 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2820,20 +2730,20 @@ "Wszystkie obrazy w sekwencji zostaną podzielone przez master flat (każda " "wartość piksela)." -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:589 msgid "Browse..." msgstr "Przeglądaj…" #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:591 msgid "Use dark" msgstr "Użyj dark" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:592 msgid "The dark master image will be removed from all images in the sequence." msgstr "Master dark zostanie usunięty ze wszystkich obrazów w sekwencji." -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:593 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2842,16 +2752,16 @@ "Master dark zostanie usunięty ze wszystkich obrazów w sekwencji." #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:596 msgid "Use offset" msgstr "Użyj offset" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:597 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "Bias/offset zostanie usunięty ze wszystkich obrazów w sekwencji." -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:598 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2859,19 +2769,19 @@ "Wprowadź nazwę pliku master bias/offset lub użyj przycisku przeglądania.\n" "Master bias/offset zostanie usunięty ze wszystkich obrazów w sekwencji." -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:600 msgid "Choose your own normalisation value." msgstr "Wybierz własną wartość normalizacji." -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:601 msgid "Normalisation value for flat division" msgstr "Wartość normalizacyjna dla podziału flat" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:602 msgid "Dark optimization" msgstr "Optymalizacja dark" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:603 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2889,11 +2799,11 @@ "OSTRZEŻENIE: Nie stosuj optymalizacji dark w trybie master-dark, jeśli " "uprzednie odchylenie od wartości głównej nie zostało odjęte." -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:606 msgid "Auto evaluate normalisation value" msgstr "Automatyczna ocena wartość normalizacji" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:607 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2902,20 +2812,20 @@ "normalizacji.\n" "Ta wartość jest średnią master flat skalibrowanej z master offset." -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:609 msgid "Equalize CFA" msgstr "" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:610 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." msgstr "" -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:611 msgid "Cosmetic correction (using master-dark)" msgstr "Korekta kosmetyczna (przy użyciu master-dark)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:612 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." @@ -2923,11 +2833,11 @@ "Ile razy wartość piksela musi być różna od odchylenia standardowego, aby " "mogła zostać uznana za wadliwą." -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:613 msgid "Enable Cosmectic Correction" msgstr "Włącz korektę kosmiczną" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:614 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2935,11 +2845,11 @@ "Sprawdź, czy chcesz zastosować usuwanie gorących pikseli.\n" "Gorące piksele znajdują się w master-dark." -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:616 msgid "Estimate" msgstr "Oszacowanie" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:618 #, fuzzy, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2949,23 +2859,23 @@ "Kliknij ten przycisk, aby ocenić liczbę wadliwych pikseli. Jeśli wartości są " "większe niż 10000 pikseli, rozważ zmianę wartości sigma." -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:619 msgid "Cold: 0 px" msgstr "Zimny: 0 pikseli" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:620 msgid "Hot: 0 px" msgstr "Gorący: 0 pikseli" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:621 msgid "Output sequence" msgstr "Sekwencja wyjściowa" -#: ../src/gui/siril3.glade.h:642 +#: ../src/gui/siril3.glade.h:622 msgid "Debayer FITS images before saving" msgstr "" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:623 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -2975,19 +2885,19 @@ "be demosaiced on-the-fly." msgstr "" -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:626 msgid "Store resulting sequence with prefix:" msgstr "Zapisz wynikową sekwencję z prefiksem:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:627 msgid "Prefix of the image names resulting from the pre-processing." msgstr "Przedrostek nazw obrazów powstałych w wyniku wstępnego przetwarzania." -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:628 msgid "Start pre-processing" msgstr "Rozpocznij wstępne przetwarzanie" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:629 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -3003,11 +2913,11 @@ "Następną czynnością dla obrazów DSLR będzie debayer wstępnie przetworzonych " "obrazów, przejdź do zakładki Konwersja." -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:632 msgid "Pre-processing" msgstr "Wstępne przetwarzanie" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:633 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." @@ -3015,19 +2925,27 @@ "Rejestracja polega na wyrównaniu obrazów z sekwencji, aby móc je później " "przetwarzać." -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:634 msgid "Image registration" msgstr "Rejestracja obrazu" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:635 +msgid "Register all images from sequence" +msgstr "Zarejestruj wszystkie obrazy z sekwencji" + +#: ../src/gui/siril3.glade.h:636 +msgid "Register selected images only" +msgstr "Zarejestruj tylko wybrane obrazy" + +#: ../src/gui/siril3.glade.h:637 msgid "Choose registration method:" msgstr "Wybierz metodę rejestracji:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:638 msgid "Select registration layer:" msgstr "Wybierz warstwę rejestracji:" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:639 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -3044,31 +2962,23 @@ "domyślnej, o ile są dostępne (w przypadku obrazów RGB: zielony, w przeciwnym " "razie w kolorze niebieskim, a następnie w kolorze czerwonym)." -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "Zarejestruj wszystkie obrazy z sekwencji" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "Zarejestruj tylko wybrane obrazy" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:642 msgid "Prefix:" msgstr "Prefiks:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:643 msgid "Prefix of the image names resulting from the registration." msgstr "Przedrostek nazw obrazów powstałych w wyniku rejestracji." -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:644 msgid "Algorithm: " msgstr "Algorytm: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:645 msgid "Match stars in selection" msgstr "Dopasuj gwiazdy w selekcji" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:646 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -3080,11 +2990,11 @@ "zostanie ona zignorowana.\n" "OSTRZEŻENIE: Upewnij się, że zaznaczenie posiada wystarczającą liczbą gwiazd." -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:648 msgid "Translation only" msgstr "Tylko transponowanie" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:649 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -3106,63 +3016,63 @@ "OSTRZEŻENIE: nie jest tworzona nowa sekwencja, dane rejestracyjne są " "przechowywane w oryginalnej sekwencji." -#: ../src/gui/siril3.glade.h:673 -msgid "Peak object in #1" +#: ../src/gui/siril3.glade.h:653 +msgid "Pick object in #1" msgstr "" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " "be computed and displayed." msgstr "" -#: ../src/gui/siril3.glade.h:675 +#: ../src/gui/siril3.glade.h:655 #, fuzzy msgid "Core X-coordinates of the first image." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:676 +#: ../src/gui/siril3.glade.h:656 #, fuzzy msgid "Core Y-coordinates of the first image." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:677 -msgid "Peak object in #2" +#: ../src/gui/siril3.glade.h:657 +msgid "Pick object in #2" msgstr "" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:658 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " "be computed and displayed." msgstr "" -#: ../src/gui/siril3.glade.h:679 +#: ../src/gui/siril3.glade.h:659 #, fuzzy msgid "Core X-coordinates of the second image." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:680 +#: ../src/gui/siril3.glade.h:660 #, fuzzy msgid "Core Y-coordinates of the second image." msgstr "współrzędna x początku wyboru tła" -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:661 msgid "Comet velocity in pixel per hour." msgstr "" -#: ../src/gui/siril3.glade.h:682 +#: ../src/gui/siril3.glade.h:662 #, fuzzy msgid "Velocity: " msgstr "Jakość: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:663 #, fuzzy msgid "Go register" msgstr "Rejestracja: przetwarzanie obrazu %s\n" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:664 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -3173,15 +3083,15 @@ "zakładce \"Kolejność obrazów\", obecna nazwa sekwencji znajduje się również " "w dolnej części okna)." -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:665 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "Najpierw wczytaj sekwencję." -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:666 msgid "Simplified Drizzle x2" msgstr "Uproszczony Drizzle x2" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:667 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3212,11 +3122,11 @@ "potrzebna do utworzenia i przetworzenia skropionych obrazów jest pomnożona " "przez kwadrat współczynnika drizzle ." -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:672 msgid "Cumul reg. data" msgstr "" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:673 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3225,11 +3135,11 @@ "the comet/asteroid algorithm is applied several times." msgstr "" -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:675 msgid "Follow star movement" msgstr "Obserwuj ruch gwiazdy" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:676 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3245,15 +3155,15 @@ "OSTRZEŻENIE: włączenie tej opcji wymaga działania tylko na jednym rdzeniu " "procesora." -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:678 msgid "Manual registration" msgstr "Ręczna rejestracja" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:679 msgid "Display reference image" msgstr "Wyświetl obraz referencyjny" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:681 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3266,7 +3176,7 @@ "Aby włączyć, obraz referencyjny musiał zostać ustawiony i wyświetlony na " "wybranej warstwie rejestracji." -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:683 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." @@ -3274,12 +3184,12 @@ "Zmień tę wartość za pomocą kółka myszy lub strzałek w górę i w dół, aby " "wyrównać obraz z obrazem odniesienia na osi X." -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:684 #, fuzzy msgid "X translation:" msgstr "X" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:685 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." @@ -3287,20 +3197,20 @@ "Zmień tę wartość za pomocą kółka myszy lub strzałek w górę i w dół, aby " "wyrównać obraz z obrazem odniesienia na osi Y." -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:686 #, fuzzy msgid "Y translation:" msgstr "Tylko tłumaczenie" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:687 msgid "Set reference image first." msgstr "Najpierw ustaw obraz referencyjny." -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:688 msgid "Set first preview" msgstr "Ustaw pierwszy podgląd" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:689 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3308,53 +3218,53 @@ "Umożliwia wyświetlenie poniżej obszaru podglądu. Po kliknięciu tego " "przycisku, kliknij na obraz, aby ustawić środek obszaru podglądu" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:690 msgid "Set second preview" msgstr "Ustaw drugi podgląd" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:691 msgid "Registration" msgstr "Rejestracja" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:692 msgid "Filename:" msgstr "Nazwa pliku:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:693 msgid "Enter the filename of the exported CSV file." msgstr "Wprowadź nazwę eksportowanego pliku CSV." -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:694 msgid "Export to CSV" msgstr "Eksport do pliku CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:695 msgid "Export displayed plot to a CSV file." msgstr "Eksportuj wyświetlony diagram do pliku CSV." -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:696 msgid "Clear all" msgstr "Wyczyść wszystko" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:697 msgid "Clear all curves displayed in photometry." msgstr "Wyczyść wszystkie krzywe wyświetlane w fotometrii." -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:698 msgid "Clear latest" msgstr "Wyczyść ostatnie" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:699 msgid "Clear the last curve added in photometry." msgstr "Usuń ostatnią krzywą dodaną w fotometrii." #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:362 +#: ../src/gui/siril3.glade.h:701 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "Krzywa jasności" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:702 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3368,43 +3278,47 @@ "wyświetlanego wykresu.\n" "OSTRZEŻENIE: należy zainstalować gnuplot." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:704 msgid "Select the source of graph information." msgstr "Wybierz źródło informacji o wykresie." -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:705 msgid "Select which information to display from photometry data." msgstr "Wybierz informacje do wyświetlenia z danych fotometrycznych." -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:706 msgid "Roundness" msgstr "Okrągłość" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:563 ../src/gui/plot.c:725 +#: ../src/gui/siril3.glade.h:707 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:728 +#: ../src/gui/siril3.glade.h:708 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "Amplituda" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:709 msgid "Magnitude" msgstr "Magnitudo" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:710 +msgid "Background" +msgstr "Tło" + +#: ../src/gui/siril3.glade.h:711 msgid "X position" msgstr "Pozycja X" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:712 msgid "Y position" msgstr "Pozycja Y" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:713 msgid "Plot" msgstr "Diagram" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:714 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." @@ -3412,19 +3326,15 @@ "Stackowanie obrazów, albo sumowanie, mediana, średnia z odrzuceniem lub " "piksel minimum/maksimum." -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:715 msgid "Sequence stacking" msgstr "Sekwencja stackowania" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:716 msgid "Stacking Methods:" msgstr "Metody stackowania:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "Stackowanie tego zestawu obrazów:" - -#: ../src/gui/siril3.glade.h:737 +#: ../src/gui/siril3.glade.h:717 #, fuzzy msgid "" "Sum: This is the simplest method.\n" @@ -3490,89 +3400,40 @@ "Piksele obrazu są zastępowane pikselami o tych samych współrzędnych, jeśli " "intensywność jest mniejsza." -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:740 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "Stackowanie sumacyjne" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:741 msgid "Average stacking with rejection" msgstr "Stackowanie średnie z odrzuceniem" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:742 #, fuzzy msgid "Median stacking" msgstr "mediana" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:743 #, fuzzy msgid "Pixel maximum stacking" msgstr "Rozmiar pixela X (micron): " -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:744 #, fuzzy msgid "Pixel minimum stacking" msgstr "Rozmiar pixela X (micron): " -#: ../src/gui/siril3.glade.h:765 -#, fuzzy -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"Wybierz zestaw obrazów do stackowania. Można użyć wszystkich zdjęć lub tylko " -"wybranych ręcznie. Jest również możliwe wybranie tylko procentu najlepszych " -"obrazów zgodnie z kryteriami jakości (planetarnymi lub fwhm)." - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "wszystkie obrazy sekwencji" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "obrazy wcześniej ręcznie wybrane z sekwencji" - -#: ../src/gui/siril3.glade.h:768 -#, fuzzy -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "" -"najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych (PSF)" - -#: ../src/gui/siril3.glade.h:769 -#, fuzzy -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "" -"najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych (PSF)" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "" -"najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych (Planety)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "Na podstawie FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "Stackowanie najlepszych:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:745 #, fuzzy msgid "Sigma low: " msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:746 #, fuzzy msgid "Sigma high: " msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:747 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3600,68 +3461,48 @@ "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" msgstr "" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:763 msgid "No rejection" msgstr "Bez odrzucenia" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:764 #, fuzzy msgid "Percentile Clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:765 #, fuzzy msgid "Sigma Clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:766 #, fuzzy msgid "Median Sigma Clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:767 #, fuzzy msgid "Winsorized Sigma Clipping" msgstr "Przycinanie cieni" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:768 #, fuzzy msgid "Linear Fit Clipping" msgstr ".fit" -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:769 msgid "Rejection:" msgstr "Odrzucenie:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:770 msgid "Normalisation:" msgstr "Normalizacja:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:771 msgid "Start stacking" msgstr "Rozpocznij stackowanie" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:772 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3669,19 +3510,19 @@ "saved to a 16-bit image whose name is given below." msgstr "" -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:774 msgid "Store result in file:" msgstr "Zapisz wynik do pliku:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:775 msgid "Overwrite" msgstr "Nadpisz" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:776 msgid "Overwrite file without notice if it already exists." msgstr "Nadpisz plik bez powiadomienia, jeśli już istnieje." -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:777 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3703,16 +3544,16 @@ "However, multiplicative normalisation must be used with flat-field frames." msgstr "" -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:789 msgid "No normalisation" msgstr "Brak normalizacji" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:790 #, fuzzy msgid "Additive" msgstr "Maska addytywna" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:791 #, fuzzy msgid "Multiplicative" msgstr "" @@ -3723,20 +3564,20 @@ "winietowanie lub zróżnicowana absorpcja atmosferyczna. Jednak tego rodzaju " "operacja powinna być wykonana przez korektę master-flat." -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:792 #, fuzzy msgid "Additive with scaling" msgstr "Maska addytywna" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:793 msgid "Multiplicative with scaling" msgstr "Multiplikatywne ze skalowaniem" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:794 msgid "Force recomputing" msgstr "Wymuś ponowne przetwarzanie" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:795 #, fuzzy msgid "" "By default, Siril takes the normalisation coefficients from seq file if " @@ -3747,11 +3588,85 @@ "zostale już wyliczone. Jednak możesz zmusić Sirila, aby przeliczył go przed " "ułożeniem w stos." -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:796 +msgid "Add another filter" +msgstr "" + +#: ../src/gui/siril3.glade.h:797 +#, fuzzy +msgid "Remove this filter" +msgstr "Usuń wybrane pliki" + +#: ../src/gui/siril3.glade.h:798 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" + +#: ../src/gui/siril3.glade.h:803 +msgid "all" +msgstr "" + +#: ../src/gui/siril3.glade.h:804 +#, fuzzy +msgid "selected" +msgstr "Wybrany obszar" + +#: ../src/gui/siril3.glade.h:805 +#, fuzzy +msgid "roundness" +msgstr "Okrągłość" + +#: ../src/gui/siril3.glade.h:806 +#, fuzzy +msgid "Percents of the images of the sequence." +msgstr "wszystkie obrazy sekwencji" + +#: ../src/gui/siril3.glade.h:807 +#, fuzzy +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"Wybierz zestaw obrazów do stackowania. Można użyć wszystkich zdjęć lub tylko " +"wybranych ręcznie. Jest również możliwe wybranie tylko procentu najlepszych " +"obrazów zgodnie z kryteriami jakości (planetarnymi lub fwhm)." + +#: ../src/gui/siril3.glade.h:808 +msgid "Stack this set of images:" +msgstr "Stackowanie tego zestawu obrazów:" + +#: ../src/gui/siril3.glade.h:809 +#, fuzzy +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "" +"Stackowanie wszystkich obrazów w sekwencji (%d)\n" +"\n" + +#: ../src/gui/siril3.glade.h:810 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" + +#: ../src/gui/siril3.glade.h:812 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" + +#: ../src/gui/siril3.glade.h:814 msgid "Stacking" msgstr "Stackowanie" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:815 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." @@ -3759,37 +3674,47 @@ "Okno wyjściowe Siril, wyświetla komunikaty o tym, co zostało zrobione oraz w " "odpowiedzi na dane wejściowe polecenia." -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:816 +#, fuzzy +msgid "Export the log" +msgstr "Eksport do pliku CSV" + +#: ../src/gui/siril3.glade.h:817 +#, fuzzy +msgid "Clear the log" +msgstr "Wyczyść ostatnie" + +#: ../src/gui/siril3.glade.h:818 msgid "Output logs" msgstr "Dziennik wyjściowy" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:819 #, fuzzy msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "Wpisz 'pomoc' dla listy obsługiwanych poleceń" -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:820 msgid "Type help for the list of supported commands" msgstr "Wpisz 'pomoc' dla listy obsługiwanych poleceń" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:821 msgid "Displays manual of the command written in the console." msgstr "" -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:822 msgid "Console" msgstr "Konsola" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:823 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "Gotowy." -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:824 msgid "Current working directory:" msgstr "Bieżący katalog roboczy:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:825 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." @@ -3797,23 +3722,23 @@ "Katalog, w którym pliki będą odczytywane i zapisywane. Można go zmienić za " "pomocą przycisku 'Zmień katalog' po prawej stronie lub poleceniem cd." -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:826 msgid "Change dir..." msgstr "Zmień katalog..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:827 msgid "Change current working directory" msgstr "Zmień bieżący katalog roboczy" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:828 msgid "Stop running processes" msgstr "Zatrzymaj uruchomione procesy" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:829 msgid "Current working sequence:" msgstr "Bieżąca sekwencja robocza:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:830 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3822,11 +3747,11 @@ "Ustaw ręcznie liczbę wątków.\n" "OSTRZEŻENIE: zbyt mała liczba dozwolonych procesorów pogorszy wydajność." -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:832 msgid "Displays the amount of used RAM memory by Siril." msgstr "Wyświetla ilość wykorzystanej pamięci RAM przez Siril." -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:833 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." @@ -3835,62 +3760,102 @@ "katalog roboczy." #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:835 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "Miejsce na dysku: N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "Kalibracja kolorów" +#: ../src/gui/siril3.glade.h:836 +#, fuzzy +msgid "Informations" +msgstr "Informacja" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:837 +msgid "Focal length (mm): " +msgstr "Ogniskowa (mm): " + +#: ../src/gui/siril3.glade.h:838 +msgid "Pixel X dim. (micron): " +msgstr "Rozmiar pixela X (micron): " + +#: ../src/gui/siril3.glade.h:839 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." msgstr "" -"Zestaw trzech współczynników kalibracji kolorów zostanie obliczony i " -"pomnożony przez każdy kanał koloru.\n" -"Przed tą operacją należy zastosować neutralizację tła." +"Wyczyść wszystkie pola. Jeśli zapiszesz obraz, nagłówek nie będzie zawierał " +"żadnych danych dotyczących rozmiaru ogniskowej ani sensora." -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "współrzędna x początku wyboru tła" +#: ../src/gui/siril3.glade.h:840 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Jeśli rozmiar piksela Y nie zostanie automatycznie odczytany z nagłówka " +"pliku, możesz zaktualizować pole samodzielnie." -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" +#: ../src/gui/siril3.glade.h:841 +msgid "Pixel Y dim. (micron): " +msgstr "Rozmiar pixela Y (micron): " + +#: ../src/gui/siril3.glade.h:842 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." msgstr "" +"Jeśli długość ogniskowej nie zostanie automatycznie odczytana z nagłówka " +"pliku, możesz samodzielnie zaktualizować pole." -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "Szerokość wyboru tła" +#: ../src/gui/siril3.glade.h:843 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "" +"Jeśli rozmiar piksela X nie zostanie automatycznie odczytany z nagłówka " +"pliku, możesz zaktualizować pole samodzielnie." -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "Wysokość wyboru tła" +#: ../src/gui/siril3.glade.h:844 +msgid "No binning in pixel size value" +msgstr "" -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "Wybrany obszar" +#: ../src/gui/siril3.glade.h:845 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "Użyj bieżącego wyboru" +#: ../src/gui/siril3.glade.h:846 +msgid "FWHM is converted into arcsec" +msgstr "" -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:847 +#, fuzzy +msgid "Binning: " +msgstr "Ten binning nie jest jeszcze obsługiwany\n" + +#: ../src/gui/siril3.glade.h:848 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." msgstr "" -"Musisz określić zaznaczenie, które reprezentuje prawdziwe tło obrazu, " -"próbując wykluczyć wszystkie gwiazdy lub inne obiekty gwiezdne." +"Jeśli binning nie zostanie automatycznie odczytany używając nagłówka pliku, " +"możesz zaktualizować to pole." -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:849 +msgid "" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"Zestaw trzech współczynników kalibracji kolorów zostanie obliczony i " +"pomnożony przez każdy kanał koloru.\n" +"Przed tą operacją należy zastosować neutralizację tła." + +#: ../src/gui/siril3.glade.h:851 msgid "Background Neutralization" msgstr "Neutralizacja tła" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:852 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3900,16 +3865,16 @@ "nieba w neutralnym kolorze szarym.\n" "Ten krok należy wykonać przed każdą próbą kalibracji kolorów." -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:854 #, fuzzy msgid "Background reference" msgstr "Obraz odniesienia" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:855 msgid "Manual White Balance" msgstr "Ręczny balans bieli" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:856 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." @@ -3917,36 +3882,36 @@ "Kliknięcie tej opcji spowoduje użycie własnych współczynników kalibracji " "kolorów. Ta opcja jest domyślnie wyłączona." -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:857 msgid "Red:" msgstr "Czerwony:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:858 msgid "Green:" msgstr "Zielony:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:859 msgid "Blue:" msgstr "Niebieski:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:860 msgid "x coordinate of the start of the white reference selection" msgstr "" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:861 msgid "y coordinate of the start of the white reference selection" msgstr "" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:862 msgid "Width of the white reference selection" msgstr "" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:863 #, fuzzy msgid "Height of the white reference selection" msgstr "Wysokość wyboru białego odniesienia referencyjnego" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:864 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -3956,7 +3921,7 @@ "białego odniesienia.\n" "Jeśli wybór jest pusty, cały obraz zostanie wykorzystany jako odniesienie." -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:866 #, fuzzy msgid "" "Lower rejection bound for white selection. Pixels below this value are not " @@ -3965,36 +3930,38 @@ "Dolna granica odrzucenia do wyboru białego. Piksele poniżej tej wartości nie " "są brane pod uwagę. Czarne piksele są zawsze wyłączone z obliczeń." -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:867 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." msgstr "" -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:868 msgid "Lower limit: " msgstr "Dolny limit: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:869 msgid "Upper limit: " msgstr "Górna granica: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:870 #, fuzzy msgid "White reference" msgstr "Obraz odniesienia" -#: ../src/algos/PSF.c:671 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" +msgstr "" + +#: ../src/algos/background_extraction.c:187 +#, fuzzy +msgid "Out of memory - aborting" +msgstr "Brak pamięci - przerwanie\n" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." msgstr "" #: ../src/algos/colors.c:355 @@ -4012,13 +3979,13 @@ msgstr "Korekcja nasycenia: przetwarzanie...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1761 ../src/core/preprocess.c:63 +#: ../src/core/preprocess.c:182 ../src/core/siril.c:611 ../src/core/siril.c:902 +#: ../src/core/siril.c:998 ../src/core/siril.c:1090 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:326 ../src/gui/statistics_list.c:311 #, fuzzy msgid "Error: statistics computation failed.\n" msgstr "Błąd: brak danych.\n" @@ -4029,13 +3996,15 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:546 +#: ../src/gui/photometric_cc.c:564 #, fuzzy msgid "There is no selection" msgstr "fwhm: brak wyboru" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:547 +#: ../src/gui/photometric_cc.c:565 #, fuzzy msgid "Make a selection of the background area" msgstr "Wybierz najpierw obszar tła" @@ -4045,7 +4014,7 @@ msgid "Make a selection of the white reference area" msgstr "Wybierz najpierw obszar tła" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:322 #, fuzzy msgid "Background reference:\n" msgstr "Obraz odniesienia" @@ -4055,7 +4024,7 @@ msgid "White reference:\n" msgstr "Obraz odniesienia:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:307 msgid "Color calibration factors:\n" msgstr "Współczynniki kalibracji kolorów:\n" @@ -4063,134 +4032,138 @@ msgid "Color Calibration: processing...\n" msgstr "Kalibracja kolorów: przetwarzanie…\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, fuzzy, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "Obraz %d: %ld Poprawiono pikseli (%ld +%ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "Korekta kosmetyczna: przetwarzanie...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/preprocess.c:197 #, fuzzy, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "Nieznany format obrazu FITS (%ld osi).\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "Transformacja Fouriera: przetwarzanie...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "Coś jest nie tak z twoimi plikami\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "Numer kanału %d: Wykonano ekstrakcję tła.\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "Ekstrakcja tła: przetwarzanie...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "Niewystarczające próbki tła.\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:260 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "" "Wewnętrzne i zewnętrzne promienie są zbyt małe. Zaktualizuj wartości w polu " "ustawień.\n" -#: ../src/algos/photometry.c:303 -msgid "" -"Warning: There aren't enough pixels in the sky annulus. You need to make a " -"larger selection.\n" +#: ../src/algos/photometry.c:311 +msgid "" +"Warning: There aren't enough pixels in the sky annulus. You need to make a " +"larger selection.\n" +msgstr "" + +#: ../src/algos/photometry.c:364 ../src/algos/photometry.c:378 +#, fuzzy +msgid "Wrong value" +msgstr "Wartość tła" + +#: ../src/algos/photometry.c:365 ../src/algos/photometry.c:379 +msgid "Inner radius value must be less than outer. Please change the value." msgstr "" +#: ../src/algos/plateSolver.c:483 ../src/gui/callbacks.c:1839 +#: ../src/gui/callbacks.c:2904 ../src/gui/callbacks.c:4513 +#: ../src/gui/callbacks.c:4519 ../src/gui/callbacks.c:4540 +#: ../src/gui/open_dialog.c:293 ../src/gui/plot.c:383 ../src/gui/plot.c:443 +#: ../src/gui/PSF_list.c:213 ../src/gui/save_dialog.c:298 +#: ../src/io/conversion.c:602 ../src/io/single_image.c:131 +msgid "Error" +msgstr "Błąd" + #. Matching information -#: ../src/algos/plateSolver.c:683 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:740 ../src/registration/global.c:440 #, c-format msgid "%d pair matches.\n" msgstr "%d dopasowanych par.\n" -#: ../src/algos/plateSolver.c:685 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:742 ../src/registration/global.c:442 #, c-format msgid "Inliers:%*.3f\n" msgstr "" #. we assume square pixels -#: ../src/algos/plateSolver.c:691 +#: ../src/algos/plateSolver.c:748 #, c-format msgid "Resolution:%*.3lf arcsec/px\n" msgstr "" -#: ../src/algos/plateSolver.c:705 +#: ../src/algos/plateSolver.c:762 #, fuzzy, c-format msgid "Rotation:%+*.2lf deg %s\n" msgstr "obrót:%+*.2f stopnia\n" -#: ../src/algos/plateSolver.c:705 +#: ../src/algos/plateSolver.c:762 msgid "(flipped)" msgstr "" -#: ../src/algos/plateSolver.c:711 +#: ../src/algos/plateSolver.c:776 #, fuzzy, c-format msgid "Focal:%*.2lf mm\n" msgstr "skala:%*.3f\n" -#: ../src/algos/plateSolver.c:712 +#: ../src/algos/plateSolver.c:777 #, c-format msgid "Pixel size:%*.2lf µm\n" msgstr "" -#: ../src/algos/plateSolver.c:715 +#: ../src/algos/plateSolver.c:780 #, c-format msgid "Field of view: %s x %s\n" msgstr "" -#: ../src/algos/plateSolver.c:718 +#: ../src/algos/plateSolver.c:783 #, c-format msgid "Image center: RA: %s, DEC: %s\n" msgstr "" -#: ../src/algos/plateSolver.c:753 +#: ../src/algos/plateSolver.c:818 #, c-format msgid "Catalog NOMAD size: %d objects\n" msgstr "" -#: ../src/algos/plateSolver.c:787 +#: ../src/algos/plateSolver.c:852 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "" -#: ../src/algos/plateSolver.c:821 +#: ../src/algos/plateSolver.c:886 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" msgstr "" -#: ../src/algos/plateSolver.c:855 +#: ../src/algos/plateSolver.c:920 #, c-format msgid "Catalog PPMXL size: %d objects\n" msgstr "" -#: ../src/algos/plateSolver.c:890 +#: ../src/algos/plateSolver.c:955 #, c-format msgid "Catalog Bright stars size: %d objects\n" msgstr "" -#: ../src/algos/plateSolver.c:950 +#: ../src/algos/plateSolver.c:1015 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" msgstr "" -#: ../src/algos/plateSolver.c:953 +#: ../src/algos/plateSolver.c:1018 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -4199,7 +4172,7 @@ "linear image." msgstr "" -#: ../src/algos/plateSolver.c:998 +#: ../src/algos/plateSolver.c:1067 #, fuzzy, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." @@ -4207,24 +4180,37 @@ "W obrazie referencyjnym nie ma wystarczającej liczby gwiazd, aby wykonać " "wyrównanie\n" -#: ../src/algos/plateSolver.c:1200 +#: ../src/algos/plateSolver.c:1283 msgid "There are no keywords stored in the FITS header.\n" msgstr "" -#: ../src/algos/plateSolver.c:1201 +#: ../src/algos/plateSolver.c:1284 msgid "No metadata" msgstr "" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1351 msgid "Astrometric solution detected" msgstr "" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1351 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." msgstr "" +#: ../src/algos/PSF.c:704 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" +msgstr "" + #. only used for progress bar #: ../src/algos/rgradient.c:69 #, fuzzy @@ -4236,35 +4222,35 @@ msgid "Rotational gradient complete." msgstr "Rejestracja zakończona." -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:223 +#: ../src/core/command.c:461 ../src/core/command.c:784 +#: ../src/core/command.c:952 ../src/core/command.c:987 +#: ../src/core/command.c:1067 ../src/core/command.c:1419 +#: ../src/core/command.c:1546 ../src/core/command.c:1569 +#: ../src/core/command.c:1597 ../src/core/command.c:1623 +#: ../src/core/command.c:1799 ../src/core/command.c:1868 +#: ../src/core/command.c:2681 ../src/gui/callbacks.c:3932 +#: ../src/gui/callbacks.c:4124 ../src/gui/callbacks.c:4282 +#: ../src/gui/callbacks.c:4315 ../src/gui/callbacks.c:4363 +#: ../src/gui/callbacks.c:4497 ../src/gui/callbacks.c:4651 +#: ../src/gui/callbacks.c:4830 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1097 +#: ../src/stacking/stacking.c:1219 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Inne zadanie jest już w toku, ignorowanie nowego żądania.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "" "Znajdź gwiazdę: przetwarzanie...\n" "\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "Ta gwiazda została już wybrana!\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "" @@ -4277,7 +4263,7 @@ msgstr "Błąd w wyrównaniu warstw." #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:966 msgid "Registration complete." msgstr "Rejestracja zakończona." @@ -4323,9 +4309,9 @@ msgid "You must at least load two layers before!\n" msgstr "Musisz wczytać wcześniej przynajmniej dwie warstwy !\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:153 ../src/gui/wavelets.c:162 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4617 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "Ostrzeżenie" @@ -4357,91 +4343,91 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Ponowna regulacja warstwy %d do%g razy jasniej\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:391 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "Pomnożenie przez współczynnik mniejszy lub równy 0 nie jest możliwe.\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:414 #, c-format msgid "Entropy: %.3lf\n" msgstr "Entropia: %.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:450 msgid "Number of iterations must be > 0.\n" msgstr "Liczba iteracji musi być > 0.\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:455 msgid "Sigma must be > 0.\n" msgstr "Sigma musi być > 0.\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:495 ../src/core/command.c:998 msgid "Crop: x and y must be positive values.\n" msgstr "Przytnij: wartości x i y muszą być wartościami dodatnimi.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:499 ../src/core/command.c:1002 msgid "Crop: width and height must be greater than 0.\n" msgstr "Przytnij: szerokość i wysokość muszą być większe niż 0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:503 ../src/core/command.c:1039 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "Przytnij: szerokość i wysokość muszą być mniejsze niż %d oraz %d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:512 ../src/core/command.c:1011 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Przytnij: wybierz regionu lub podaj x, y, szerokość, wysokość\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:151 +#: ../src/core/command.c:598 ../src/core/command.c:2517 +#: ../src/gui/callbacks.c:4615 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:160 +#: ../src/core/command.c:604 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Wavelet: typ musi być %d lub %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:673 msgid "Cannot list files, set working directory first.\n" msgstr "Nie można wyświetlić listy plików, ustaw najpierw katalog roboczy.\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:679 ../src/core/command.c:688 msgid "Siril cannot open the directory.\n" msgstr "" "Siril nie może otworzyć katalogu.\n" "\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:710 #, fuzzy, c-format msgid "Link: %s\n" msgstr "Obraz: %s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:714 #, c-format msgid "Directory: %s\n" msgstr "Katalog: %s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:724 ../src/core/command.c:731 #, c-format msgid "Sequence: %s\n" msgstr "Sekwencja: %s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:727 ../src/core/command.c:729 #, c-format msgid "Image: %s\n" msgstr "Obraz: %s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:736 ../src/core/command.c:2496 msgid "********* END OF THE LIST *********\n" msgstr "********* KONIEC LISTY *********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:766 msgid "The scaling factor must be less than 5.0\n" msgstr "Współczynnik skalowania musi być mniejszy niż 5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:836 ../src/core/command.c:934 +#: ../src/core/command.c:956 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" @@ -4449,250 +4435,276 @@ "Bieżący wybór jest zbyt duży. Aby określić PSF, dokonaj wyboru wokół " "pojedynczej gwiazdy\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:840 ../src/core/command.c:938 +#: ../src/core/command.c:960 ../src/io/sequence.c:1564 msgid "Select an area first\n" msgstr "Najpierw wybierz obszar\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:846 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" msgstr "" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:862 ../src/core/command.c:917 +#: ../src/core/command.c:979 msgid "This command can be used only when a sequence is loaded\n" msgstr "Tego polecenia można użyć tylko po załadowaniu sekwencji\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:870 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "Uruchom najpierw PSF dla sekwencji (patrz seqpsf)\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:874 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " "each image\n" msgstr "" -#: ../src/core/command.c:878 +#: ../src/core/command.c:886 #, c-format msgid "FITS extension unknown: %s\n" msgstr "" -#: ../src/core/command.c:901 +#: ../src/core/command.c:909 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" msgstr "" -#: ../src/core/command.c:914 +#: ../src/core/command.c:922 msgid "Reference magnitude unset for sequence\n" msgstr "" -#: ../src/core/command.c:966 +#: ../src/core/command.c:974 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Uruchamianie PSF w załadowanej sekwencji, warstwa %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1025 ../src/core/command.c:1031 +#: ../src/core/command.c:1638 ../src/core/command.c:1644 +#: ../src/core/command.c:1880 ../src/core/command.c:1887 +#: ../src/core/command.c:2144 ../src/core/command.c:2286 +#: ../src/core/command.c:2359 ../src/core/command.c:2366 #, fuzzy, c-format -msgid "No sequence %s found.\n" +msgid "No sequence `%s' found.\n" msgstr "Nie wybrano sekwencji" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1060 #, c-format msgid "Background value: %d\n" msgstr "Wartość tła: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1115 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "Plik %s został utworzony dla warstwy %s.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1198 msgid "Number of layers MUST be 1 or 3\n" msgstr "Number of layers MUST be 1 or 3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1213 msgid "new empty image" msgstr "nowy pusty obraz" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1230 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "Wartości muszą być dodatnie i mniejsze niż %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1250 ../src/core/command.c:1511 msgid "Wrong parameters.\n" msgstr "" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1255 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1278 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "Znaleziono %d gwiazd w zdjęciu, kanał #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1292 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1300 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1305 ../src/core/command.c:1340 #, c-format msgid "Cannot open file: %s\n" msgstr "Nie można otworzyć pliku: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1401 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1409 msgid "There were some errors, please check your input file.\n" msgstr "Wystąpiły błędy, sprawdź plik wejściowy.\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1431 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "Rozmiar jądra MUSI być nieparzysty i większy niż 1.\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1436 msgid "Modulation value MUST be between 0 and 1\n" msgstr "Wartość modulacji MUSI być pomiędzy 0 i 1\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1459 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Współrzędne środka ciężkości wynoszą (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1574 msgid "FFT does not work with sequences\n" msgstr "FFT nie działa z sekwencjami\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1678 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Użyj tego polecenia aby wybrać obrazy w sekwencji, najpierw załaduj " "sekwencję.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1684 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "Pierwszy argument musi zawierać się pomiędzy 0 a liczbą obrazów minus " "jeden.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1718 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "" "Aktualizacja selekcji zakończona, %d obrazy zostały wybrane w sekwencji\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1737 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "" "Siril nie może podzielić warstw. Upewnij się, że obraz jest w trybie RGB.\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1781 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " "%0.1lf, Max: %0.1lf\n" msgstr "" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1811 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "Konwersja: błąd otwarcia katalogu roboczego %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1830 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "Konwersja: przetwarzanie...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1841 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "Konwersja: brak ustawienia katalogu roboczego.\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1900 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "Globalne wyrównanie gwiazdy (głębokie niebo)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -#, fuzzy -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "Za mało miejsca na dysku, aby wykonać operację Drizzle !!\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1961 ../src/registration/registration.c:920 #, c-format msgid "Registration: processing using method: %s\n" msgstr "" "Rejestracja: przetwarzanie przy użyciu metody:%s\n" "\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1980 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "" + +#: ../src/core/command.c:2000 ../src/core/command.c:2018 +#: ../src/core/command.c:2036 +#, fuzzy, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "" +"Zarejestruj: nie można załadować pierwszego obrazu do zarejestrowania, " +"przerwanie.\n" + +#: ../src/core/command.c:2007 ../src/core/command.c:2025 +#: ../src/core/command.c:2043 ../src/core/command.c:2056 +#, fuzzy, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Błąd podczas odczytu klatki %d z %s, przerwanie.\n" + +#: ../src/core/command.c:2062 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "" + +#: ../src/core/command.c:2066 +#, fuzzy, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Wybierz co najmniej dwie ramki do stackowania. Przerwanie.\n" + +#: ../src/core/command.c:2083 #, c-format msgid "Stacking sequence %s\n" msgstr "Sekwencja stackowania: %s\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2093 +#, fuzzy +msgid "Not using rejection for stacking\n" +msgstr "Skalowanie w górę dla stackowania" + +#: ../src/core/command.c:2136 #, c-format msgid "Could not save the stacking result %s\n" msgstr "" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2158 msgid "Looking for sequences in current working directory...\n" msgstr "Szukam sekwencji w bieżącym katalogu roboczym...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2160 msgid "Error while searching sequences or opening the directory.\n" msgstr "Error while searching sequences or opening the directory.\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2169 msgid "Starting stacking of found sequences...\n" msgstr "" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2177 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2217 ../src/core/command.c:2312 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" msgstr "" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2226 ../src/core/command.c:2321 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" +msgid "Stacking method type '%s' is invalid\n" msgstr "" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2257 #, fuzzy msgid "Stacked sequence successfully.\n" msgstr "Sekwencja stackowania: %s\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2430 ../src/gui/callbacks.c:3939 msgid "Preprocessing...\n" msgstr "Wstępne przetwarzanie ...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2455 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4700,84 +4712,107 @@ msgstr "" "Liczba procesorów logicznych MUSI być większa od 0 i mniejsza lub równa %d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2465 #, c-format msgid "Using now %d logical processors\n" msgstr "Używanie teraz %d procesorów logicznych\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2477 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" + +#: ../src/core/command.c:2481 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" + +#: ../src/core/command.c:2485 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "" + +#: ../src/core/command.c:2491 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* LISTA DOSTĘPNYCH POLECEŃ *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2572 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Nieznane polecenie: '%s' lub jeszcze nie zaimplementowane\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2579 #, c-format msgid "Usage: %s\n" msgstr "Wykorzystanie: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2586 #, fuzzy, c-format msgid "This command cannot be used in a script: %s\n" msgstr "Tego polecenia można użyć tylko po załadowaniu sekwencji\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2592 #, c-format msgid "Running command: %s\n" msgstr "" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2641 #, fuzzy, c-format -msgid "Error in line %d. Exiting batch processing\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Błąd w libraw %s\n" + +#: ../src/core/command.c:2642 +#, fuzzy +msgid "Exiting batch processing.\n" msgstr "Błąd w linii: %d.Przerywanie przetwarzania\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2661 msgid "Script execution finished successfully.\n" msgstr "" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2663 #, fuzzy msgid "Total execution time" msgstr "Lokalne odrzucenie" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2665 #, fuzzy msgid "Script execution failed.\n" msgstr "Normalizacja nie powiodła się." -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:482 +#: ../src/core/command.c:2691 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "Plik [%s] nie istnieje\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2699 ../src/gui/script_menu.c:182 #, fuzzy, c-format msgid "Starting script %s\n" msgstr "Rozpoczęcie stackowania…\n" -#: ../src/core/command.c:2603 +#: ../src/core/command.c:2706 #, fuzzy msgid "Command execution failed.\n" msgstr "Normalizacja nie powiodła się." -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2831 msgid "Can be used in a script: " msgstr "" -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2834 msgid "YES" msgstr "" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2836 msgid "NO" msgstr "" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2846 #, fuzzy msgid "No help for this command" msgstr "Wpisz 'pomoc' dla listy obsługiwanych poleceń" @@ -4847,7 +4882,12 @@ msgstr "" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" msgstr "" #: ../src/core/command_def.h:22 @@ -5045,8 +5085,10 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -5223,77 +5265,83 @@ "UNSETMAGSEQ" msgstr "" -#: ../src/core/command_def.h:93 +#: ../src/core/command_def.h:94 msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" msgstr "" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" msgstr "" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" msgstr "" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" msgstr "" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" msgstr "" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5301,7 +5349,7 @@ "reconstruction with WRECONS" msgstr "" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5313,13 +5361,47 @@ msgid "Loading init file: '%s'\n" msgstr "Ładuje plik startowy: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, fuzzy, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" +msgstr "Za mało miejsca na dysku, aby wykonać operację Drizzle !!\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" msgstr "" -"Przywrócenie bieżącego katalogu roboczego do katalogu startowego, zapisany " -"katalog nie jest już dostępny\n" + +#: ../src/core/OS_utils.c:394 ../src/core/OS_utils.c:397 +msgid "Open File" +msgstr "Otwórz plik" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "_Open" +msgstr "_Otwórz" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Cancel" +msgstr "_Anuluj" + +#: ../src/core/OS_utils.c:405 ../src/core/OS_utils.c:408 +#, fuzzy +msgid "Add Files" +msgstr "Pliki JPEG" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "_Add" +msgstr "" + +#: ../src/core/OS_utils.c:416 ../src/core/OS_utils.c:419 +msgid "Save File" +msgstr "Zapisz plik" + +#: ../src/core/OS_utils.c:417 ../src/core/OS_utils.c:420 +msgid "_Save" +msgstr "_Zapisz" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 #, fuzzy @@ -5330,203 +5412,287 @@ msgid "The named pipe file " msgstr "" -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 #, fuzzy msgid "Could not open the named pipe\n" msgstr "Nie można otworzyć pliku TIFF %s\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" msgstr "" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" msgstr "" -#: ../src/core/processing.c:62 +#: ../src/core/preprocess.c:151 +#, fuzzy, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "Optymalizacja dark: %.3lf\n" + +#: ../src/core/preprocess.c:186 +#, c-format +msgid "Normalisation value auto evaluated: %.2lf\n" +msgstr "Automatyczna ocena wartości normalizacji: %.2lf\n" + +#: ../src/core/preprocess.c:200 +#, fuzzy +msgid "" +"Darkmap cosmetic correction is only supported with single channel images\n" +msgstr "" +"Korekcja kosmetyczna Darkmap jest obsługiwana tylko w przypadku obrazów " +"jednokanałowych\n" + +#: ../src/core/preprocess.c:267 +#, fuzzy +msgid "Preprocessing" +msgstr "Wstępne przetwarzanie" + +#: ../src/core/preprocess.c:290 +#, c-format +msgid "Pre-processing image %s" +msgstr "Wstępne przetwarzanie obrazu %s" + +#: ../src/core/preprocess.c:308 +#, c-format +msgid "Saving image %s" +msgstr "Zapisywanie obrazu %s" + +#: ../src/core/processing.c:61 +#, fuzzy +msgid "No image selected for processing, aborting\n" +msgstr "" +"Nie wybrano klatek do stackowania (wybierz co najmniej 2). Przerwanie.\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "Przygotowanie przetwarzania sekwencji nie powiodło się.\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": przetwarzanie...\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Przetwarzanie obrazu %d (% s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "Przetwarzanie sekwencji nie powiodło się. Sprawdź dziennik." -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "" "Przetwarzanie sekwencji nie powiodło się.\n" "\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 #, fuzzy msgid "Sequence processing partially succeeded. Check the log." msgstr "Przetwarzanie sekwencji nie powiodło się. Sprawdź dziennik." -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " "were temporarily excluded from the sequence.\n" msgstr "" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "Przetwarzanie sekwencji zakończone sukcesem." -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "" "Przetwarzanie sekwencji zakończono sukcesem.\n" "\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "" "Finalizowanie przetwarzania sekwencji nie powiodło się.\n" "\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:435 msgid "Process aborted by user\n" msgstr "Proces przerwany przez użytkownika\n" -#: ../src/core/siril.c:164 -#, c-format -msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" msgstr "" -#: ../src/core/siril.c:211 +#: ../src/core/sequence_filtering.c:200 +#, fuzzy, c-format +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Odznaczono wszystkie obrazy z sekwencji\n" + +#: ../src/core/sequence_filtering.c:208 #, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "Obrazy nie mają tego samego rozmiaru (w =%d|%d, h =%d|%d)\n" +msgid "Using star FWHM images filter (below %f)\n" +msgstr "" -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:381 ../src/gui/plot.c:441 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "Błąd" +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "" -#: ../src/core/siril.c:249 +#: ../src/core/sequence_filtering.c:224 #, c-format -msgid "" -"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" -"%d)\n" +msgid "Using image quality filter (below %f)\n" msgstr "" -#: ../src/core/siril.c:337 -msgid "Unsharp: processing...\n" -msgstr "Rozmycie: przetwarzanie...\n" +#: ../src/core/sequence_filtering.c:251 +msgid "" +"Provided filtering options do not allow at least two images to be " +"processed.\n" +msgstr "" -#: ../src/core/siril.c:587 -msgid "Could not compute normalization values for the images, aborting.\n" +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" msgstr "" +"Obraz odniesienia nie znajduje się w wybranym zbiorze obrazów. Aby uniknąć " +"problemów, zmień go lub zmień parametry filtrowania.\n" -#: ../src/core/siril.c:753 +#: ../src/core/sequence_filtering.c:291 #, fuzzy, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "Optymalizacja dark: %.3lf\n" +msgid "Using image %d as temporary reference image\n" +msgstr "Wyświetl obraz referencyjny" -#: ../src/core/siril.c:836 +#: ../src/core/sequence_filtering.c:330 #, c-format -msgid "Normalisation value auto evaluated: %.2lf\n" -msgstr "Automatyczna ocena wartości normalizacji: %.2lf\n" +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" +msgstr "" -#: ../src/core/siril.c:843 -#, c-format -msgid "Pre-processing image %s" -msgstr "Wstępne przetwarzanie obrazu %s" +#: ../src/core/sequence_filtering.c:367 +#, fuzzy, c-format +msgid "Processing all images in the sequence (%d)\n" +msgstr "" +"Stackowanie wszystkich obrazów w sekwencji (%d)\n" +"\n" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 -#, fuzzy -msgid "" -"Darkmap cosmetic correction is only supported with single channel images\n" +#: ../src/core/sequence_filtering.c:370 +#, fuzzy, c-format +msgid "Processing only selected images in the sequence (%d)\n" msgstr "" -"Korekcja kosmetyczna Darkmap jest obsługiwana tylko w przypadku obrazów " -"jednokanałowych\n" +"Stackowanie wszystkich obrazów w sekwencji (%d)\n" +"\n" + +#: ../src/core/sequence_filtering.c:373 +#, fuzzy, c-format +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "Stackowanie obrazów z sekwencji o jakości wyższej lub równej %g (%d)\n" + +#: ../src/core/sequence_filtering.c:378 +#, fuzzy, c-format +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "Stackowanie obrazów z sekwencji o jakości wyższej lub równej %g (%d)\n" + +#: ../src/core/sequence_filtering.c:383 +#, fuzzy, c-format +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "Stackowanie obrazów z sekwencji o jakości wyższej lub równej %g (%d)\n" -#: ../src/core/siril.c:895 +#: ../src/core/sequence_filtering.c:388 #, c-format -msgid "Saving image %s" -msgstr "Zapisywanie obrazu %s" +msgid "Processing images whose output don't already exist (%d)" +msgstr "" + +#: ../src/core/sequence_filtering.c:405 +#, fuzzy, c-format +msgid "for a total of images processed of %d)\n" +msgstr "Przetworzono %d obrazów.\n" -#: ../src/core/siril.c:944 +#: ../src/core/siril.c:161 #, c-format -msgid "Loading and pre-processing image %d/%d (%s)" -msgstr "Ładowanie i wstępne przetwarzanie obrazu%d/%d (%s)" +msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" +msgstr "" -#: ../src/core/siril.c:950 +#: ../src/core/siril.c:203 #, c-format -msgid "Could not read one of the raw files: %s. Aborting preprocessing." +msgid "" +"addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" +"%d)\n" +msgstr "" + +#: ../src/core/siril.c:293 +msgid "Unsharp: processing...\n" +msgstr "Rozmycie: przetwarzanie...\n" + +#: ../src/core/siril.c:543 +msgid "Could not compute normalization values for the images, aborting.\n" msgstr "" -"Nie można odczytać jednego z plików RAW: %s. Przerwanie przetwarzania " -"wstępnego." -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:675 #, fuzzy, c-format msgid "Extracting %s..." msgstr "Ekstrakcja" -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:718 #, fuzzy msgid "Median Filter: processing...\n" msgstr "Filtr mediany" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:727 #, fuzzy msgid "Median filter failed" msgstr "Filtr mediany" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:795 #, fuzzy msgid "Median filter applied" msgstr "Filtr mediany" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:872 msgid "Banding Reducing: processing...\n" msgstr "Redukcja Banding: przetwarzanie…\n" # background noise instead "backgroundnoise" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1041 msgid "backgroundnoise: Error, no data computed\n" msgstr "szum tła: Błąd, brak danych\n" # Background noise written seperate -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1051 msgid "backgroundnoise: does not converge\n" msgstr "" "szum tła: nie konwerguje\n" "\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1081 msgid "Noise standard deviation: calculating...\n" msgstr "Odchylenie standardowe szumu: obliczanie ...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1101 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "Wartość szumu tła (kanał: #%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1116 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Dekonwolucja Lucy-Richardsona: przetwarzanie ...\n" +#: ../src/core/siril_log.c:72 +#, fuzzy +msgid "Log files (*.log)" +msgstr "Pliki SER (*.ser)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "" @@ -5574,196 +5740,139 @@ msgid "File I/O Error: Unable to write swap file in %s: [%s]\n" msgstr "" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "Nieznany błąd\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "Brak takiego pliku lub katalogu\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "\"% s\" nie jest katalogiem\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2903 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "Nie masz uprawnień do zapisu w tym katalogu: %s\n" -#: ../src/core/utils.c:373 +#: ../src/core/utils.c:318 #, c-format msgid "Setting CWD (Current Working Directory) to '%s'\n" msgstr "Ustawienie CWD (bieżący katalog roboczy) na '%s'\n" -#: ../src/core/utils.c:380 +#: ../src/core/utils.c:321 #, c-format msgid "Could not change directory to '%s'.\n" msgstr "Nie można zmienić katalogu na '% s'.\n" -#: ../src/core/utils.c:799 +#: ../src/core/utils.c:488 msgid "Filename is too long, not expanding it\n" msgstr "Nazwa pliku jest za długa, a nie jest rozszerzana\n" -#: ../src/core/utils.c:983 -#, c-format -msgid "Checking GTK version ... GTK-%d.%d\n" -msgstr "Sprawdzanie wersji GTK ... GTK-%d.%d\n" - -#: ../src/core/utils.c:1006 -#, c-format -msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" -msgstr "Wersja GTK nie spełnia wymagań: (GTK-%d.%d)\n" - -#: ../src/core/utils.c:1012 -#, c-format -msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -msgstr "" -"Nie można załadować pliku arkusza stylu CSS: %s. Zainstaluj ponownie %s\n" - -#: ../src/core/utils.c:1022 ../src/main.c:270 -#, c-format -msgid "Successfully loaded '%s'\n" -msgstr "Pomyślnie załadowano '%s'\n" - -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "Gwiazdy muszą mieć te same jednostki." - -#: ../src/gui/PSF_list.c:171 -#, c-format -msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" -msgstr "" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "Gwiazda %d z %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "Pliki FITS (*.fit, *.fits, *.fts)" - -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "Pliki RAW DSLR" - -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "Pliki graficzne (* .bmp" +#: ../src/core/utils.c:603 +#, c-format +msgid "Checking GTK version ... GTK-%d.%d\n" +msgstr "Sprawdzanie wersji GTK ... GTK-%d.%d\n" -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Pliki NetPBM (*.ppm, *.pnm, *.pgm)" +#: ../src/core/utils.c:626 +#, c-format +msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" +msgstr "Wersja GTK nie spełnia wymagań: (GTK-%d.%d)\n" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "Pliki IRIS PIC (*.pic)" +#: ../src/core/utils.c:632 +#, c-format +msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" +msgstr "" +"Nie można załadować pliku arkusza stylu CSS: %s. Zainstaluj ponownie %s\n" -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "Pliki SER (*.ser)" +#: ../src/core/utils.c:642 ../src/main.c:221 +#, c-format +msgid "Successfully loaded '%s'\n" +msgstr "Pomyślnie załadowano '%s'\n" -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "Pliki filmowe (* .avi, * .mpg, ...)" +#. translator names +#: ../src/gui/about_dialog.c:37 +msgid "" +"Cyril Richard \n" +"Vincent Hourdin " +msgstr "Michał Powałko " -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "Otwórz plik" +#: ../src/gui/about_dialog.c:48 +#, fuzzy +msgid "About Siril" +msgstr "O siril" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "_Otwórz" +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "Program przetwarzania obrazu astronomicznego" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "_Anuluj" +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "Odwiedź stronę internetową Siril" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:800 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "Obraz %d został wyłączonyz sekwencji\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:810 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "Obraz %d został wybrany z sekwencji\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:844 msgid "Selected all images from sequence\n" msgstr "Wybrano wszystkie obrazy z sekwencji\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:848 msgid "Unselected all images from sequence\n" msgstr "Odznaczono wszystkie obrazy z sekwencji\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1057 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1100 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1206 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1209 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1218 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "<%s.seq>: %d obrazów wybranych z %d, bez obrazu odniesienia" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1221 #, c-format msgid "%s, %d images selected" msgstr "Wybrano %s, %d zdjęć" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "No sequence" msgstr "Brak sekwencji" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1226 #, c-format msgid "- none -" msgstr "- żaden -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1309 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" @@ -5771,89 +5880,104 @@ "przerysuj: maksymalna liczba obsługiwanych warstw to%d (bieżący obraz ma " "%d).\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1609 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: wybór jest zbyt duży" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1611 #, c-format msgid "fwhm: no selection" msgstr "fwhm: brak wyboru" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1636 #, c-format msgid "%s (channel 0)" msgstr "%s (kanał 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1641 #, c-format msgid "%s (channel 1)" msgstr "%s (kanał 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1645 #, c-format msgid "%s (channel 2)" msgstr "%s (kanał 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1672 msgid "Unassigned" msgstr "Nieprzypisany" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1698 #, fuzzy, c-format msgid "%d: not affected yet" msgstr "Ten binning nie jest jeszcze obsługiwany\n" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1838 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Nieznana wartość powiększenia, jaki jest bieżące powiększenie?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1924 #, fuzzy msgid "B&W channel" msgstr "Kanał czerwony" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1957 +#, fuzzy, c-format +msgid "%d file loaded" +msgstr "Wczytano %d plików" + +#: ../src/gui/callbacks.c:1959 #, c-format msgid "%d files loaded" msgstr "Wczytano %d plików" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1964 +#, fuzzy, c-format +msgid "%d file selected, %s" +msgstr "Wczytano %d plików" + +#: ../src/gui/callbacks.c:1966 +#, fuzzy, c-format +msgid "%d files selected, %s" +msgstr "Wczytano %d plików" + +#: ../src/gui/callbacks.c:2108 #, c-format msgid "Mem: %ldMB" msgstr "Pamięć: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2110 #, c-format msgid "Mem: N/A" msgstr "Pamięć: Niedostępna" -#: ../src/gui/callbacks.c:2325 -#, c-format -msgid "Disk Space: %.0lf%s" +#: ../src/gui/callbacks.c:2118 +#, fuzzy, c-format +msgid "Disk Space: %s" msgstr "Miejsce na dysku: %.0lf%s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2121 #, c-format msgid "Disk Space: N/A" msgstr "Miejsce na dysku: N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2183 msgid "This binning is not handled yet\n" msgstr "Ten binning nie jest jeszcze obsługiwany\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2716 ../src/gui/callbacks.c:2717 #, c-format msgid "ERROR" msgstr "" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2729 #, c-format msgid "Cold: %ld px" msgstr "" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2730 ../src/gui/callbacks.c:2742 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." @@ -5861,52 +5985,52 @@ "Ta wartość może być za wysoka. Proszę rozważyć zmianę wartości sigma lub " "odznaczenie tego pola." -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2733 #, c-format msgid "Cold: %ld px" msgstr "Zimny :%ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2741 #, c-format msgid "Hot: %ld px" msgstr "" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2745 #, fuzzy, c-format msgid "Hot: %ld px" msgstr "dx:%+*.2f px\n" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 #, fuzzy msgid "Closing application" msgstr "Kalibracja kolorów" -#: ../src/gui/callbacks.c:3070 +#: ../src/gui/callbacks.c:2985 #, fuzzy msgid "Are you sure you want to quit?" msgstr "Czy na pewno chcesz zakończyć?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3659 #, c-format msgid "new zoom value: %f\n" msgstr "nowa wartość powiększenia: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3698 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3700 #, c-format msgid "undefined" msgstr "niezdefiniowany" -#: ../src/gui/callbacks.c:3767 +#: ../src/gui/callbacks.c:3796 #, fuzzy msgid "Exclude all images ?" msgstr "Wyklucz wszystkie" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 +#: ../src/gui/callbacks.c:3797 ../src/gui/callbacks.c:3807 #, fuzzy msgid "This erases previous image selection and there's no possible undo." msgstr "" @@ -5914,105 +6038,92 @@ "  (to skasuje poprzedni wybór obrazu\n" "  ... i nie ma odwrotu)" -#: ../src/gui/callbacks.c:3777 +#: ../src/gui/callbacks.c:3806 #, fuzzy msgid "Include all images ?" msgstr "Uwzględnij wszystkie" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3826 +msgid "Opening offset image..." +msgstr "Otwieranie obrazu przesunięcia..." + +#: ../src/gui/callbacks.c:3830 +#, fuzzy +msgid "NOT USING OFFSET: number of channels is different" +msgstr "BEZ Użycia PRZESUNIĘCIA: liczba kanałów jest inna" + +#: ../src/gui/callbacks.c:3833 +#, fuzzy +msgid "NOT USING OFFSET: image dimensions are different" +msgstr "BEZ Użycia PRZESUNIĘCIA: liczba kanałów jest inna" + +#: ../src/gui/callbacks.c:3838 +msgid "NOT USING OFFSET: cannot open the file\n" +msgstr "NOT USING OFFSET: cannot open the file\n" + +#: ../src/gui/callbacks.c:3858 #, fuzzy msgid "Opening dark image..." msgstr "Błąd otwarcia pliku BMP.\n" -#: ../src/gui/callbacks.c:3802 -msgid "NOT USING DARK: cannot open the file\n" -msgstr "BRAK UŻYCIA DARK: nie można otworzyć pliku\n" - -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3862 msgid "NOT USING DARK: number of channels is different" msgstr "" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3865 +#, fuzzy +msgid "NOT USING DARK: image dimensions are different" +msgstr "BEZ Użycia PRZESUNIĘCIA: liczba kanałów jest inna" + +#: ../src/gui/callbacks.c:3870 +msgid "NOT USING DARK: cannot open the file\n" +msgstr "BRAK UŻYCIA DARK: nie można otworzyć pliku\n" + +#: ../src/gui/callbacks.c:3897 #, fuzzy msgid "Opening flat image..." msgstr "Błąd otwarcia pliku BMP.\n" -#: ../src/gui/callbacks.c:3850 -msgid "NOT USING FLAT: cannot open the file\n" -msgstr "NOT USING FLAT: cannot open the file\n" - -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3901 msgid "NOT USING FLAT: number of channels is different" msgstr "" -#: ../src/gui/callbacks.c:3884 -msgid "Opening offset image..." -msgstr "Otwieranie obrazu przesunięcia..." - -#: ../src/gui/callbacks.c:3887 -msgid "NOT USING OFFSET: cannot open the file\n" -msgstr "NOT USING OFFSET: cannot open the file\n" - -#: ../src/gui/callbacks.c:3894 +#: ../src/gui/callbacks.c:3904 #, fuzzy -msgid "NOT USING OFFSET: number of channels is different" +msgid "NOT USING FLAT: image dimensions are different" msgstr "BEZ Użycia PRZESUNIĘCIA: liczba kanałów jest inna" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:3909 +msgid "NOT USING FLAT: cannot open the file\n" +msgstr "NOT USING FLAT: cannot open the file\n" + +#: ../src/gui/callbacks.c:3996 #, fuzzy msgid "Error in preprocessing." msgstr "Wstępne przetwarzanie ...\n" -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4061 #, fuzzy, c-format msgid "Selected %s sequence %s..." msgstr "Wybrano %s, %d zdjęć" -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4130 msgid "Searching for sequences in the current working directory..." msgstr "Wyszukiwanie sekwencji w bieżącym katalogu roboczym..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "" -"Tło nie może zostać wyodrębnione z samego siebie. Proszę kliknąć Show Image\n" - -#: ../src/gui/callbacks.c:4395 -#, fuzzy -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "zastosować korektę na obrazie, klikając przycisk Pokaż obraz\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "Odejmowanie wykonane…\n" - -#: ../src/gui/callbacks.c:4424 -#, fuzzy -msgid "Division done ...\n" -msgstr "Dzielenie" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "Najpierw załaduj obraz, proces przerwany.\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "Plik 'stars.lst' został utworzony.\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 +#: ../src/gui/callbacks.c:4417 ../src/gui/callbacks.c:4465 #, fuzzy msgid "Current selection is too large" msgstr "fwhm: wybór jest zbyt duży" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 +#: ../src/gui/callbacks.c:4418 ../src/gui/callbacks.c:4466 #, fuzzy msgid "To determine the PSF, please make a selection around a star." msgstr "" "Bieżące zaznaczenie jest zbyt duże.\n" "Aby określić PSF, dokonaj wyboru wokół gwiazdy.\n" -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4430 #, c-format msgid "" "Centroid Coordinates:\n" @@ -6039,36 +6150,115 @@ "\t\tRMSE=%.3e" msgstr "" -#: ../src/gui/callbacks.c:4734 +#: ../src/gui/callbacks.c:4447 #, fuzzy msgid "PSF for the sequence only applies on sequences" msgstr "Uruchom najpierw PSF dla sekwencji (patrz seqpsf)\n" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4448 msgid "Please load a sequence before trying to apply the PSF for the sequence." msgstr "" -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4512 msgid "FFT does not work with sequences !\n" msgstr "FFT nie działa z sekwencjami !\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4518 msgid "Open an image first !\n" msgstr "Najpierw otwórz obraz !\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4539 msgid "Select magnitude and phase before !\n" msgstr "" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +#, fuzzy +msgid "Gray channel" +msgstr "Kanał zielony" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" msgstr "" -#: ../src/gui/plot.c:183 ../src/gui/plot.c:640 +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "Pliki FITS (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "Pliki RAW DSLR" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "Pliki graficzne (* .bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Pliki NetPBM (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "Pliki IRIS PIC (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "Pliki SER (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "Pliki filmowe (* .avi, * .mpg, ...)" + +#: ../src/gui/open_dialog.c:191 +#, fuzzy +msgid "All supported files" +msgstr "Obsługiwane typy plików:" + +#: ../src/gui/photometric_cc.c:84 +#, fuzzy +msgid "Photometric Color Calibration" +msgstr "Kalibracja kolorów..." + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "" + +#: ../src/gui/photometric_cc.c:285 +#, fuzzy, c-format +msgid "%d stars excluded from the calculation.\n" +msgstr "obraz %d zostnanie wykluczony z eksportu\n" + +#: ../src/gui/photometric_cc.c:288 +msgid "No valid stars found.\n" +msgstr "" + +#: ../src/gui/photometric_cc.c:432 +#, fuzzy, c-format +msgid "Normalizing on %s channel.\n" +msgstr "Normalizacja została pominięta.\n" + +#: ../src/gui/photometric_cc.c:432 +#, fuzzy +msgid "red" +msgstr "Czerwony" + +#: ../src/gui/photometric_cc.c:432 +#, fuzzy +msgid "green" +msgstr "Zielony" + +#: ../src/gui/photometric_cc.c:432 +msgid "blue" +msgstr "" + +#: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "Klatki" -#: ../src/gui/plot.c:278 +#: ../src/gui/plot.c:279 #, fuzzy msgid "" "Please consider to install it before trying to plot a graph of a variable " @@ -6077,78 +6267,130 @@ "Gnuplot jest niedostępny. Rozważ zainstalowanie go przed próbą wyświetlenia " "diagramu zmiennej gwiazdy.\n" -#: ../src/gui/plot.c:281 +#: ../src/gui/plot.c:282 #, fuzzy msgid "Gnuplot is unavailable" msgstr "Niedostępne" -#: ../src/gui/plot.c:377 +#: ../src/gui/plot.c:379 #, c-format msgid "%s has been saved.\n" msgstr "%s został zapisany.\n" -#: ../src/gui/plot.c:378 ../src/gui/plot.c:439 +#: ../src/gui/plot.c:380 ../src/gui/plot.c:441 msgid "Information" msgstr "Informacja" -#: ../src/gui/plot.c:382 ../src/gui/plot.c:442 +#: ../src/gui/plot.c:384 ../src/gui/plot.c:444 msgid "Something went wrong while saving plot" msgstr "Coś poszło nie tak podczas zapisywania diagramu" -#: ../src/gui/plot.c:438 +#: ../src/gui/plot.c:440 #, c-format msgid "%s.csv has been saved.\n" msgstr "%s.csv został zapisany.\n" -#: ../src/gui/plot.c:566 +#: ../src/gui/plot.c:568 msgid "Quality" msgstr "Jakość" -#: ../src/gui/plot.c:722 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "Okrągłość gwiazdy (1 = okrągła)" -#: ../src/gui/plot.c:732 +#: ../src/gui/plot.c:736 #, fuzzy msgid "Star magnitude (absolute)" msgstr "Obserwuj ruch gwiazdy" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "" -#: ../src/gui/plot.c:737 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "Wartość tła" -#: ../src/gui/plot.c:740 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "Pozycja gwiazdy na osi X" -#: ../src/gui/plot.c:743 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "Pozycja gwiazdy na osi Y" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 #, fuzzy msgid "Execution time" msgstr "Czas wykonania: %.2f s.\n" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, fuzzy, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "Czas wykonania: %d min % 2d s.\n" + +#: ../src/gui/progress_and_log.c:263 +#, fuzzy, c-format +msgid "%s: %d min %02d s.\n" +msgstr "Czas wykonania: %d min % 2d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, fuzzy, c-format +msgid "%s: %.2lf ms.\n" +msgstr "Czas wykonania: %d min % 2d s.\n" + +#: ../src/gui/progress_and_log.c:269 #, fuzzy, c-format -msgid "%s: %d min %.2d s.\n" +msgid "%s: %.2lf s.\n" msgstr "Czas wykonania: %d min % 2d s.\n" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "Gwiazdy muszą mieć te same jednostki." + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %.2f ms.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" msgstr "" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:233 +#, fuzzy +msgid "Average Star Data" +msgstr "Średnia neutralna" + +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f s.\n" +msgid "%d stars" msgstr "" +#: ../src/gui/PSF_list.c:266 +#, c-format +msgid "Star %d of %d" +msgstr "Gwiazda %d z %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "Plik 'stars.lst' został utworzony.\n" + +#: ../src/gui/PSF_list.c:318 +#, fuzzy +msgid "Star list file (*.lst)" +msgstr "Pliki SER (*.ser)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "Najpierw załaduj obraz, proces przerwany.\n" + #: ../src/gui/registration_preview.c:66 #, c-format msgid "Preview %d" @@ -6160,71 +6402,68 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 #, fuzzy msgid "BMP Files (*.bmp)" msgstr "Pliki BMP" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 #, fuzzy msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "Pliki filmowe (* .avi, * .mpg, ...)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 #, fuzzy msgid "PNG Files (*.png)" msgstr "Pliki IRIS PIC (*.pic)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 #, fuzzy msgid "TIFF Files (*.tif, *.tiff)" msgstr "Pliki FITS (*.fit, *.fits, *.fts)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:508 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "Zapisz BMP" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:466 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 #, fuzzy msgid "Saving PNG" msgstr "Zapisiwanie JPG" # NetPBM ? -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:487 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "Zapisywanie NetPBM" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:528 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "Zapisiwanie JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:444 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "Zapisywanie TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:420 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 #, fuzzy msgid "Saving FITS" msgstr "Zapisywanie TIFF" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_Zapisz" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "Zapisz plik" +#: ../src/gui/save_dialog.c:298 +#, fuzzy +msgid "File saving failed. Check the logs for more info." +msgstr "Przetwarzanie sekwencji nie powiodło się. Sprawdź dziennik." -#: ../src/gui/save_dialog.c:386 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "Ten typ pliku nie jest obsługiwany. Nie powinno się zdarzyć" -#: ../src/gui/script_menu.c:215 +#: ../src/gui/script_menu.c:220 #, fuzzy, c-format -msgid "Searching scripts in: %s...\n" +msgid "Searching scripts in: \"%s\"...\n" msgstr "Rozpoczęcie stackowania…\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, fuzzy, c-format msgid "Loading script: %s\n" msgstr "Ładuje plik startowy: '%s'\n" @@ -6237,16 +6476,16 @@ msgid "Please go to %d)\n" msgstr "Wczytana sekwencja: %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d z %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "Nie można załadować obrazu %d z sekwencji %s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Nie można załadować klatki %d z sekwencji SER %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Nie można załadować klatki %d z sekwencji AVI %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Nie można załadować częściowego obrazu %d z sekwencji %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "Ta operacja nie jest obsługiwana w sekwencjach AVI (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "Ta operacja nie jest obsługiwana w wewnętrznych sekwencjach " "(seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1129 #, c-format msgid "Closing sequence %s\n" msgstr "Sekwencja zamykania: %s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1234 msgid "internal sequence" msgstr "wewnętrzna sekwencja" -#: ../src/io/sequence.c:1288 +#: ../src/io/sequence.c:1315 #, fuzzy msgid "Processing..." msgstr "Wstępne przetwarzanie ...\n" -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1441 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "" "Nie znaleziono gwiazdy w obszarze %d wokoło %d,%d (użyć większego obszaru?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1445 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" @@ -6983,7 +7246,7 @@ "Nie znaleziono gwiazdy w obszarze %d wokoło %d,%d (użyj opcji 'śledź " "gwiazdę'?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1494 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" @@ -6991,7 +7254,7 @@ "Analiza gwiazdy nie daje spójnych wyników, gdy ekspozycja zmienia się w " "sekwencji.\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1568 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -7000,7 +7263,7 @@ "wycentrowany względem poprzedniej znalezionej gwiazdy; to wyłącza " "przetwarzanie równoległe.\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1570 #, fuzzy msgid "" "The sequence analysis of the PSF will use registration data to move the " @@ -7010,17 +7273,17 @@ "wycentrowany względem poprzedniej znalezionej gwiazdy; to wyłącza " "przetwarzanie równoległe.\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1592 msgid "PSF on area" msgstr "PSF na obszarze" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "" "Używanie informacji o rejestracji z warstwy %d do eksportowania sekwencji\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -7028,7 +7291,7 @@ "Zapis do formatu MP4 nie jest obsługiwany, ponieważ Siril nie został " "skompilowany z obsługą ffmpeg.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -7036,44 +7299,44 @@ "Wyjście filmu musi mieć szerokość, która jest wielokrotnością 32 i parzystą " "wysokość, zmiana rozmiaru zaznaczenia\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "obraz %d zostnanie wykluczony z eksportu\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:389 msgid "Processing image " msgstr "Przetwarzanie obrazu " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" msgstr "Eksport: nie można odczytać klatki, anulowani\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "Eksport sekwencji nie powiódł się. Sprawdź dziennik." -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 #, fuzzy msgid "Sequence export failed\n" msgstr "Normalizacja nie powiodła się." -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 #, fuzzy msgid "Sequence export succeeded." msgstr "Sekwencja:" -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 #, fuzzy msgid "Sequence export succeeded.\n" msgstr "Sekwencja:" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "" "Szerokość lub wysokość nie może być zerowa. Rozmiar nie zostanie zmieniony.\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "Kadrowanie do zaznaczenia" @@ -7116,79 +7379,70 @@ "Zapisywanie do plików SER z ponad 16-bitowych obrazów FITS nie zostało " "jeszcze zaimplementowane\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "Sekwencja SER jest tworzona bez obrazu.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" msgstr "" "Utworzono plik SER %s\n" "\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "Ten rodzaj wzoru Bayera nie jest jeszcze obsługiwany.\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "Dla obrazy po debayer, warstwa musi być R, G lub B (0 do 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "Brak pamięci - przerwanie\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "Próbujesz dodać obraz o różnej wielkości w SER\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "" "Błąd podczas otwierania obrazu %s: plik nie został znaleziony lub nie jest " "obsługiwany.\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "Otwarcie %s nie powiodło się.\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 +#: ../src/io/single_image.c:179 ../src/io/single_image.c:185 #, fuzzy msgid "Error opening file" msgstr "Błąd otwarcia pliku BMP.\n" -#: ../src/io/single_image.c:179 +#: ../src/io/single_image.c:180 #, fuzzy msgid "This file could not be opened because its extension is not supported." msgstr "" "Tego pliku nie można otworzyć, ponieważ jego rozszerzenie nie jest " "obsługiwane.\n" -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:186 msgid "" "There was an error when opening this image. See the log for more information." msgstr "" "Wystąpił błąd podczas otwierania tego obrazu. Zobacz dziennik, aby uzyskać " "więcej informacji." -#: ../src/main.c:250 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "nieznany parametr wiersza poleceń '%c'\n" - -#: ../src/main.c:274 +#: ../src/main.c:225 #, fuzzy, c-format msgid "%s. Looking into another directory...\n" msgstr "Katalog: %s\n" -#: ../src/main.c:280 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "" @@ -7197,30 +7451,36 @@ #: ../src/main.c:301 #, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "nieznany parametr wiersza poleceń '%c'\n" + +#: ../src/main.c:328 +#, c-format msgid "Welcome to %s v%s\n" msgstr "Witaj w %s v%s\n" -#: ../src/main.c:371 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "" "Nie można załadować lub utworzyć pliku ustawień. Wychodzę.\n" "\n" #. Get CPU number and set the number of threads -#: ../src/main.c:419 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "Przetwarzanie równoległe %s: użycie procesorów logicznych %d.\n" -#: ../src/main.c:421 +#: ../src/main.c:373 msgid "enabled" msgstr "włączony" -#: ../src/main.c:423 +#: ../src/main.c:375 msgid "disabled" msgstr "wyłączony" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 #, fuzzy msgid "Deconvoltuion applied" msgstr "Dekonwolucja" @@ -7235,135 +7495,135 @@ "Siril cannot perform the registration without date information in the file." msgstr "" -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "" "Nie można załadować obrazu referencyjnego\n" "\n" -#: ../src/registration/comet.c:300 +#: ../src/registration/comet.c:301 #, fuzzy msgid "Moving object registration" msgstr "Rejestracja obrazu" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "Przeliczenie już istniejącej rejestracji dla tej warstwy\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "Obraz odniesienia:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, fuzzy, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "Znaleziono %d gwiazd w zdjęciu, kanał #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "" "W obrazie referencyjnym nie ma wystarczającej liczby gwiazd, aby wykonać " "wyrównanie\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "Obraz odniesienia: Ograniczanie do%d najjaśniejszych gwiazd\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 -#, c-format -msgid "FWHMx:%*.2f px\n" +#: ../src/registration/global.c:145 ../src/registration/global.c:461 +#, fuzzy, c-format +msgid "FWHMx:%*.2f %s\n" msgstr "FWHMx:%*.2f px\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 -#, c-format -msgid "FWHMy:%*.2f px\n" +#: ../src/registration/global.c:146 ../src/registration/global.c:462 +#, fuzzy, c-format +msgid "FWHMy:%*.2f %s\n" msgstr "FWHMy:%*.2f px\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "Klatka %d:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, fuzzy, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "Znaleziono %d gwiazd w zdjęciu, kanał #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "Za mało gwiazd. Obraz %d został pominięty\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:230 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "Obraz docelowy: ograniczenie do%d najjaśniejszych gwiazd\n" -#: ../src/registration/global.c:248 +#: ../src/registration/global.c:246 #, fuzzy, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" msgstr "" "Nie można przeprowadzić dopasowywania gwiazd. Obraz %d został pominięty\n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:337 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "Rejestracja zakończona.\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:338 #, c-format msgid "%d images processed.\n" msgstr "Przetworzono %d obrazów.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:340 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Łącznie: %d nieudanych, %d zarejestrowane.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:350 msgid "Registration aborted.\n" msgstr "Rejestracja została anulowana.\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:376 #, fuzzy msgid "Global star registration" msgstr "Ręczna rejestracja" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:439 #, fuzzy, c-format msgid "Matching stars in image %d: done\n" msgstr "Dopasowane gwiazd: gotowe\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:448 #, c-format msgid "scaleX:%*.3f\n" msgstr "skalaX:%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:449 #, c-format msgid "scaleY:%*.3f\n" msgstr "skalaY:%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:450 #, c-format msgid "scale:%*.3f\n" msgstr "skala:%*.3f\n" -#: ../src/registration/global.c:456 -#, c-format -msgid "rotation:%+*.2f deg\n" +#: ../src/registration/global.c:454 +#, fuzzy, c-format +msgid "rotation:%+*.3f deg\n" msgstr "obrót:%+*.2f stopnia\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:459 #, c-format msgid "dx:%+*.2f px\n" msgstr "dx:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:460 #, c-format msgid "dy:%+*.2f px\n" msgstr "dy:%+*.2f px\n" @@ -7427,85 +7687,85 @@ "image." msgstr "" -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "Rejestracja jednej gwiazdy (głębokie niebo)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "Wyrównanie wzoru obrazu (planeta / pełny dysk)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "Zwiększony współczynnik korelacji (planety - powierzchnie)" -#: ../src/registration/registration.c:109 +#: ../src/registration/registration.c:110 #, fuzzy msgid "Comet/Asteroid Registration" msgstr "Ręczna rejestracja" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "Dodano metodę rejestracji: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" msgstr "Zarejestruj DFT: ładowanie i przetwarzanie klatki referencyjnej" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" msgstr "" "Zarejestruj: nie można załadować pierwszego obrazu do zarejestrowania, " "przerwanie.\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 #, fuzzy, c-format msgid "Register: processing image %s" msgstr "Rejestracja: przetwarzanie obrazu %s\n" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "Najlepsza klatka: #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" msgstr "" "Rejestracja PSF: nie udało się obliczyć PSF przynajmniej dla ramki " "referencyjnej\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "Najlepsza klatka: #%d z fwhm =%3g.\n" -#: ../src/registration/registration.c:575 +#: ../src/registration/registration.c:571 #, c-format msgid "Cannot perform ECC alignment for frame %d\n" msgstr "Nie można wykonać wyrównania ECC dla ramki %d\n" -#: ../src/registration/registration.c:628 +#: ../src/registration/registration.c:623 #, c-format msgid "%d frames were excluded.\n" msgstr "%d klatki(a) zostały wykluczone.\n" -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 msgid "Select images in the sequence." msgstr "Wybierz obrazy w sekwencji." -#: ../src/registration/registration.c:730 +#: ../src/registration/registration.c:726 msgid "Select an area in image first, and select images in the sequence." msgstr "Najpierw wybierz obszar na obrazie, potem wybierz zdjęcia w sekwencji." -#: ../src/registration/registration.c:736 +#: ../src/registration/registration.c:732 msgid "Select an area in image first." msgstr "Najpierw wybierz obszar na obrazie." -#: ../src/registration/registration.c:861 +#: ../src/registration/registration.c:858 msgid "" "All prerequisites are not filled for registration. Select a rectangle " "first.\n" @@ -7513,187 +7773,180 @@ "Wszystkie wymagania wstępne do rejestracji nie zostały spełnione. Najpierw " "wybierz prostokąt.\n" -#: ../src/registration/registration.c:896 -msgid "Not enough disk space" -msgstr "" - -#: ../src/stacking/normalization.c:105 -msgid "Computing normalization...\n" -msgstr "Przetwarzanie normalizacji…\n" +#: ../src/stacking/median_and_mean.c:44 +#, fuzzy, c-format +msgid "Opening image %s for stacking" +msgstr "Najpierw otwórz obraz !\n" -#: ../src/stacking/normalization.c:116 -msgid "" -"The reference image is not in the selected set of images. Please choose " -"another reference image.\n" +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" msgstr "" -"Obraz odniesienia nie znajduje się w wybranym zbiorze obrazów. Wybierz inny " -"obraz referencyjny.\n" -#: ../src/stacking/normalization.c:118 +#: ../src/stacking/median_and_mean.c:73 #, fuzzy -msgid "Normalization skipped.\n" -msgstr "Normalizacja została pominięta.\n" +msgid "Stacking error: input images have different sizes\n" +msgstr "Próbujesz dodać obraz o różnej wielkości w SER\n" -#: ../src/stacking/normalization.c:131 -msgid "Normalization failed." -msgstr "Normalizacja nie powiodła się." +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "" -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" msgstr "" +"Super-piksel nie jest jeszcze obsługiwany dla stackowania SER w locie\n" -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 -msgid "Select at least two frames for stacking. Aborting.\n" -msgstr "Wybierz co najmniej dwie ramki do stackowania. Przerwanie.\n" +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" -#: ../src/stacking/stacking.c:140 +#: ../src/stacking/median_and_mean.c:195 #, c-format -msgid "Median stack: opening image %s" +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "" + +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" msgstr "" +"Znaleziono błąd. Nie można podzielić obszaru obrazu na odpowiednie bloki " +"przetwarzania.\n" + +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "Błąd podczas odczytu jednego z obszarów obrazu\n" -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" +#: ../src/stacking/normalization.c:102 +#, c-format +msgid "" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" msgstr "" -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" msgstr "" -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +#: ../src/stacking/normalization.c:128 +msgid "Computing normalization...\n" +msgstr "Przetwarzanie normalizacji…\n" + +#: ../src/stacking/normalization.c:136 +msgid "" +"The reference image is not in the selected set of images. Please choose " +"another reference image.\n" msgstr "" -"Super-piksel nie jest jeszcze obsługiwany dla stackowania SER w locie\n" +"Obraz odniesienia nie znajduje się w wybranym zbiorze obrazów. Wybierz inny " +"obraz referencyjny.\n" + +#: ../src/stacking/normalization.c:144 ../src/stacking/normalization.c:157 +msgid "Normalization failed." +msgstr "Normalizacja nie powiodła się." + +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:581 +msgid "Select at least two frames for stacking. Aborting.\n" +msgstr "Wybierz co najmniej dwie ramki do stackowania. Przerwanie.\n" #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:153 ../src/stacking/stacking.c:629 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Twoja wersja cfitsio nie obsługuje wielowątkowości\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:162 ../src/stacking/stacking.c:638 msgid "Processing the sequence as RGB\n" msgstr "Przetwarzanie sekwencji jako RGB\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "" -"Znaleziono błąd. Nie można podzielić obszaru obrazu na odpowiednie bloki " -"przetwarzania.\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:205 ../src/stacking/stacking.c:703 msgid "Starting stacking...\n" msgstr "Rozpoczęcie stackowania…\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:206 #, fuzzy msgid "Median stacking in progress..." msgstr "Filtr mediany" -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "Błąd podczas odczytu jednego z obszarów obrazu\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:298 ../src/stacking/stacking.c:473 +#: ../src/stacking/stacking.c:981 msgid "Finalizing stacking..." msgstr "Finalizowanie stackowania..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:327 msgid "Median stacking failed. Check the log." msgstr "" -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:328 ../src/stacking/stacking.c:494 +#: ../src/stacking/stacking.c:1024 #, fuzzy msgid "Stacking failed.\n" msgstr "Normalizacja nie powiodła się." -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:330 #, fuzzy msgid "Median stacking complete." msgstr "Rejestracja zakończona." -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:331 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:368 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "" "Nie wybrano klatek do stackowania (wybierz co najmniej 2). Przerwanie.\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:397 #, fuzzy msgid "Stacking: could not read frame, aborting\n" msgstr "Eksport: nie można odczytać klatki, anulowani\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:420 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:493 msgid "Stacking failed. Check the log." msgstr "" -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:496 msgid "Stacking complete." msgstr "Stackowanie zakończone." -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:599 msgid "Rejection stack error: uninitialized sequence\n" msgstr "" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:704 #, fuzzy msgid "Rejection stacking in progress..." msgstr "Bez odrzucenia" -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:985 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "Odrzucanie pikseli w kanale #%d:%.3lf%% -% .3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1023 msgid "Rejection stacking failed. Check the log." msgstr "" -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1026 #, fuzzy msgid "Rejection stacking complete." msgstr "Rejestracja zakończona." -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1040 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -7702,57 +7955,57 @@ "before stacking, or to stack with the \"sum\" method.\n" msgstr "" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1118 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1124 msgid "Stacking: processing...\n" msgstr "Stackowanie: przetwarzanie…\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1138 #, c-format msgid "Integration of %d images:\n" msgstr "Integracja %d obrazów:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... average\n" msgstr "Połączenie pikseli ......... średnie\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... normalized sum\n" msgstr "Kombinacja pikseli ......... znormalizowana suma\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... median\n" msgstr "" "Połączenie pikseli ......... mediana\n" "\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1148 msgid "Pixel combination ......... minimum\n" msgstr "Połączenie pikseli ......... minimum\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1150 msgid "Pixel combination ......... maximum\n" msgstr "Połączenie pikseli ......... maksimum\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1152 msgid "Pixel combination ......... none\n" msgstr "Połączenie pikseli ......... brak\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1158 ../src/stacking/stacking.c:1163 +#: ../src/stacking/stacking.c:1192 msgid "none" msgstr "żaden" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1166 #, fuzzy msgid "additive" msgstr "Maska addytywna" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1169 #, fuzzy msgid "multiplicative" msgstr "" @@ -7763,166 +8016,422 @@ "winietowanie lub zróżnicowana absorpcja atmosferyczna. Jednak tego rodzaju " "operacja powinna być wykonana przez korektę master-flat." -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1172 #, fuzzy msgid "additive + scaling" msgstr "Maska addytywna" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1175 msgid "multiplicative + scaling" msgstr "multiplikatywne + skalowanie" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1180 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalizacja ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1184 msgid "Pixel rejection ........... none\n" msgstr "Odrzucanie pikseli ........... brak\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1185 msgid "Rejection parameters ...... none\n" msgstr "Parametry odrzucania ...... brak\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1195 #, fuzzy msgid "percentile clipping" msgstr "Przycinanie cieni" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1198 #, fuzzy msgid "sigma clipping" msgstr "Przycinanie cieni" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1201 #, fuzzy msgid "median sigma clipping" msgstr "Przycinanie cieni" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1204 #, fuzzy msgid "Winsorized sigma clipping" msgstr "Przycinanie cieni" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1207 #, fuzzy msgid "linear fit clipping" msgstr ".fit" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1210 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "Odrzucanie pikseli ...........%s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1211 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Parametry odrzucania ...... niska =% 3f wysoka =%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1258 #, fuzzy msgid "Stacking result image" msgstr "Zapisz wynik do pliku:" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1281 ../src/stacking/stacking.c:1286 #, fuzzy msgid "Unsaved stacking result" msgstr "Zapisz wynik do pliku:" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1409 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"Obraz odniesienia nie znajduje się w wybranym zbiorze obrazów. Aby uniknąć " -"problemów, zmień go lub zmień parametry filtrowania.\n" - -#: ../src/stacking/stacking.c:1935 +#: ../src/stacking/stacking.c:1657 #, fuzzy, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "Wyświetl obraz referencyjny" +msgid "Stacking %d images of the %d of the sequence" +msgstr "" +"Stackowanie wszystkich obrazów w sekwencji (%d)\n" +"\n" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:93 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" msgstr "" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:100 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" msgstr "" -"Błąd w najwyższej jakości zaakceptowany do przetwarzania sekwencji: niektóre " -"obrazy nie mają tego rodzaju informacji dostępnych dla kanału #%d.\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" +#: ../src/stacking/upscaling.c:137 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" msgstr "" -"Stackowanie wszystkich obrazów w sekwencji (%d)\n" -"\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "" +#: ../src/stacking/upscaling.c:170 +msgid "Up-scaling sequence for stacking" +msgstr "Skalowanie w górę dla stackowania" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "" +#~ msgid "Loading and pre-processing image %d/%d (%s)" +#~ msgstr "Ładowanie i wstępne przetwarzanie obrazu%d/%d (%s)" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "Na podstawie FWHM < % 2f (%d obrazów)" +#~ msgid "Could not read one of the raw files: %s. Aborting preprocessing." +#~ msgstr "" +#~ "Nie można odczytać jednego z plików RAW: %s. Przerwanie przetwarzania " +#~ "wstępnego." -#: ../src/stacking/stacking.c:2180 -#, fuzzy, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "Stackowanie obrazów z sekwencji o jakości wyższej lub równej %g (%d)\n" +#, fuzzy +#~ msgid "Size of the annulus for background level measurement" +#~ msgstr "Rozmiar pierścienia dla pomiaru poziomu tła (pikseli):" -#: ../src/stacking/stacking.c:2186 -#, fuzzy, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "Na podstawie jakości > % 2f (%d obrazów)" +#, fuzzy +#~ msgid "Normalization skipped.\n" +#~ msgstr "Normalizacja została pominięta.\n" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "" +#~ msgid "" +#~ "The memory used corresponds to this value times the total of available " +#~ "memory.\n" +#~ "WARNING: Reducing the ratio of memory allocated to computation will " +#~ "degrade performances." +#~ msgstr "" +#~ "Wykorzystana pamięć odpowiada tej wartości pomnożonej o ilość całkowitej " +#~ "dostępnej pamięci.\n" +#~ "OSTRZEŻENIE: Zmniejszenie stosunku pamięci przydzielonej do obliczeń " +#~ "pogorszy wydajność." -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "Stackowanie obrazów z sekwencji o jakości wyższej lub równej %g (%d)\n" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "obrazy wcześniej ręcznie wybrane z sekwencji" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "Na podstawie jakości > % 2f (%d obrazów)" +#, fuzzy +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "" +#~ "najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych (PSF)" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "Na podstawie jakości" +#, fuzzy +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "" +#~ "najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych (PSF)" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "Skalowanie w górę dla stackowania" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "" +#~ "najlepsze obrazy, automatycznie wybierane z danych rejestracyjnych " +#~ "(Planety)" + +#~ msgid "Based on FWHM" +#~ msgstr "Na podstawie FWHM" + +#~ msgid "Stack best:" +#~ msgstr "Stackowanie najlepszych:" + +#~ msgid "%" +#~ msgstr "%" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "" +#~ "Błąd w najwyższej jakości zaakceptowany do przetwarzania sekwencji: " +#~ "niektóre obrazy nie mają tego rodzaju informacji dostępnych dla kanału #" +#~ "%d.\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "Na podstawie FWHM < % 2f (%d obrazów)" + +#, fuzzy +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "Na podstawie jakości > % 2f (%d obrazów)" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "Na podstawie jakości > % 2f (%d obrazów)" + +#~ msgid "Based on quality" +#~ msgstr "Na podstawie jakości" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "Informacja" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Normal" +#~ msgstr "Normalny" + +#, fuzzy +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "Faza obrazu: " + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "OSTRZEŻENIE: te pola są automatycznie odczytane z pliku FITS podczas " +#~ "otwierania, a ustawienie ich tutaj będzie działać tylko dla aktualnie " +#~ "załadowanego pliku." + +#~ msgid "Camera and Optics" +#~ msgstr "Aparat oraz optyka" + +#~ msgid "Camera & Optics" +#~ msgstr "Kamera i optyka" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Przywrócenie bieżącego katalogu roboczego do katalogu startowego, " +#~ "zapisany katalog nie jest już dostępny\n" + +#~ msgid "BMP images, " +#~ msgstr "Obrazy BMP, " + +#~ msgid "autoStretch" +#~ msgstr "automatyczne rozciąganie" + +#~ msgid "Negative view" +#~ msgstr "Widok negatywny" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +# Missing "e" in the word Managment: +# "Memory Management" +#~ msgid "Memory Managment" +#~ msgstr "Zarządzanie pamięcią" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "Korzystanie z ciemnego motywu GTK\n" +#~ "(może wymagać ponownego uruchomienia)" + +# Dark theme and the bright text should be thought readible, or not ? +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "Niektóre dialogi z Siril mają niestandardowe jasne kolory. Ciemny motyw, " +#~ "w którym tekst również jest jasny, jest nieczytelny. Sprawdzenie tutaj " +#~ "zmieni te niestandardowe kolory na ciemne." + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "Stosunek dostępnej pamięci: " + +#~ msgid "Siril message" +#~ msgstr "Komunikat Siril" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "Obrazy nie mają tego samego rozmiaru (w =%d|%d, h =%d|%d)\n" + +#, fuzzy +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "Jeśli to pole jest zaznaczone, Siril postara się zapewnić kompatybilność " +#~ "KSTARS (i PixInsight), odczytując obraz FITS w kolejności od góry." + +#~ msgid "Manual" +#~ msgstr "Ręczny" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "Musisz kliknąć na obrazek, aby wybrać własne próbki tła." + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril automatycznie pobiera próbki tła." + +#~ msgid "Clear background samples." +#~ msgstr "Usuń próbki tła." + +#~ msgid "Draw samples" +#~ msgstr "Narysuj próbki" + +#~ msgid "Type of Extraction" +#~ msgstr "Rodzaj ekstrakcji" + +#, fuzzy +#~ msgid "Box radius:" +#~ msgstr "Promień: " + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "" +#~ "Jest to odległość w pikselach pomiędzy dwoma sąsiadującymi polami próbek " +#~ "tła." + +#, fuzzy +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "" +#~ "jest to promień w pikselach pudełka próbki tła. Pomnóż przez 2, aby " +#~ "otrzymac długość pola." + +#~ msgid "Sample Generation" +#~ msgstr "Generowanie próbek" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "" +#~ "Ten parametr wskazuje tolerancję lokalnego odrzucania próbki w " +#~ "jednostkach sigma." + +#~ msgid "Local Rejection" +#~ msgstr "Lokalne odrzucenie" + +#~ msgid "Deviation: " +#~ msgstr "Odchylenie: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "Tolerancja odrzucania próbki globalnej w jednostkach sigma." + +#~ msgid "Unbalance:" +#~ msgstr "Brak równowagi:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "" +#~ "Jest to współczynnik pomnożony przez parametr odchylenia, aby uwzględnić " +#~ "więcej ciemnych pikseli w ocenie tła." + +#~ msgid "Global Rejection" +#~ msgstr "Globalne odrzucenie" + +#, fuzzy +#~ msgid "This is the number of sample box in a row." +#~ msgstr "Jest to numer przykładowego pudełka z rzędu." + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "" +#~ "Jest to współczynnik pomnożony przez parametr odchylenia, aby uwzględnić " +#~ "więcej ciemnych pikseli w ocenie tła" + +#~ msgid "Interpolation" +#~ msgstr "Interpolacja" + +#~ msgid "Show Image" +#~ msgstr "Pokaż obraz" + +#~ msgid "Click on this button to show the image." +#~ msgstr "Kliknij ten przycisk, aby wyświetlić obraz." + +#~ msgid "Show Background" +#~ msgstr "Pokaż tło" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "Kliknij ten przycisk, aby wyświetlić obliczone tło." + +#, fuzzy +#~ msgid "Compute" +#~ msgstr "To obliczy syntetyczne tło." + +#~ msgid "Apply" +#~ msgstr "Zastosuj" + +#~ msgid "This will apply the selected correction." +#~ msgstr "To zastosuje wybraną korekcję." + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "Numer kanału %d: Wykonano ekstrakcję tła.\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "Ekstrakcja tła: przetwarzanie...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "Niewystarczające próbki tła.\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "" +#~ "Tło nie może zostać wyodrębnione z samego siebie. Proszę kliknąć Show " +#~ "Image\n" + +#, fuzzy +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "zastosować korektę na obrazie, klikając przycisk Pokaż obraz\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "Odejmowanie wykonane…\n" + +#, fuzzy +#~ msgid "Division done ...\n" +#~ msgstr "Dzielenie" + +#, fuzzy +#~ msgid "Star detection" +#~ msgstr "Wykrywanie gwiazd" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2018 team free-astro" #~ msgid "Vertical Zoom" #~ msgstr "Powiększenie w pionie" @@ -8004,9 +8513,6 @@ #~ msgid "File not found" #~ msgstr "Nie znaleziono pliku" -#~ msgid "JPEG Files" -#~ msgstr "Pliki JPEG" - #~ msgid "TIFF Files" #~ msgstr "Pliki TIFF" @@ -8017,27 +8523,6 @@ #~ msgstr "Pliki NetPBM" #~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "Michał Powałko " - -#~ msgid "About siril" -#~ msgstr "O siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "Program przetwarzania obrazu astronomicznego" - -#~ msgid "Visit the Siril website" -#~ msgstr "Odwiedź stronę internetową Siril" - -#~ msgid "" #~ "Include all images ?\n" #~ " (this erases previous image selection\n" #~ " ... and there's no undo)" diff -Nru siril-0.9.10/po/POTFILES.in siril-0.9.11/po/POTFILES.in --- siril-0.9.10/po/POTFILES.in 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/POTFILES.in 2019-05-27 09:16:07.000000000 +0000 @@ -2,14 +2,14 @@ # Please keep this file in alphabetical order; run ./sort-potfiles # after adding files here. Next line MUST always be here (it is not sorted) [type: gettext/glade]src/gui/siril3.glade -src/algos/PSF.c +src/algos/background_extraction.c src/algos/colors.c src/algos/cosmetic_correction.c src/algos/demosaicing.c src/algos/fft.c -src/algos/gradient.c src/algos/photometry.c src/algos/plateSolver.c +src/algos/PSF.c src/algos/quality.c src/algos/reconstr.c src/algos/rgradient.c @@ -22,18 +22,25 @@ src/core/command.c src/core/command_def.h src/core/initfile.c +src/core/OS_utils.c src/core/pipe.c +src/core/preprocess.c src/core/processing.c +src/core/sequence_filtering.c src/core/siril.c +src/core/siril_log.c src/core/siril_update.c src/core/undo.c src/core/utils.c -src/gui/PSF_list.c +src/gui/about_dialog.c src/gui/callbacks.c src/gui/histogram.c src/gui/message_dialog.c +src/gui/open_dialog.c +src/gui/photometric_cc.c src/gui/plot.c src/gui/progress_and_log.c +src/gui/PSF_list.c src/gui/registration_preview.c src/gui/saturation.c src/gui/save_dialog.c @@ -57,6 +64,9 @@ src/registration/comet.c src/registration/global.c src/registration/registration.c +src/stacking/median_and_mean.c src/stacking/normalization.c src/stacking/stacking.c src/stacking/sum.c +src/stacking/upscaling.c + diff -Nru siril-0.9.10/po/zh_CN.po siril-0.9.11/po/zh_CN.po --- siril-0.9.10/po/zh_CN.po 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/po/zh_CN.po 2019-05-27 09:16:07.000000000 +0000 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: Siril 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-02 13:38+0100\n" -"PO-Revision-Date: 2018-05-29 09:04+0800\n" +"POT-Creation-Date: 2019-04-19 10:37+0200\n" +"PO-Revision-Date: 2019-05-06 18:04+0800\n" "Last-Translator: yecloud@me.com\n" "Language-Team: astronomy.com.cn \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.7\n" +"X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/gui/siril3.glade.h:1 @@ -209,84 +209,83 @@ msgstr "单星对齐(深空)" #: ../src/gui/siril3.glade.h:45 -msgid "Rotate 90 degrees, counter-clockwise" -msgstr "逆时针旋转90度" - -#: ../src/gui/siril3.glade.h:46 msgid "" "List of images in the sequence, with their state and quality information. " "Quality is FWHM when PSF registration is used, so lower is better, and " "gradient estimator for DFT registration, higher is better. X and Y columns " "are the translation relative to the reference image." msgstr "" -"列出队列中图像的状态和品质信息。品质是基于PSF检测所得的FWHM值,故越小越好;梯" -"度评估是基于离散傅里叶变换得到的,故越大越好。X和Y两列为该图像相对于参考图像" -"的平移。" +"列出队列中图像的状态和品质信息。PSF对齐时使用FWHM,故越小越好;DFT对齐时使用" +"渐变梯度,故越大越好。X和Y两列为该图像相对于参考图像的平移。" -#: ../src/gui/siril3.glade.h:47 +#: ../src/gui/siril3.glade.h:46 msgid "file" msgstr "文件" -#: ../src/gui/siril3.glade.h:48 +#: ../src/gui/siril3.glade.h:47 msgid "X" msgstr "X" -#: ../src/gui/siril3.glade.h:49 +#: ../src/gui/siril3.glade.h:48 msgid "Y" msgstr "Y" -#: ../src/gui/siril3.glade.h:50 +#: ../src/gui/siril3.glade.h:49 msgid "sel" msgstr "选中" -#: ../src/gui/siril3.glade.h:51 +#: ../src/gui/siril3.glade.h:50 msgid "quality" msgstr "品质" #. no color, undefined value is <0 -#: ../src/gui/siril3.glade.h:52 ../src/gui/callbacks.c:70 +#: ../src/gui/siril3.glade.h:51 ../src/gui/callbacks.c:71 msgid "Red" msgstr "红色" -#: ../src/gui/siril3.glade.h:53 +#: ../src/gui/siril3.glade.h:52 msgid "current red file" msgstr "当前红色文件" -#: ../src/gui/siril3.glade.h:54 ../src/compositing/compositing.c:456 -#: ../src/gui/callbacks.c:2152 +#: ../src/gui/siril3.glade.h:53 ../src/compositing/compositing.c:456 +#: ../src/gui/callbacks.c:1922 ../src/gui/histogram.c:197 msgid "Red channel" msgstr "红色通道" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:55 ../src/gui/callbacks.c:71 +#: ../src/gui/siril3.glade.h:54 ../src/gui/callbacks.c:72 msgid "Green" msgstr "绿色" -#: ../src/gui/siril3.glade.h:56 +#: ../src/gui/siril3.glade.h:55 msgid "current green file" msgstr "当前绿色文件" -#: ../src/gui/siril3.glade.h:57 +#: ../src/gui/siril3.glade.h:56 msgid "Green channel" msgstr "绿色通道" #. approx. of the middle of the color -#: ../src/gui/siril3.glade.h:58 ../src/gui/callbacks.c:72 +#: ../src/gui/siril3.glade.h:57 ../src/gui/callbacks.c:73 msgid "Blue" msgstr "蓝色" -#: ../src/gui/siril3.glade.h:59 +#: ../src/gui/siril3.glade.h:58 msgid "The value stored in pointed pixels will appear here." msgstr "鼠标划过处的像素值在此显示。" -#: ../src/gui/siril3.glade.h:60 +#: ../src/gui/siril3.glade.h:59 msgid "current blue file" msgstr "当前蓝色文件" -#: ../src/gui/siril3.glade.h:61 +#: ../src/gui/siril3.glade.h:60 msgid "Blue channel" msgstr "蓝色通道" +#: ../src/gui/siril3.glade.h:61 +msgid "Rotate 90 degrees, counter-clockwise" +msgstr "逆时针旋转90度" + #: ../src/gui/siril3.glade.h:62 msgid "Rotate 90 degrees, clockwise" msgstr "顺时针旋转90度" @@ -308,8 +307,8 @@ msgstr "显示/隐藏队列中的文件以及相关数据" #: ../src/gui/siril3.glade.h:67 -msgid "Negative view" -msgstr "负片视图" +msgid "Switch to normal and negative view" +msgstr "切换标准/负片视图" #: ../src/gui/siril3.glade.h:68 msgid "Switch to normal and rainbow colormap (false color rendering)" @@ -396,513 +395,503 @@ msgid "User" msgstr "自定义" -#: ../src/gui/siril3.glade.h:87 -msgid "Background Extraction" -msgstr "背景提取" +#: ../src/gui/siril3.glade.h:87 ../src/algos/plateSolver.c:93 +msgid "Image Plate Solver" +msgstr "图像解析" #: ../src/gui/siril3.glade.h:88 msgid "Close the window." msgstr "关闭窗口。" #: ../src/gui/siril3.glade.h:89 -msgid "Polynomial Interpolation" -msgstr "多项式插值" +msgid "Start the plate solving algorithm." +msgstr "开始图像解析。" #: ../src/gui/siril3.glade.h:90 -msgid "Manual" -msgstr "手动" +msgid "Start the photometric color calibration algorithm." +msgstr "开始光度计色彩校准。" #: ../src/gui/siril3.glade.h:91 -msgid "You must click on the picture to pick your own background samples." -msgstr "必须点击图像以选择自定义的背景取样。" +msgid "Initial equatorial coordinates. Input value must be inside the image." +msgstr "初始化赤道坐标校准。输入值必须在图像范围之内。" #: ../src/gui/siril3.glade.h:92 -msgid "Automatic" -msgstr "自动" +msgid "0" +msgstr "0" #: ../src/gui/siril3.glade.h:93 -msgid "Siril picks background samples automatically." -msgstr "Siril自动选择背景取样。" +msgid "Right Ascension: " +msgstr "赤经: " #: ../src/gui/siril3.glade.h:94 -msgid "Clear background samples." -msgstr "清除背景取样。" +msgid "Declination: " +msgstr "赤纬: " #: ../src/gui/siril3.glade.h:95 -msgid "Draw samples" -msgstr "绘制取样" +msgid "S" +msgstr "S" #: ../src/gui/siril3.glade.h:96 -msgid "Type of Extraction" -msgstr "提取的类型" +msgid "This button is checked for negative declination (southern hemisphere)." +msgstr "此开关用于负值赤纬(南半球)。" #: ../src/gui/siril3.glade.h:97 -msgid "Box radius:" -msgstr "格子半径:" +msgid "" +"Enter the identifier or the name of the object which must be in the image." +msgstr "请输入目标的编号或者名称,此目标必须位于图像中。" #: ../src/gui/siril3.glade.h:98 -msgid "Box separation: " -msgstr "格子间隔: " - -#: ../src/gui/siril3.glade.h:99 -msgid "" -"This is the distance in pixels between two adjacent background sample boxes." -msgstr "相邻的背景样本格子之间的距离(像素)。" +msgid "Start searching." +msgstr "开始检索。" #: ../src/gui/siril3.glade.h:100 +#, no-c-format msgid "" -"This is the radius in pixels of a background sample box. Multiply by 2 to " -"have the length of a box." -msgstr "背景样本格子的半径(像素)。格子的边长为其两倍。" +"Effective focal length of the optical system in millimeter. Even if the " +"input value has not to be very accurate, try to give a value with an error " +"not exceeding 20%." +msgstr "" +"光学系统的有效焦距(毫米)。如果具体值不确定,请尝试输入一个误差不超过20%的估" +"值。" #: ../src/gui/siril3.glade.h:101 -msgid "Sample Generation" -msgstr "生成样本" +msgid "Pixel size in micrometer. The image is assumed to have square pixels." +msgstr "像素尺寸(微米),假定为正方形像素单元。" #: ../src/gui/siril3.glade.h:102 -msgid "Tolerance: " -msgstr "容差: " +msgid "Focal distance (mm):" +msgstr "焦距(毫米):" #: ../src/gui/siril3.glade.h:103 -msgid "" -"This parameter indicates the tolerance of local sample rejection, in sigma " -"units." -msgstr "用于局部样本剔除的容差值(sigma)" +msgid "Pixel size (µm):" +msgstr "像素尺寸(微米):" #: ../src/gui/siril3.glade.h:104 -msgid "Local Rejection" -msgstr "局部剔除" +msgid "Resolution: " +msgstr "分辨率: " #: ../src/gui/siril3.glade.h:105 -msgid "Deviation: " -msgstr "偏差: " +msgid "" +"The resolution of the image that is automatically determined from the focal " +"and pixel size value." +msgstr "通过焦距和像素尺寸计算而得的图像分辨率。" #: ../src/gui/siril3.glade.h:106 -msgid "Tolerance of global sample rejection, in sigma units." -msgstr "用于全局样本剔除的容差值(sigma)" +msgid "Get Metadata From Image" +msgstr "获取图像元数据" #: ../src/gui/siril3.glade.h:107 -msgid "Unbalance:" -msgstr "失衡:" +msgid "" +"Click on this button to get focal and pixel size value from the header of " +"the file if they exist." +msgstr "点此按钮以从文件头获取焦距和像素尺寸信息(如果存在的话)。" #: ../src/gui/siril3.glade.h:108 -msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation." -msgstr "此因子乘以偏差值,用于在背景评估中囊括更多的暗调像素。" +msgid "Resolver" +msgstr "解析" #: ../src/gui/siril3.glade.h:109 -msgid "Global Rejection" -msgstr "全局剔除" +msgid "Name" +msgstr "名称" #: ../src/gui/siril3.glade.h:110 -msgid "Samples per row: " -msgstr "每行样本数: " +msgid "Image Parameters" +msgstr "图像参数" #: ../src/gui/siril3.glade.h:111 -msgid "This is the number of sample box in a row." -msgstr "每行中的样本格子数。" +msgid "Catalogue Limit Mag: " +msgstr "星表极限星等: " #: ../src/gui/siril3.glade.h:112 msgid "" -"This is the factor multiplied by the deviation parameter in order to include " -"more dark pixels in the background evaluation" -msgstr "此因子乘以偏差值,用于在背景评估中囊括更多的暗调像素" +"Maximum star magnitude used in the catalog queries. Wider is the field, " +"lower is the value." +msgstr "星表的极限星等。视场越大,数值越小。" #: ../src/gui/siril3.glade.h:113 -msgid "Degree Order: " -msgstr "有序度: " +msgid "Auto" +msgstr "自动" #: ../src/gui/siril3.glade.h:114 msgid "" -"Choose the degree order of the polynomial function used in the fit.\n" -"By default the value is of 4.\n" -"The higher the degree order is, the stronger the gradient can be remove." -msgstr "" -"选择拟合时所用的多项式函数的有序度。\n" -"缺省值为4。\n" -"有序度越高,则越强的渐变将被去除。" +"The limit magnitude is automatically determined using the approximation of " +"the Field Of View." +msgstr "以近似估算的视野来自动选择极限星等。" -#: ../src/gui/siril3.glade.h:117 -msgid "Interpolation" -msgstr "插值" - -#: ../src/gui/siril3.glade.h:118 -msgid "Show Image" -msgstr "显示图像" - -#: ../src/gui/siril3.glade.h:119 -msgid "Click on this button to show the image." -msgstr "点击按钮显示图像。" - -#: ../src/gui/siril3.glade.h:120 -msgid "Show Background" -msgstr "显示背景" - -#: ../src/gui/siril3.glade.h:121 -msgid "Click on this button to show the background computed." -msgstr "点击按钮显示估算出的背景。" +#: ../src/gui/siril3.glade.h:115 +msgid "Online Star Catalogue: " +msgstr "在线星表: " -#: ../src/gui/siril3.glade.h:122 +#: ../src/gui/siril3.glade.h:116 msgid "" -"Choose the type of correction you want apply:\n" -"Subtraction: it is mainly used to correct additive effects, such as " -"gradients caused by light pollution or by the Moon.\n" -"Division: it is mainly used to correct multiplicative phenomena, such as " -"vignetting or differential atmospheric absorption for example. However, this " -"kind of operation should be done by master-flat correction." +"Choose the online catalogue against one want to compare the image.\n" +"* TYCHO-2 catalogue contains positions, proper motions, and two-color " +"photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" +"* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " +"astrometric solution, positions on the sky (α, δ), parallaxes, and proper " +"motions, are given for more than 1.3 billion sources, with a limiting " +"magnitude of G = 21.\n" +"* PPMXL is a catalog of positions, proper motions, 2MASS- and optical " +"photometry of 900 million stars and galaxies.\n" +"* The Bright Star Catalogue is a star catalogue that lists all stars of " +"stellar magnitude 6.5 or brighter, which is roughly every star visible to " +"the naked eye from Earth. The catalog contains 9,110 objects." msgstr "" -"选择要应用的修正方式:\n" -"减法: 主要用于修正累加效应,例如光害和月光引起的渐变。\n" -"除法: 主要用于修正乘性现象,例如渐晕或者大气吸收之差异。不过此类操作理应靠平" -"场来修正。" +"选择以下在线星表用于图像解析。\n" +"* TYCHO-2 catalogue contains positions, proper motions, and two-color " +"photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" +"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-" +"Blue 6, and USNO-B catalogs for astrometry and optical photometry, " +"supplemented by 2MASS near-infrared. The almost 100 GB dataset contains " +"astrometric and photometric data for about 1.1 billion stars.\n" +"* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " +"astrometric solution, positions on the sky (α, δ), parallaxes, and proper " +"motions, are given for more than 1.3 billion sources, with a limiting " +"magnitude of G = 21.\n" +"* PPMXL is a catalog of positions, proper motions, 2MASS- and optical " +"photometry of 900 million stars and galaxies.\n" +"* The Bright Star Catalogue is a star catalogue that lists all stars of " +"stellar magnitude 6.5 or brighter, which is roughly every star visible to " +"the naked eye from Earth. The catalog contains 9,110 objects." + +#: ../src/gui/siril3.glade.h:122 +msgid "" +"The online catalogue is automatically determined using the approximation of " +"the Field Of View and magnitude." +msgstr "以近似估算的视野和星等来自动选择在线星表。" + +#: ../src/gui/siril3.glade.h:123 +msgid "Catalogue Parameters" +msgstr "星表参数" + +#: ../src/gui/siril3.glade.h:124 +msgid "Manual detection" +msgstr "手动侦测" #: ../src/gui/siril3.glade.h:125 -msgid "Subtraction" -msgstr "减法" +msgid "" +"Check this option if you want to pick each stars manually. It could be " +"useful in some cases where Siril can't find enough stars. Please, try to " +"choose the brightest stars in the image." +msgstr "" +"此选项用于手动选择星点。当Siril无法自动找到足够的星点时可以使用该功能。请尽量" +"选取图像中较亮的星点。" #: ../src/gui/siril3.glade.h:126 -msgid "Division" -msgstr "除法" +msgid "Star Detection" +msgstr "星点侦测" #: ../src/gui/siril3.glade.h:127 -msgid "Correction" -msgstr "修正" +msgid "Automatic detection" +msgstr "自动侦测" #: ../src/gui/siril3.glade.h:128 -msgid "Compute" -msgstr "计算" +msgid "" +"Uncheck this button if you want to select the background reference by " +"yourself. It could be useful when nebulae almost cover the whole image." +msgstr "" +"取消此选项用于手动选择参考背景。当星云几乎布满整个图像时可以使用该功能。" #: ../src/gui/siril3.glade.h:129 -msgid "This will compute the synthetic background." -msgstr "计算合成背景。" +msgid "x coordinate of the start of the background selection" +msgstr "x轴坐标用于开始背景选择区" #: ../src/gui/siril3.glade.h:130 -msgid "Apply" -msgstr "应用" +msgid "y coordinate of the start of the background selection" +msgstr "y轴坐标用于开始背景选择区" #: ../src/gui/siril3.glade.h:131 -msgid "This will apply the selected correction." -msgstr "应用所选的修正。" +msgid "Width of the background selection" +msgstr "背景选择区的宽度" #: ../src/gui/siril3.glade.h:132 -msgid "Image Plate Solver" -msgstr "" +msgid "Height of the background selection" +msgstr "背景选择区的高度" #: ../src/gui/siril3.glade.h:133 -msgid "Start the plate solving algorithm." -msgstr "" +msgid "Selected area" +msgstr "选择一个区域" #: ../src/gui/siril3.glade.h:134 -msgid "Initial equatorial coordinates. Input value must be inside the image." -msgstr "" +msgid "Use current selection" +msgstr "使用当前所选" #: ../src/gui/siril3.glade.h:135 -msgid "0" -msgstr "0" +msgid "" +"You must specify a selection that represents the true background of the " +"image, trying to exclude all stars or other stellar objects." +msgstr "必须选定一个表现了真实背景的区域,尽量避开星点和其他天体。" #: ../src/gui/siril3.glade.h:136 -msgid "Right Ascension: " -msgstr "" +msgid "Background Reference" +msgstr "参考背景" #: ../src/gui/siril3.glade.h:137 -#, fuzzy -msgid "Declination: " -msgstr "偏差: " +msgid "This option determines on which channel the factors are normalized." +msgstr "此选项用确定归一化因子所处的通道。" #: ../src/gui/siril3.glade.h:138 -msgid "S" -msgstr "" +msgid "On highest" +msgstr "最高" #: ../src/gui/siril3.glade.h:139 -msgid "This button is checked for negative declination (southern hemisphere)." -msgstr "" +msgid "On middle" +msgstr "中间" #: ../src/gui/siril3.glade.h:140 -msgid "" -"Enter the identifier or the name of the object which must be in the image." -msgstr "" +msgid "On lowest" +msgstr "最低" #: ../src/gui/siril3.glade.h:141 -#, fuzzy -msgid "Start searching." -msgstr "开始叠加" +msgid "Channel Factor Normalisation" +msgstr "通道归一化因子" + +#: ../src/gui/siril3.glade.h:142 +msgid "Median Filter" +msgstr "中位数过滤" #: ../src/gui/siril3.glade.h:143 -#, no-c-format msgid "" -"Effective focal length of the optical system in millimeter. Even if the " -"input value has not to be very accurate, try to give a value with an error " -"not exceeding 20%." -msgstr "" +"Kernel Size. This is the odd size of the neighborhood considered for each " +"pixel." +msgstr "内核大小。每个像素认定“邻居”的奇数范围值。" #: ../src/gui/siril3.glade.h:144 -msgid "Pixel size in micrometer. The image is assumed to have square pixels." -msgstr "" +msgid "Modulation:" +msgstr "调制:" #: ../src/gui/siril3.glade.h:145 -#, fuzzy -msgid "Focal distance (mm):" -msgstr "焦距(毫米): " - -#: ../src/gui/siril3.glade.h:146 -#, fuzzy -msgid "Pixel size (µm):" -msgstr "像素宽度X(微米): " - -#: ../src/gui/siril3.glade.h:147 -#, fuzzy -msgid "Resolution: " -msgstr "反卷积" - -#: ../src/gui/siril3.glade.h:148 msgid "" -"The resolution of the image that is automatically determined from the focal " -"and pixel size value." +"Modulation parameter set in the [0, 1] range.\n" +"When this parameter is equal to 1, no modulation is applied.\n" +"If the parameters is null, so no filter is apply at all." msgstr "" +"调制参数,[0, 1]区间值。\n" +"1为无调制。\n" +"为空则不会有任何过滤被应用。" + +#: ../src/gui/siril3.glade.h:148 +msgid "Kernel Size: " +msgstr "内核大小: " #: ../src/gui/siril3.glade.h:149 -msgid "Get Metadata From Image" -msgstr "" +msgid "Iterations:" +msgstr "迭代:" #: ../src/gui/siril3.glade.h:150 msgid "" -"Click on this button to get focal and pixel size value from the header of " -"the file if they exist." -msgstr "" - -#: ../src/gui/siril3.glade.h:151 -msgid "Resolver" +"Number of iterations of the algorithm.\n" +"This is useful when modulation parameter is different to 1 helping the whole " +"process to converge to better result." msgstr "" +"算法的迭代数。\n" +"当调制参数不为1时,使用本参数可以获得更好的结果。" #: ../src/gui/siril3.glade.h:152 -msgid "Name" -msgstr "名称" +msgid "Use Luminance" +msgstr "使用明度通道" #: ../src/gui/siril3.glade.h:153 -#, fuzzy -msgid "Image Parameters" -msgstr "图像版权" +msgid "Run statistic calculation" +msgstr "计算统计结果" #: ../src/gui/siril3.glade.h:154 -msgid "Catalogue Limit Mag: " -msgstr "" +msgid "Close the window" +msgstr "关闭窗口" #: ../src/gui/siril3.glade.h:155 -msgid "" -"Maximum star magnitude used in the catalog queries. Wider is the field, " -"lower is the value." -msgstr "" +msgid "Normalized Real [0, 1]" +msgstr "归一化实数 [0, 1]" #: ../src/gui/siril3.glade.h:156 -#, fuzzy -msgid "Auto" -msgstr "自动" +msgid "No Selection" +msgstr "无选择" #: ../src/gui/siril3.glade.h:157 -msgid "" -"The limit magnitude is automatically determined using the approximation of " -"the Field Of View." -msgstr "" +msgid "Asinh Transformation" +msgstr "反双曲线变换" #: ../src/gui/siril3.glade.h:158 -msgid "Online Star Catalogue: " -msgstr "" +msgid "Stretch factor: " +msgstr "拉伸因子: " #: ../src/gui/siril3.glade.h:159 +msgid "The parameter stretch factor allows to adjust the non-linearity factor." +msgstr "拉伸因子参数允许引入非线性因子。" + +#: ../src/gui/siril3.glade.h:160 +msgid "Black Point: " +msgstr "黑点: " + +#: ../src/gui/siril3.glade.h:161 +msgid "Constant value that is subtracted from the image." +msgstr "从图像中所减去的连续值。" + +#: ../src/gui/siril3.glade.h:162 +msgid "Use RGB working space" +msgstr "使用RGB工作空间" + +#: ../src/gui/siril3.glade.h:163 +msgid "Background Extraction" +msgstr "背景提取" + +#: ../src/gui/siril3.glade.h:164 msgid "" -"Choose the online catalogue against one want to compare the image.\n" -"* TYCHO-2 catalogue contains positions, proper motions, and two-color " -"photometric data for 2,539,913 of the brightest stars in the Milky Way.\n" -"* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and " -"USNO-B1 catalogues, supplemented by photometric information from the 2MASS " -"final release point source catalogue.\n" -"* Gaia Data Release 2 was released on 25 April 2018. The five-parameter " -"astrometric solution, positions on the sky (α, δ), parallaxes, and proper " -"motions, are given for more than 1.3 billion sources, with a limiting " -"magnitude of G = 21.\n" -"* PPMXL is a catalog of positions, proper motions, 2MASS- and optical " -"photometry of 900 million stars and galaxies.\n" -"* The Bright Star Catalogue is a star catalogue that lists all stars of " -"stellar magnitude 6.5 or brighter, which is roughly every star visible to " -"the naked eye from Earth. The catalog contains 9,110 objects." -msgstr "" +"This will compute the synthetic background and will apply the selected " +"correction." +msgstr "计算非自然背景并执行所选定的修正。" #: ../src/gui/siril3.glade.h:165 -msgid "" -"The online catalogue is automatically determined using the approximation of " -"the Field Of View and magnitude." -msgstr "" +msgid "Degree order: " +msgstr "有序度: " #: ../src/gui/siril3.glade.h:166 -#, fuzzy -msgid "Catalogue Parameters" -msgstr "图像版权" - -#: ../src/gui/siril3.glade.h:167 -#, fuzzy -msgid "Manual detection" -msgstr "手动对齐" - -#: ../src/gui/siril3.glade.h:168 msgid "" -"Check this option if you want to pick each stars manually. It could be " -"useful in some cases where Siril can't find enough stars. Please, try to " -"choose the brightest stars in the image." +"Choose the degree order of the polynomial function used in the fit.\n" +"By default the value is of 4.\n" +"The higher the degree order is, the more complex the gradient can be removed." msgstr "" +"选择拟合时所用的多项式函数的有序度。\n" +"缺省值为4。\n" +"有序度越高,则越强的渐变会被去除。" #: ../src/gui/siril3.glade.h:169 -#, fuzzy -msgid "Star detection" -msgstr "星点侦测" +msgid "Samples per line: " +msgstr "每行样本数: " #: ../src/gui/siril3.glade.h:170 -msgid "Median Filter" -msgstr "中位数过滤" +msgid "Number of sample per line that will be automatically placed." +msgstr "自动安置的每行样本数。" #: ../src/gui/siril3.glade.h:171 msgid "" -"Kernel Size. This is the odd size of the neighborhood considered for each " -"pixel." -msgstr "内核大小。每个像素认定“邻居”的奇数范围值。" +"Tolerance of global sample rejection, in sigma units. By decreasing this " +"value, Siril will be more restrictive to select background samples." +msgstr "全局样本剔除容差,单位sigma。降低该值会使Siril更加谨慎的选取背景样本。" #: ../src/gui/siril3.glade.h:172 -msgid "Modulation:" -msgstr "调制:" +msgid "Tolerance: " +msgstr "容差: " #: ../src/gui/siril3.glade.h:173 -msgid "" -"Modulation parameter set in the [0, 1] range.\n" -"When this parameter is equal to 1, no modulation is applied.\n" -"If the parameters is null, so no filter is apply at all." -msgstr "" -"调制参数,[0, 1]区间值。\n" -"1为无调制。\n" -"为空则不会有任何过滤被应用。" - -#: ../src/gui/siril3.glade.h:176 -msgid "Kernel Size: " -msgstr "内核大小: " +msgid "Generate" +msgstr "生成" -#: ../src/gui/siril3.glade.h:177 -msgid "Iterations:" -msgstr "迭代:" +#: ../src/gui/siril3.glade.h:174 +msgid "Click here to generate the automatically defined samples." +msgstr "点此生成自动选择的样本。" + +#: ../src/gui/siril3.glade.h:175 +msgid "Click here to clear all the samples." +msgstr "点此清除所有样本。" -#: ../src/gui/siril3.glade.h:178 +#: ../src/gui/siril3.glade.h:176 msgid "" -"Number of iterations of the algorithm.\n" -"This is useful when modulation parameter is different to 1 helping the whole " -"process to converge to better result." +"You also can set samples manually.\n" +"Left click adds samples while right click removes them." msgstr "" -"算法的迭代数。\n" -"当调制参数不为1时,使用本参数可以获得更好的结果。" +"手动选取也被支持。\n" +"左键点击以添加样本,右键点击以删除。" -#: ../src/gui/siril3.glade.h:180 -msgid "Use Luminance" -msgstr "使用明度通道" +#: ../src/gui/siril3.glade.h:178 +msgid "Polynomial interpolation" +msgstr "多项式插值" -#: ../src/gui/siril3.glade.h:181 -msgid "Run statistic calculation" -msgstr "计算统计结果" +#: ../src/gui/siril3.glade.h:179 +msgid "Correction: " +msgstr "修正: " -#: ../src/gui/siril3.glade.h:182 -msgid "Close the window" -msgstr "关闭窗口" +#: ../src/gui/siril3.glade.h:180 +msgid "" +"Choose the type of correction you want apply:\n" +"Subtraction: it is mainly used to correct additive effects, such as " +"gradients caused by light pollution or by the Moon.\n" +"Division: it is mainly used to correct multiplicative phenomena, such as " +"vignetting or differential atmospheric absorption for example. However, this " +"kind of operation should be done by master-flat correction." +msgstr "" +"选择要应用的修正方式:\n" +"减法: 主要用于修正累加效应,例如光害和月光引起的渐变。\n" +"除法: 主要用于修正乘性现象,例如渐晕或者大气吸收之差异。不过此类操作理应靠平" +"场来修正。" #: ../src/gui/siril3.glade.h:183 -msgid "Normalized Real [0, 1]" -msgstr "归一化实数 [0, 1]" +msgid "Subtraction" +msgstr "减法" #: ../src/gui/siril3.glade.h:184 -msgid "No Selection" -msgstr "无选择" +msgid "Division" +msgstr "除法" #: ../src/gui/siril3.glade.h:185 -#, fuzzy -msgid "Asinh Transformation" -msgstr "直方图变换…" - -#: ../src/gui/siril3.glade.h:186 -msgid "Stretch factor: " -msgstr "" - -#: ../src/gui/siril3.glade.h:187 -msgid "The parameter stretch factor allows to adjust the non-linearity factor." -msgstr "" - -#: ../src/gui/siril3.glade.h:188 -msgid "Black Point: " -msgstr "" - -#: ../src/gui/siril3.glade.h:189 -msgid "Constant value that is subtracted from the image." -msgstr "" - -#: ../src/gui/siril3.glade.h:190 -msgid "Use RGB working space" -msgstr "" +msgid "Correction" +msgstr "修正" -#: ../src/gui/siril3.glade.h:191 ../src/core/siril.c:1249 +#: ../src/gui/siril3.glade.h:186 ../src/core/siril.c:1214 msgid "Banding Reduction" msgstr "除去条纹" -#: ../src/gui/siril3.glade.h:192 +#: ../src/gui/siril3.glade.h:187 msgid "Protect from Highlights" msgstr "免受高光影响" -#: ../src/gui/siril3.glade.h:193 +#: ../src/gui/siril3.glade.h:188 msgid "Vertical banding" msgstr "垂直条纹" -#: ../src/gui/siril3.glade.h:194 +#: ../src/gui/siril3.glade.h:189 msgid "Check this box if banding is vertical." msgstr "选择以针对垂直条纹。" -#: ../src/gui/siril3.glade.h:195 +#: ../src/gui/siril3.glade.h:190 msgid "Apply to sequence" msgstr "应用到队列" -#: ../src/gui/siril3.glade.h:196 +#: ../src/gui/siril3.glade.h:191 msgid "" "If a sequence is loaded and this is activated, perform the processing on all " "images of the sequence instead of only the loaded image." msgstr "如果有当前活动队列,则将处理过程应用到队列中的所有图像上。" -#: ../src/gui/siril3.glade.h:197 +#: ../src/gui/siril3.glade.h:192 msgid "Output prefix:" msgstr "输出前缀:" -#: ../src/gui/siril3.glade.h:198 +#: ../src/gui/siril3.glade.h:193 msgid "Prefix of the image names resulting from the unband process." msgstr "去条纹处理后输出的文件名前缀。" -#: ../src/gui/siril3.glade.h:199 +#: ../src/gui/siril3.glade.h:194 msgid "1/Sigma Factor" msgstr "1/Sigma因子" -#: ../src/gui/siril3.glade.h:200 +#: ../src/gui/siril3.glade.h:195 msgid "Image compositing" msgstr "图像合成" -#: ../src/gui/siril3.glade.h:201 +#: ../src/gui/siril3.glade.h:196 msgid "Multi-layer image composition" msgstr "多通道图像合成" -#: ../src/gui/siril3.glade.h:202 +#: ../src/gui/siril3.glade.h:197 msgid "Layer alignments" msgstr "通道对齐" #. don't destroy it on removal from grid -#: ../src/gui/siril3.glade.h:203 ../src/compositing/compositing.c:182 +#: ../src/gui/siril3.glade.h:198 ../src/compositing/compositing.c:182 #: ../src/compositing/compositing.c:1077 msgid "not loaded" msgstr "未载入" -#: ../src/gui/siril3.glade.h:204 +#: ../src/gui/siril3.glade.h:199 msgid "Adjust layers brightness" msgstr "调整通道亮度" -#: ../src/gui/siril3.glade.h:205 +#: ../src/gui/siril3.glade.h:200 msgid "" "Automatically adjust the brightness of the colours picked for layers so that " "they don't overflow when compositing (based on max value for each image). " @@ -911,11 +900,11 @@ "自动调整各个通道的亮度,使之在合成中不会溢出(基于每幅图像的最大值)。色调不" "会改变。" -#: ../src/gui/siril3.glade.h:206 +#: ../src/gui/siril3.glade.h:201 msgid "Finalize colour balance" msgstr "冻结色彩平衡" -#: ../src/gui/siril3.glade.h:207 +#: ../src/gui/siril3.glade.h:202 msgid "" "Open the RGB calibration tool on the resulting image. This will modify the " "result in a destructive way to align the three channels of the result.\n" @@ -925,76 +914,76 @@ "针对最终图像开启RGB色彩校准工具。这将改变最终图像的色彩平衡。\n" "之后在当前窗口中修改任何参数将使色彩平衡无效,色彩平衡必须重做。" -#: ../src/gui/siril3.glade.h:209 +#: ../src/gui/siril3.glade.h:204 msgid "" "Type of luminance-based colour composition. They represent the way of adding " "colour information to luminance data." msgstr "明度为基础的彩色合成类型。描述了在明度数据上添加彩色信息的方法。" -#: ../src/gui/siril3.glade.h:210 +#: ../src/gui/siril3.glade.h:205 msgid "HSL composition" msgstr "HSL合成" -#: ../src/gui/siril3.glade.h:211 +#: ../src/gui/siril3.glade.h:206 msgid "HSV composition" msgstr "HSV合成" -#: ../src/gui/siril3.glade.h:212 +#: ../src/gui/siril3.glade.h:207 msgid "CIE L*a*b* composition" msgstr "CIE L*a*b* 合成" -#: ../src/gui/siril3.glade.h:213 +#: ../src/gui/siril3.glade.h:208 msgid "" "WARNING: You should not perform a LRGB combination with linear images. " "Process images before." msgstr "警告:禁止使用线性图进行LRGB合成。请先完成图像的线性处理。" -#: ../src/gui/siril3.glade.h:214 +#: ../src/gui/siril3.glade.h:209 msgid "Align layers on this reference layer:" msgstr "基于这个参考通道来对齐其他通道:" -#: ../src/gui/siril3.glade.h:215 +#: ../src/gui/siril3.glade.h:210 msgid "Align" msgstr "对齐" -#: ../src/gui/siril3.glade.h:216 +#: ../src/gui/siril3.glade.h:211 msgid "Automatic alignment using the selected registration method." msgstr "使用所选的方法自动对齐。" -#: ../src/gui/siril3.glade.h:217 +#: ../src/gui/siril3.glade.h:212 msgid "Crop image to common area after align" msgstr "对齐后裁剪图像到公共区" -#: ../src/gui/siril3.glade.h:218 +#: ../src/gui/siril3.glade.h:213 msgid "and using this alignment method:" msgstr "使用此对齐方法:" -#: ../src/gui/siril3.glade.h:219 +#: ../src/gui/siril3.glade.h:214 msgid "For LRGB composition, the reference layer should be luminance." msgstr "在执行LRGB合成时,应选择明度通道为参考通道。" #. name, lambda, lo, hi, c/over, c/under, mode -#: ../src/gui/siril3.glade.h:220 ../src/gui/callbacks.c:69 +#: ../src/gui/siril3.glade.h:215 ../src/gui/callbacks.c:70 msgid "Luminance" msgstr "明度" -#: ../src/gui/siril3.glade.h:221 ../src/algos/cosmetic_correction.c:331 +#: ../src/gui/siril3.glade.h:216 ../src/algos/cosmetic_correction.c:328 msgid "Cosmetic Correction" msgstr "降噪" -#: ../src/gui/siril3.glade.h:222 +#: ../src/gui/siril3.glade.h:217 msgid "Close current window" msgstr "关闭当前窗口" -#: ../src/gui/siril3.glade.h:223 +#: ../src/gui/siril3.glade.h:218 msgid "Apply Cosmetic Correction" msgstr "应用降噪" -#: ../src/gui/siril3.glade.h:224 +#: ../src/gui/siril3.glade.h:219 msgid "CFA" msgstr "CFA" -#: ../src/gui/siril3.glade.h:225 +#: ../src/gui/siril3.glade.h:220 msgid "" "Check if the target frames are CFA images.\n" "Uncheck if images come from a monochrome sensor." @@ -1002,16 +991,16 @@ "CFA图像请点选这里。\n" "单色传感器的图像不要选上。" -#: ../src/gui/siril3.glade.h:227 +#: ../src/gui/siril3.glade.h:222 msgid "" "Prefix of the image names resulting from the cosmetic correction process." msgstr "降噪处理后的文件名前缀。" -#: ../src/gui/siril3.glade.h:228 +#: ../src/gui/siril3.glade.h:223 msgid "Cold Sigma:" msgstr "冷Sigma:" -#: ../src/gui/siril3.glade.h:229 +#: ../src/gui/siril3.glade.h:224 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a cold pixel." @@ -1019,11 +1008,11 @@ "当一个像素被认定为冷像素时,该像素必须相异于周围邻居像素的倍数(平均偏差单" "位)。" -#: ../src/gui/siril3.glade.h:230 +#: ../src/gui/siril3.glade.h:225 msgid "Hot Sigma:" msgstr "热Sigma:" -#: ../src/gui/siril3.glade.h:231 +#: ../src/gui/siril3.glade.h:226 msgid "" "How many times (in averrage deviation units) a pixel value must differ from " "the value of surrounding neighbors to be considered as a hot pixel." @@ -1031,553 +1020,517 @@ "当一个像素被认定为热像素时,该像素必须相异于周围邻居像素的倍数(平均偏差单" "位)。" -#: ../src/gui/siril3.glade.h:232 +#: ../src/gui/siril3.glade.h:227 msgid "Auto detection" msgstr "自动侦测" -#: ../src/gui/siril3.glade.h:233 +#: ../src/gui/siril3.glade.h:228 msgid "Crop sequence" msgstr "裁剪队列" -#: ../src/gui/siril3.glade.h:234 +#: ../src/gui/siril3.glade.h:229 msgid "Prefix of the image names resulting from the cropping process." msgstr "裁剪处理后的文件名前缀。" -#: ../src/gui/siril3.glade.h:235 +#: ../src/gui/siril3.glade.h:230 msgid "Deconvolution" msgstr "反卷积" -#: ../src/gui/siril3.glade.h:236 +#: ../src/gui/siril3.glade.h:231 msgid "Sigma:" msgstr "Sigma:" -#: ../src/gui/siril3.glade.h:237 +#: ../src/gui/siril3.glade.h:232 msgid "" "This represents the size of the gaussian kernel which is applied. The higher " "the value is, the stronger the effect is." msgstr "高斯强化的幅度。数值越大,效果越明显。" -#: ../src/gui/siril3.glade.h:238 +#: ../src/gui/siril3.glade.h:233 msgid "Algorithm:" msgstr "算法:" -#: ../src/gui/siril3.glade.h:239 +#: ../src/gui/siril3.glade.h:234 msgid "Number of iterations." msgstr "迭代次数。" -#: ../src/gui/siril3.glade.h:240 -msgid "Siril message" -msgstr "Siril消息" - -#: ../src/gui/siril3.glade.h:241 +#: ../src/gui/siril3.glade.h:235 msgid "Fourier Transform" msgstr "傅立叶变换" -#: ../src/gui/siril3.glade.h:242 +#: ../src/gui/siril3.glade.h:236 msgid "Name of the magnitude file: " msgstr "幅值文件名: " -#: ../src/gui/siril3.glade.h:243 +#: ../src/gui/siril3.glade.h:237 msgid "Name of the phase file: " msgstr "相位文件名: " -#: ../src/gui/siril3.glade.h:244 +#: ../src/gui/siril3.glade.h:238 msgid "Order: " msgstr "规则: " -#: ../src/gui/siril3.glade.h:245 -msgid "Type: " -msgstr "类型: " - -#: ../src/gui/siril3.glade.h:246 +#: ../src/gui/siril3.glade.h:239 msgid "modulus" msgstr "modulus" -#: ../src/gui/siril3.glade.h:247 +#: ../src/gui/siril3.glade.h:240 msgid "phase" msgstr "phase" -#: ../src/gui/siril3.glade.h:248 +#: ../src/gui/siril3.glade.h:241 msgid "Centered" msgstr "中心化" -#: ../src/gui/siril3.glade.h:249 -msgid "Normal" -msgstr "标准" - -#: ../src/gui/siril3.glade.h:250 -msgid "Polar (Magnitude + Phase)" -msgstr "极坐标(幅值+相位)" - -#: ../src/gui/siril3.glade.h:251 +#: ../src/gui/siril3.glade.h:242 msgid "Direct Transform" msgstr "正变换" -#: ../src/gui/siril3.glade.h:252 +#: ../src/gui/siril3.glade.h:243 msgid "Magnitude of the image: " msgstr "幅值文件: " -#: ../src/gui/siril3.glade.h:253 +#: ../src/gui/siril3.glade.h:244 msgid "Phase of the image: " msgstr "相位文件: " -#: ../src/gui/siril3.glade.h:254 +#: ../src/gui/siril3.glade.h:245 msgid "Select Magnitude" msgstr "选择幅值文件" -#: ../src/gui/siril3.glade.h:255 +#: ../src/gui/siril3.glade.h:246 msgid "Select Phase" msgstr "选择相位文件" -#: ../src/gui/siril3.glade.h:256 +#: ../src/gui/siril3.glade.h:247 msgid "Inverse Transform" msgstr "反变换" -#: ../src/gui/siril3.glade.h:257 +#: ../src/gui/siril3.glade.h:248 msgid "Channel Extraction" msgstr "通道提取" -#: ../src/gui/siril3.glade.h:258 +#: ../src/gui/siril3.glade.h:249 msgid "File name for the first FITS file to save." msgstr "第一个要保存的FITS文件名。" -#: ../src/gui/siril3.glade.h:259 +#: ../src/gui/siril3.glade.h:250 msgid "File name for the second FITS file to save." msgstr "第二个要保存的FITS文件名。" -#: ../src/gui/siril3.glade.h:260 +#: ../src/gui/siril3.glade.h:251 msgid "File name for the third FITS file to save." msgstr "第三个要保存的FITS文件名。" -#: ../src/gui/siril3.glade.h:261 +#: ../src/gui/siril3.glade.h:252 msgid "Channel #1:" msgstr "通道#1:" -#: ../src/gui/siril3.glade.h:262 +#: ../src/gui/siril3.glade.h:253 msgid "Channel #2:" msgstr "通道#2:" -#: ../src/gui/siril3.glade.h:263 +#: ../src/gui/siril3.glade.h:254 msgid "Channel #3:" msgstr "通道#3:" -#: ../src/gui/siril3.glade.h:264 +#: ../src/gui/siril3.glade.h:255 msgid "Select the color space corresponding to the three extracted images" msgstr "选择所要提取之对应的色彩空间" -#: ../src/gui/siril3.glade.h:265 +#: ../src/gui/siril3.glade.h:256 msgid "RGB" msgstr "RGB" -#: ../src/gui/siril3.glade.h:266 +#: ../src/gui/siril3.glade.h:257 msgid "HSL" msgstr "HSL" -#: ../src/gui/siril3.glade.h:267 +#: ../src/gui/siril3.glade.h:258 msgid "HSV" msgstr "HSV" -#: ../src/gui/siril3.glade.h:268 +#: ../src/gui/siril3.glade.h:259 msgid "CIE L*a*b*" msgstr "CIE L*a*b*" -#: ../src/gui/siril3.glade.h:269 +#: ../src/gui/siril3.glade.h:260 msgid "Color Space:" msgstr "色彩空间:" -#: ../src/gui/siril3.glade.h:270 +#: ../src/gui/siril3.glade.h:261 msgid "Wavelets Layers Extraction" msgstr "小波图层提取" -#: ../src/gui/siril3.glade.h:271 +#: ../src/gui/siril3.glade.h:262 msgid "Close" msgstr "关闭" -#: ../src/gui/siril3.glade.h:272 +#: ../src/gui/siril3.glade.h:263 msgid "Apply wavelet extraction." msgstr "执行小波提取。" -#: ../src/gui/siril3.glade.h:273 +#: ../src/gui/siril3.glade.h:264 msgid "" "Number of wavelet layers. You can choose up to 6 layers for wavelets " "computing." msgstr "小波图层数量。可以选择最多6个图层。" -#: ../src/gui/siril3.glade.h:274 +#: ../src/gui/siril3.glade.h:265 msgid "Type of algorithm" msgstr "算法类型" -#: ../src/gui/siril3.glade.h:275 +#: ../src/gui/siril3.glade.h:266 msgid "BSpline" msgstr "B样条函数" -#: ../src/gui/siril3.glade.h:276 +#: ../src/gui/siril3.glade.h:267 msgid "Nb. of Layers: " msgstr "图层数: " -#: ../src/gui/siril3.glade.h:277 +#: ../src/gui/siril3.glade.h:268 msgid "Interpolation Algorithm:" msgstr "插值算法:" -#: ../src/gui/siril3.glade.h:278 +#: ../src/gui/siril3.glade.h:269 msgid "Histograms" msgstr "直方图" -#: ../src/gui/siril3.glade.h:279 +#: ../src/gui/siril3.glade.h:270 msgid "Horizontal Zoom" msgstr "水平比例" -#: ../src/gui/siril3.glade.h:280 +#: ../src/gui/siril3.glade.h:271 msgid "Reset zooms to 1." msgstr "重置缩放比例为1。" -#: ../src/gui/siril3.glade.h:281 +#: ../src/gui/siril3.glade.h:272 msgid "Logarithmic scale" msgstr "对数比例" -#: ../src/gui/siril3.glade.h:282 +#: ../src/gui/siril3.glade.h:273 msgid "Midtones balance" msgstr "中间调平衡" -#: ../src/gui/siril3.glade.h:283 +#: ../src/gui/siril3.glade.h:274 msgid "Shadows clipping" msgstr "阴影裁剪" -#: ../src/gui/siril3.glade.h:284 +#: ../src/gui/siril3.glade.h:275 msgid "Highlights clipping" msgstr "高光裁剪" -#: ../src/gui/siril3.glade.h:285 -msgid "R" -msgstr "R" - -#: ../src/gui/siril3.glade.h:286 -msgid "G" -msgstr "G" - -#: ../src/gui/siril3.glade.h:287 -msgid "B" -msgstr "B" - -#: ../src/gui/siril3.glade.h:288 +#: ../src/gui/siril3.glade.h:276 msgid "Show grids" msgstr "显示网格" -#: ../src/gui/siril3.glade.h:289 +#: ../src/gui/siril3.glade.h:277 msgid "Show MTF curve" msgstr "显示MTF曲线" -#: ../src/gui/siril3.glade.h:290 +#: ../src/gui/siril3.glade.h:278 msgid "Apply autostretch algorithm to image" msgstr "执行自动拉伸" -#: ../src/gui/siril3.glade.h:291 -msgid "autoStretch" -msgstr "自动拉伸" - -#: ../src/gui/siril3.glade.h:292 +#: ../src/gui/siril3.glade.h:279 msgid "Highlights: " msgstr "高光: " -#: ../src/gui/siril3.glade.h:293 +#: ../src/gui/siril3.glade.h:280 msgid "Midtones: " msgstr "中间调: " -#: ../src/gui/siril3.glade.h:294 +#: ../src/gui/siril3.glade.h:281 msgid "Shadows: " msgstr "阴影: " -#: ../src/gui/siril3.glade.h:296 +#: ../src/gui/siril3.glade.h:283 #, no-c-format msgid "Clip (%)" msgstr "裁剪 (%)" -#: ../src/gui/siril3.glade.h:297 +#: ../src/gui/siril3.glade.h:284 msgid "Clipped pixels count (shadows)" msgstr "裁剪像素统计(阴影)" -#: ../src/gui/siril3.glade.h:298 +#: ../src/gui/siril3.glade.h:285 msgid "Clipped pixels count (highlights)" msgstr "裁剪像素统计(高光)" -#: ../src/gui/siril3.glade.h:299 +#: ../src/gui/siril3.glade.h:286 msgid "Reset" msgstr "重置" -#: ../src/gui/siril3.glade.h:300 +#: ../src/gui/siril3.glade.h:287 msgid "Apply histogram transformation" msgstr "应用直方图变换" -#: ../src/gui/siril3.glade.h:301 +#: ../src/gui/siril3.glade.h:288 msgid "Resample" msgstr "重采样" -#: ../src/gui/siril3.glade.h:303 +#: ../src/gui/siril3.glade.h:290 #, no-c-format msgid "X scale (%): " msgstr "X轴比例 (%): " -#: ../src/gui/siril3.glade.h:305 +#: ../src/gui/siril3.glade.h:292 #, no-c-format msgid "Y scale (%): " msgstr "Y轴比例 (%): " -#: ../src/gui/siril3.glade.h:306 +#: ../src/gui/siril3.glade.h:293 msgid "Preserve Aspect Ratio" msgstr "锁定高宽比" -#: ../src/gui/siril3.glade.h:307 +#: ../src/gui/siril3.glade.h:294 msgid "Type of algorithm used for resampling" msgstr "重采样算法" -#: ../src/gui/siril3.glade.h:308 +#: ../src/gui/siril3.glade.h:295 msgid "Nearest Neighbor" msgstr "最近邻居法" -#: ../src/gui/siril3.glade.h:309 +#: ../src/gui/siril3.glade.h:296 msgid "Bilinear (default)" msgstr "双线性(缺省)" -#: ../src/gui/siril3.glade.h:310 +#: ../src/gui/siril3.glade.h:297 msgid "Pixel Area Relation" msgstr "像素区域关联法" -#: ../src/gui/siril3.glade.h:311 +#: ../src/gui/siril3.glade.h:298 msgid "Bicubic" msgstr "双三次插值" -#: ../src/gui/siril3.glade.h:312 +#: ../src/gui/siril3.glade.h:299 msgid "Lanczos-4" msgstr "Lanczos-4" -#: ../src/gui/siril3.glade.h:313 +#: ../src/gui/siril3.glade.h:300 msgid "Rotational Gradient" -msgstr "" +msgstr "旋转渐变" -#: ../src/gui/siril3.glade.h:314 +#: ../src/gui/siril3.glade.h:301 msgid "The rotational gradient will be applied." -msgstr "" +msgstr "执行旋转渐变。" -#: ../src/gui/siril3.glade.h:315 -#, fuzzy +#: ../src/gui/siril3.glade.h:302 msgid "Radial shift: " -msgstr "半径: " +msgstr "辐射偏移: " -#: ../src/gui/siril3.glade.h:316 +#: ../src/gui/siril3.glade.h:303 msgid "Radial shift used to compute rotational gradient." -msgstr "" +msgstr "用于计算旋转渐变的辐射偏移。" -#: ../src/gui/siril3.glade.h:317 -#, fuzzy +#: ../src/gui/siril3.glade.h:304 msgid "Rotational shift: " -msgstr "旋转" +msgstr "旋转偏移: " -#: ../src/gui/siril3.glade.h:318 +#: ../src/gui/siril3.glade.h:305 msgid "Rotational shift used to compute rotational gradient." -msgstr "" +msgstr "用于计算旋转渐变的旋转偏移。" -#: ../src/gui/siril3.glade.h:319 -#, fuzzy +#: ../src/gui/siril3.glade.h:306 msgid "X coordinate of the center of polar coordinates." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "极坐标原点的X轴坐标。" -#: ../src/gui/siril3.glade.h:320 -#, fuzzy +#: ../src/gui/siril3.glade.h:307 msgid "Y coordinate of the center of polar coordinates." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "极坐标原点的Y轴坐标。" -#: ../src/gui/siril3.glade.h:321 +#: ../src/gui/siril3.glade.h:308 msgid "X centre:" -msgstr "" +msgstr "原点坐标X:" -#: ../src/gui/siril3.glade.h:322 +#: ../src/gui/siril3.glade.h:309 msgid "Y centre:" -msgstr "" +msgstr "原点坐标Y:" -#: ../src/gui/siril3.glade.h:323 +#: ../src/gui/siril3.glade.h:310 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "保存文件的基础名称(例如 dest1.fit 的 'dest')" -#: ../src/gui/siril3.glade.h:324 +#: ../src/gui/siril3.glade.h:311 msgid "root name of the converted images (the 'dest' in dest1.fit)" msgstr "保存文件的基础名称(例如 dest1.fit 的“dest”)" -#: ../src/gui/siril3.glade.h:325 +#: ../src/gui/siril3.glade.h:312 msgid "Filename" msgstr "文件名" -#: ../src/gui/siril3.glade.h:326 +#: ../src/gui/siril3.glade.h:313 msgid "8-bit unsigned integer" msgstr "8位无符号整数" -#: ../src/gui/siril3.glade.h:327 +#: ../src/gui/siril3.glade.h:314 msgid "16-bit unsigned integer" msgstr "16位无符号整数" -#: ../src/gui/siril3.glade.h:328 +#: ../src/gui/siril3.glade.h:315 msgid "Sample Format" msgstr "采样格式" -#: ../src/gui/siril3.glade.h:329 +#: ../src/gui/siril3.glade.h:316 msgid "None" msgstr "无" -#: ../src/gui/siril3.glade.h:330 +#: ../src/gui/siril3.glade.h:317 msgid "Deflate compression" -msgstr "" +msgstr "无损压缩" -#: ../src/gui/siril3.glade.h:331 +#: ../src/gui/siril3.glade.h:318 msgid "Compression" msgstr "压缩" -#: ../src/gui/siril3.glade.h:332 +#: ../src/gui/siril3.glade.h:319 msgid "Image Description" msgstr "图像描述" -#: ../src/gui/siril3.glade.h:333 +#: ../src/gui/siril3.glade.h:320 msgid "Image Copyright" msgstr "图像版权" -#: ../src/gui/siril3.glade.h:334 +#: ../src/gui/siril3.glade.h:321 msgid "TIFF" msgstr "TIFF" -#: ../src/gui/siril3.glade.h:335 +#: ../src/gui/siril3.glade.h:322 msgid "Quality: " msgstr "品质: " -#: ../src/gui/siril3.glade.h:336 +#: ../src/gui/siril3.glade.h:323 msgid "JPEG" msgstr "JPEG" -#: ../src/gui/siril3.glade.h:337 +#: ../src/gui/siril3.glade.h:324 msgid "Not available" msgstr "不可用" -#: ../src/gui/siril3.glade.h:338 +#: ../src/gui/siril3.glade.h:325 msgid "16-bit signed integer" msgstr "16位符号整数" -#: ../src/gui/siril3.glade.h:339 +#: ../src/gui/siril3.glade.h:326 msgid "Sample Format" msgstr "采样格式" -#: ../src/gui/siril3.glade.h:340 +#: ../src/gui/siril3.glade.h:327 msgid "Save MIPS-HI and MIPS-LO values" msgstr "保存MIPS-HI和MIPS-LO值" -#: ../src/gui/siril3.glade.h:341 +#: ../src/gui/siril3.glade.h:328 msgid "Embedded Data" msgstr "嵌入数据" -#: ../src/gui/siril3.glade.h:342 +#: ../src/gui/siril3.glade.h:329 msgid "FITS" msgstr "FITS" -#: ../src/gui/siril3.glade.h:343 +#: ../src/gui/siril3.glade.h:330 msgid "Settings" msgstr "设置" -#: ../src/gui/siril3.glade.h:344 +#: ../src/gui/siril3.glade.h:331 msgid "Use automatic daylight multiplier" msgstr "使用自动的昼光因子" -#: ../src/gui/siril3.glade.h:345 +#: ../src/gui/siril3.glade.h:332 msgid "" "When this option is enabled, coefficients for each channel are automatically " "computed. You can choose your own multiplier by unchecking this box." msgstr "当本选项被选定,每个通道的系数会自动计算。" -#: ../src/gui/siril3.glade.h:346 +#: ../src/gui/siril3.glade.h:333 msgid "" "Specify your own raw white balance. The value for the Red scale is relative " "to the Green." msgstr "指定raw白平衡,此处的红色比例系数是相对于绿色的。" -#: ../src/gui/siril3.glade.h:347 +#: ../src/gui/siril3.glade.h:334 msgid "" "Specify your own raw white balance. The value for the Blue scale is relative " "to the Green." msgstr "指定raw白平衡,此处的蓝色比例系数是相对于绿色的。" -#: ../src/gui/siril3.glade.h:348 +#: ../src/gui/siril3.glade.h:335 msgid "Brightness" msgstr "亮度" -#: ../src/gui/siril3.glade.h:349 +#: ../src/gui/siril3.glade.h:336 msgid "Divide the white level by this number." msgstr "白点比例系数。" -#: ../src/gui/siril3.glade.h:350 +#: ../src/gui/siril3.glade.h:337 msgid "No black point correction" msgstr "不进行黑点修正" -#: ../src/gui/siril3.glade.h:351 +#: ../src/gui/siril3.glade.h:338 msgid "" "When this option is enabled, no black point correction is applied to raw " "images." msgstr "本项选择后,不对raw图像进行黑点修正。" -#: ../src/gui/siril3.glade.h:352 +#: ../src/gui/siril3.glade.h:339 msgid "Image Color Adjustement" msgstr "图像色彩调整" -#: ../src/gui/siril3.glade.h:353 +#: ../src/gui/siril3.glade.h:340 msgid "" "Select an interpolation method to perform demosaicing before opening image." msgstr "选择一个针对所打开图像的去马赛克插值算法。" -#: ../src/gui/siril3.glade.h:354 +#: ../src/gui/siril3.glade.h:341 msgid "High-speed, low-quality bilinear" msgstr "高速低品质,双线性插值" -#: ../src/gui/siril3.glade.h:355 +#: ../src/gui/siril3.glade.h:342 msgid "Adaptive Homogeneity-Directed (AHD)" msgstr "自适应均匀导向法(AHD)" -#: ../src/gui/siril3.glade.h:356 +#: ../src/gui/siril3.glade.h:343 msgid "Variable Number of Gradients (VNG)" msgstr "可变参数渐变法(VNG)" -#: ../src/gui/siril3.glade.h:357 +#: ../src/gui/siril3.glade.h:344 msgid "Patterned Pixel Grouping (PPG)" msgstr "像素图样组群法(PPG)" -#: ../src/gui/siril3.glade.h:358 +#: ../src/gui/siril3.glade.h:345 msgid "Image Matrix Interpolation" msgstr "图像矩阵插值" -#: ../src/gui/siril3.glade.h:359 +#: ../src/gui/siril3.glade.h:346 msgid "No gamma correction is applied to the image." msgstr "不对图像进行伽玛校正。" -#: ../src/gui/siril3.glade.h:360 +#: ../src/gui/siril3.glade.h:347 msgid "BT.709 curve" msgstr "BT.709曲线" -#: ../src/gui/siril3.glade.h:361 +#: ../src/gui/siril3.glade.h:348 msgid "Apply a specific gamma curve to the image." msgstr "对图像应用伽玛曲线。" -#: ../src/gui/siril3.glade.h:362 +#: ../src/gui/siril3.glade.h:349 msgid "sRGB curve" msgstr "sRGB曲线" -#: ../src/gui/siril3.glade.h:363 +#: ../src/gui/siril3.glade.h:350 msgid "Apply a specific gamma curve to the image" msgstr "对图像应用伽玛曲线" -#: ../src/gui/siril3.glade.h:364 +#: ../src/gui/siril3.glade.h:351 msgid "Image Gamma Correction" msgstr "图像伽玛校正" -#: ../src/gui/siril3.glade.h:365 +#: ../src/gui/siril3.glade.h:352 msgid "" "Use the white balance \n" "specified by the camera" msgstr "使用相机的白平衡设置" -#: ../src/gui/siril3.glade.h:367 +#: ../src/gui/siril3.glade.h:354 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will try " @@ -1586,13 +1539,13 @@ "在缺省情况下libraw使用一个基于D65标准色彩图表的固定的白平衡。当本项被选定后," "libraw将使用相机上设定的白平衡。" -#: ../src/gui/siril3.glade.h:368 +#: ../src/gui/siril3.glade.h:355 msgid "" "Calculate the white balance \n" "by averaging the entire image" msgstr "平均整幅图像来计算白平衡" -#: ../src/gui/siril3.glade.h:370 +#: ../src/gui/siril3.glade.h:357 msgid "" "By default, libraw uses a fixed white balance based on a color chart " "illuminated with a standard D65 lamp. If you check this box, libraw will " @@ -1601,55 +1554,23 @@ "在缺省情况下libraw使用一个基于D65标准色彩图表的固定的白平衡。当本项被选定后," "libraw将通过平均整幅图像来自动计算白平衡。" -#: ../src/gui/siril3.glade.h:371 +#: ../src/gui/siril3.glade.h:358 msgid "Image White Balance" msgstr "图像白平衡" -#: ../src/gui/siril3.glade.h:372 +#: ../src/gui/siril3.glade.h:359 msgid "DSLR RAW file format decoder based on the libraw library." msgstr "基于libraw库对于DSLR的RAW文件解码。" -#: ../src/gui/siril3.glade.h:373 +#: ../src/gui/siril3.glade.h:360 msgid "DSLR RAW debayer" msgstr "DSLR RAW debayer" -#: ../src/gui/siril3.glade.h:374 -msgid "Select your camera's Bayer pattern." -msgstr "选择相机的Bayer滤镜排列模式。" - -#: ../src/gui/siril3.glade.h:375 -msgid "Bayer/mosaic pattern: " -msgstr "Bayer滤镜排列模式: " - -#: ../src/gui/siril3.glade.h:376 -msgid "Select an interpolation method to perform demosaicing." -msgstr "选择一种去马赛克的插值算法。" - -#: ../src/gui/siril3.glade.h:377 -msgid "Debayer interpolation: " -msgstr "Debayer插值算法: " - -#: ../src/gui/siril3.glade.h:378 -msgid "Bilinear" -msgstr "双线性" - -#: ../src/gui/siril3.glade.h:379 -msgid "VNG" -msgstr "VNG" - -#: ../src/gui/siril3.glade.h:380 -msgid "AHD" -msgstr "AHD" - -#: ../src/gui/siril3.glade.h:381 -msgid "Super Pixel" -msgstr "超级像素" - -#: ../src/gui/siril3.glade.h:382 +#: ../src/gui/siril3.glade.h:361 msgid "Bayer pattern from file's header if available" msgstr "使用文件头中的Bayer滤镜排列模式" -#: ../src/gui/siril3.glade.h:383 +#: ../src/gui/siril3.glade.h:362 msgid "" "If this box is checked, Siril will automatically apply the Bayer pattern " "found in the file's header. If the result looks wrong uncheck this box and " @@ -1658,183 +1579,155 @@ "当本选项被选择,Siril会自动应用文件头中的Bayer滤镜排列模式。如果结果看上去不" "妥,关闭本选项,在下面自行手动选择Bayer滤镜的排列模式。" -#: ../src/gui/siril3.glade.h:384 -msgid "" -"Ensure compatibility with images stored\n" -"in up-bottom orientation (KSTARS/EKOS, \n" -"PixInsight, and probably others ...)" -msgstr "" -"确保被保存图像的兼容性\n" -"以自上而下的方向(KSTARS/EKOS,\n" -"PixInsight, 和其他……)" +#: ../src/gui/siril3.glade.h:363 +msgid "Debayer in up-bottom orientation" +msgstr "自上而下执行Debayer" -#: ../src/gui/siril3.glade.h:387 +#: ../src/gui/siril3.glade.h:364 msgid "" -"If this box is checked, Siril will try to ensure KSTARS (and PixInsight or " -"others) compatibility by reading FITS image in up-bottom order." +"Siril read FITS data in the bottom-up orientation. If capture software " +"stored data in up-bottom orientation (as they usual do), you need to check " +"this box in order to debayer the file in the right orientation." msgstr "" -"若本项被选定,Siril会试图通过使用自上而下的顺序来读取FITS文件,以确保" -"KSTARS(和PixInsight或其他)的兼容性。" - -#: ../src/gui/siril3.glade.h:388 -msgid "Debayer" -msgstr "Debayer" - -#: ../src/gui/siril3.glade.h:389 -msgid "Other debayer" -msgstr "其它debayer" - -#: ../src/gui/siril3.glade.h:390 -msgid "Focal length (mm): " -msgstr "焦距(毫米): " +"Siril以自下而上的顺序读取FITS数据。如果拍摄软件以自上而下顺序保存数据(通常都" +"是这样),此项需要被选定以获得正确的debayer顺序。" -#: ../src/gui/siril3.glade.h:391 -msgid "Pixel X dim. (micron): " -msgstr "像素宽度X(微米): " +#: ../src/gui/siril3.glade.h:365 +msgid "Stretch CFA FITS from DSLR to 16-bit" +msgstr "拉伸DSLR的CFA FITS到16位" -#: ../src/gui/siril3.glade.h:392 +#: ../src/gui/siril3.glade.h:366 msgid "" -"Clear all the fields. If you save your image after, the header will not " -"contain any data about the focal or sensor size." -msgstr "清空所有,之后所保存的文件头不会包含任何焦距和传感器信息。" +"If the RAW data comes from DSLR camera and if normalisation information was " +"storred in the FITS header, then checking this option will stretch the image " +"to 16-bit." +msgstr "" +"如果RAW是来自于DSLR相机并且归一化信息储存于文件头,选择此选项会拉伸图像到16" +"位。" -#: ../src/gui/siril3.glade.h:393 +#: ../src/gui/siril3.glade.h:367 msgid "" -"If the Pixel Y size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "如果像素高度Y无法从文件头中读取,你可以在此手工输入。" - -#: ../src/gui/siril3.glade.h:394 -msgid "Pixel Y dim. (micron): " -msgstr "像素高度Y(微米): " - -#: ../src/gui/siril3.glade.h:395 -msgid "Binning: " -msgstr "像素合并: " +"Due to algorithm constraints more complex demosaicing algorithms cannot be " +"used in the rejection stacking. Our tests also showed that there is no gain " +"in quaity when many images are used, while processing time increases 20-fold." +msgstr "" +"由于计算的复杂性,去马赛克算法不能被用于像素剔除的叠加。我们的测试结果显示," +"当所处理图像数量很大时,结果并没有明显的品质提升,反而会增加约20倍的处理时" +"间。" -#: ../src/gui/siril3.glade.h:396 +#: ../src/gui/siril3.glade.h:368 msgid "" -"If the binning is not automatically loaded, using file's header, you can " -"update this combo box." -msgstr "如果像素合并无法从文件头中读取,你可以在此手工输入。" +"Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always " +"used." +msgstr "警告:对于SER动态去马赛克,双线性算法将一直被使用。" -#: ../src/gui/siril3.glade.h:397 -msgid "FWHM will be converted into arcsec" -msgstr "" +#: ../src/gui/siril3.glade.h:369 +msgid "Select your camera's Bayer pattern." +msgstr "选择相机的Bayer滤镜排列模式。" -#: ../src/gui/siril3.glade.h:398 -msgid "" -"If the focal length is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "如果焦距无法从文件头中读取,你可以在此手工输入。" +#: ../src/gui/siril3.glade.h:370 +msgid "Bayer/mosaic pattern: " +msgstr "Bayer滤镜排列模式: " -#: ../src/gui/siril3.glade.h:399 -msgid "" -"If the Pixel X size is not automatically loaded, using file's header, you " -"can update the field by yourself." -msgstr "如果像素宽度X无法从文件头中读取,你可以在此手工输入。" +#: ../src/gui/siril3.glade.h:371 +msgid "Select an interpolation method to perform demosaicing." +msgstr "选择一种去马赛克的插值算法。" -#: ../src/gui/siril3.glade.h:400 -msgid "Binning is not in the pixel size value" -msgstr "" +#: ../src/gui/siril3.glade.h:372 +msgid "Debayer interpolation: " +msgstr "Debayer插值算法: " -#: ../src/gui/siril3.glade.h:401 -msgid "" -"Check this button if binning is not taken into account in the pixel size " -"value. In this case, the binning value in the combo box below will be used." -msgstr "" +#: ../src/gui/siril3.glade.h:373 +msgid "Bilinear" +msgstr "双线性" -#: ../src/gui/siril3.glade.h:402 -msgid "Camera and Optics" -msgstr "相机和光学设备" +#: ../src/gui/siril3.glade.h:374 +msgid "VNG" +msgstr "VNG" -#: ../src/gui/siril3.glade.h:403 -msgid "" -"WARNING: these fields are automatically read from FITS file on opening and " -"setting them here will only work for the currently loaded file." -msgstr "" -"警告:上述数据原则上是自动从FITS文件中读取的,此处的改动只会对当前已载入文件" -"有效。" +#: ../src/gui/siril3.glade.h:375 +msgid "AHD" +msgstr "AHD" + +#: ../src/gui/siril3.glade.h:376 +msgid "Super Pixel" +msgstr "超级像素" -#: ../src/gui/siril3.glade.h:404 -msgid "Camera & Optics" -msgstr "相机和光学设备" +#: ../src/gui/siril3.glade.h:377 +msgid "Debayer" +msgstr "Debayer" -#: ../src/gui/siril3.glade.h:405 +#: ../src/gui/siril3.glade.h:378 +msgid "Other debayer" +msgstr "其它debayer" + +#: ../src/gui/siril3.glade.h:379 msgid "A/D converter gain in electrons per ADU. Default value is 2.300." msgstr "A/D转换的增益,单位为电子/ADU。缺省值为2.300。" -#: ../src/gui/siril3.glade.h:406 +#: ../src/gui/siril3.glade.h:380 msgid "ADC gain:" msgstr "ADC增益:" -#: ../src/gui/siril3.glade.h:407 +#: ../src/gui/siril3.glade.h:381 msgid "Camera" msgstr "相机" -#: ../src/gui/siril3.glade.h:408 +#: ../src/gui/siril3.glade.h:382 msgid "Inner radius: " msgstr "内半径: " -#: ../src/gui/siril3.glade.h:409 +#: ../src/gui/siril3.glade.h:383 msgid "Outer radius:" msgstr "外半径:" -#: ../src/gui/siril3.glade.h:410 +#: ../src/gui/siril3.glade.h:384 msgid "" "Inner radius of the annulus used to measure local background. Default value " "is 20.00." msgstr "用于测量局部背景的环形内半径。缺省值为20.00。" -#: ../src/gui/siril3.glade.h:411 +#: ../src/gui/siril3.glade.h:385 msgid "" "Outer radius of the annulus used to measure local background. Default value " "is 30.00." msgstr "用于测量局部背景的环形外半径。缺省值为30.00。" -#: ../src/gui/siril3.glade.h:412 -msgid "Size of the annulus for background level measurement (pixels):" -msgstr "用于测量背景等级的环形区域大小(像素):" - -#: ../src/gui/siril3.glade.h:413 -msgid "Background" -msgstr "背景" +#: ../src/gui/siril3.glade.h:386 +msgid "Size of the annulus for background level measurement" +msgstr "用于测量背景等级的环形区域大小" -#: ../src/gui/siril3.glade.h:414 +#: ../src/gui/siril3.glade.h:387 msgid "Restore to Default" msgstr "恢复为缺省值" -#: ../src/gui/siril3.glade.h:415 +#: ../src/gui/siril3.glade.h:388 msgid "Restore the defaut parameters" msgstr "恢复缺省参数" -#: ../src/gui/siril3.glade.h:416 +#: ../src/gui/siril3.glade.h:389 msgid "Photometry" msgstr "光度测定" -#: ../src/gui/siril3.glade.h:417 -msgid "Restore the defaut swap storage directory" -msgstr "恢复为缺省的swap目录" - -#: ../src/gui/siril3.glade.h:418 +#: ../src/gui/siril3.glade.h:390 msgid "" "Select an existing directory. Make sure you have write permissions and " "enough spaces." msgstr "选择一个已有的目录,该目录须要具有写权限和足够的空间。" -#: ../src/gui/siril3.glade.h:419 +#: ../src/gui/siril3.glade.h:391 msgid "Select Swap Directory" msgstr "选择Swap目录" -#: ../src/gui/siril3.glade.h:420 +#: ../src/gui/siril3.glade.h:392 +msgid "Restore the defaut swap storage directory" +msgstr "恢复为缺省的swap目录" + +#: ../src/gui/siril3.glade.h:393 msgid "Swap Storage Directory" msgstr "Swap目录" -#: ../src/gui/siril3.glade.h:421 -msgid "Ratio of Available Memory Used: " -msgstr "所使用的可用内存的比例: " - -#: ../src/gui/siril3.glade.h:422 +#: ../src/gui/siril3.glade.h:394 msgid "" "The memory used corresponds to this value times the total of available " "memory.\n" @@ -1844,70 +1737,69 @@ "程序所使用的内存占可用内存的比例。\n" "警告:降低这个比例会影响程序的执行效率。" -#: ../src/gui/siril3.glade.h:424 -msgid "Memory Managment" -msgstr "内存管理" +#: ../src/gui/siril3.glade.h:396 +msgid "RAM ratio" +msgstr "内存占用率" -#: ../src/gui/siril3.glade.h:425 +#: ../src/gui/siril3.glade.h:397 msgid "Type of extension: " msgstr "扩展名类型: " -#: ../src/gui/siril3.glade.h:426 +#: ../src/gui/siril3.glade.h:398 msgid ".fit" msgstr ".fit" -#: ../src/gui/siril3.glade.h:427 +#: ../src/gui/siril3.glade.h:399 msgid ".fits" msgstr ".fits" -#: ../src/gui/siril3.glade.h:428 +#: ../src/gui/siril3.glade.h:400 msgid ".fts" msgstr ".fts" -#: ../src/gui/siril3.glade.h:429 +#: ../src/gui/siril3.glade.h:401 msgid "FITS Format" msgstr "FITS 格式" -#: ../src/gui/siril3.glade.h:430 +#: ../src/gui/siril3.glade.h:402 msgid "Don't ask before quitting" msgstr "退出前不询问" -#: ../src/gui/siril3.glade.h:431 +#: ../src/gui/siril3.glade.h:403 msgid "Confirmation dialog" msgstr "确认对话框" -#: ../src/gui/siril3.glade.h:432 -msgid "" -"Using dark GTK theme\n" -"(may require restarting)" -msgstr "" -"使用drak GTK主题\n" -"(需要重新启动)" +#: ../src/gui/siril3.glade.h:404 +msgid "Change the theme of the interface." +msgstr "更改界面的主题。" -#: ../src/gui/siril3.glade.h:434 -msgid "" -"Some dialogs of Siril have non-standard bright colours. With a dark theme, " -"where the text is bright too, that's unreadable. Checking here will change " -"these non-standard colours to dark." -msgstr "" -"某些Siril对话框具有非标准的亮色。当使用暗色主题时,这些文字仍是亮色,会难以阅" -"读。点选此处将会改变这些非标准色彩为暗色。" +#: ../src/gui/siril3.glade.h:405 +msgid "Automatic" +msgstr "自动" + +#: ../src/gui/siril3.glade.h:406 +msgid "Dark theme" +msgstr "暗色主题" + +#: ../src/gui/siril3.glade.h:407 +msgid "Light theme" +msgstr "亮色主题" -#: ../src/gui/siril3.glade.h:435 +#: ../src/gui/siril3.glade.h:408 msgid "Remember window positions" -msgstr "" +msgstr "记住窗口位置" -#: ../src/gui/siril3.glade.h:436 +#: ../src/gui/siril3.glade.h:409 msgid "" "Remember positions of image displaying windows. This feature may not work on " "all architectures." -msgstr "" +msgstr "记住已打开窗口的位置。该功能不保证在所有的平台上都奏效。" -#: ../src/gui/siril3.glade.h:437 +#: ../src/gui/siril3.glade.h:410 msgid "Look and feel" msgstr "外观" -#: ../src/gui/siril3.glade.h:438 +#: ../src/gui/siril3.glade.h:411 msgid "" "The paths written in this text box will be checked in order to load scripts " "that have been put inside. Write a path per line with as many lines you " @@ -1919,63 +1811,67 @@ "want. However you have to keep in mind that more paths are cheked the longer " "is the startup." -#: ../src/gui/siril3.glade.h:439 +#: ../src/gui/siril3.glade.h:412 msgid "Scripts Storage Directories" msgstr "脚本存放目录" -#: ../src/gui/siril3.glade.h:440 +#: ../src/gui/siril3.glade.h:413 msgid "Misc." msgstr "杂项." -#: ../src/gui/siril3.glade.h:441 +#: ../src/gui/siril3.glade.h:414 msgid "Dynamic PSF" msgstr "动态PSF" -#: ../src/gui/siril3.glade.h:442 +#: ../src/gui/siril3.glade.h:415 msgid "Ch." msgstr "Ch." -#: ../src/gui/siril3.glade.h:443 +#: ../src/gui/siril3.glade.h:416 +msgid "B" +msgstr "B" + +#: ../src/gui/siril3.glade.h:417 msgid "A" msgstr "A" -#: ../src/gui/siril3.glade.h:444 +#: ../src/gui/siril3.glade.h:418 msgid "x0" msgstr "x0" -#: ../src/gui/siril3.glade.h:445 +#: ../src/gui/siril3.glade.h:419 msgid "y0" msgstr "y0" -#: ../src/gui/siril3.glade.h:446 +#: ../src/gui/siril3.glade.h:420 msgid "FWHMx" msgstr "FWHMx" -#: ../src/gui/siril3.glade.h:447 +#: ../src/gui/siril3.glade.h:421 msgid "FWHMy" msgstr "FWHMy" -#: ../src/gui/siril3.glade.h:448 +#: ../src/gui/siril3.glade.h:422 msgid "Mag" -msgstr "" +msgstr "星等" -#: ../src/gui/siril3.glade.h:449 +#: ../src/gui/siril3.glade.h:423 msgid "r" msgstr "圆度" -#: ../src/gui/siril3.glade.h:450 +#: ../src/gui/siril3.glade.h:424 msgid "Angle" msgstr "偏角" -#: ../src/gui/siril3.glade.h:451 +#: ../src/gui/siril3.glade.h:425 msgid "RMSE" msgstr "RMSE" -#: ../src/gui/siril3.glade.h:452 +#: ../src/gui/siril3.glade.h:426 msgid "Size in pixels of the search box." msgstr "搜索框的像素尺寸。" -#: ../src/gui/siril3.glade.h:453 +#: ../src/gui/siril3.glade.h:427 msgid "" "Threshold value above the noise for stars detection.\n" "The median and standard deviation values of the image are determined, then " @@ -1986,19 +1882,19 @@ "图像的中位数和标准背离值将被侦测,阀值则为:中位数+[阀值]*标准背离值\n" "缺省值为1.00。" -#: ../src/gui/siril3.glade.h:456 +#: ../src/gui/siril3.glade.h:430 msgid "Radius: " msgstr "半径: " -#: ../src/gui/siril3.glade.h:457 +#: ../src/gui/siril3.glade.h:431 msgid "Threshold: " msgstr "阀值: " -#: ../src/gui/siril3.glade.h:458 +#: ../src/gui/siril3.glade.h:432 msgid "Roundness threshold:" msgstr "圆度阀值:" -#: ../src/gui/siril3.glade.h:459 +#: ../src/gui/siril3.glade.h:433 msgid "" "Threshold value of star roundnesses. Decrease this value if your stars show " "small trails.\n" @@ -2009,306 +1905,309 @@ "星点的圆度阀值。如果星点拖线则可以减小此值。\n" "警告:此处更改会影响星点侦测,请确定你有足够的理由来修改它。" -#: ../src/gui/siril3.glade.h:462 -msgid "Star Detection" -msgstr "星点侦测" - -#: ../src/gui/siril3.glade.h:463 -msgid "Export PSF parameters in a ASCII file" +#: ../src/gui/siril3.glade.h:436 +msgid "Export PSF parameters in an ASCII file" msgstr "导出PSF数据到ASCII文件" -#: ../src/gui/siril3.glade.h:464 +#: ../src/gui/siril3.glade.h:437 msgid "Remove selected star from the list" msgstr "移除所选的星点" -#: ../src/gui/siril3.glade.h:465 +#: ../src/gui/siril3.glade.h:438 msgid "Remove all stars from the list" msgstr "清空整个列表" -#: ../src/gui/siril3.glade.h:466 +#: ../src/gui/siril3.glade.h:439 msgid "Wavelets control" msgstr "小波控制" -#: ../src/gui/siril3.glade.h:467 +#: ../src/gui/siril3.glade.h:440 msgid "Cancel all changes applied" msgstr "取消所有的更改" -#: ../src/gui/siril3.glade.h:468 +#: ../src/gui/siril3.glade.h:441 msgid "Select an algorithm type to perform wavelets" msgstr "选择一个小波算法" -#: ../src/gui/siril3.glade.h:469 +#: ../src/gui/siril3.glade.h:442 msgid "Type:" msgstr "类型:" -#: ../src/gui/siril3.glade.h:470 +#: ../src/gui/siril3.glade.h:443 msgid "Nb of plans:" msgstr "通道数:" -#: ../src/gui/siril3.glade.h:471 +#: ../src/gui/siril3.glade.h:444 msgid "Number of wavelet layers that will be used" msgstr "小波图层数量" -#: ../src/gui/siril3.glade.h:472 +#: ../src/gui/siril3.glade.h:445 msgid "Compute wavelets" msgstr "计算小波" -#: ../src/gui/siril3.glade.h:473 +#: ../src/gui/siril3.glade.h:446 msgid "1st Plan:" msgstr "通道1:" -#: ../src/gui/siril3.glade.h:474 +#: ../src/gui/siril3.glade.h:447 msgid "2nd Plan:" msgstr "通道2:" -#: ../src/gui/siril3.glade.h:475 +#: ../src/gui/siril3.glade.h:448 msgid "3th Plan:" msgstr "通道3:" -#: ../src/gui/siril3.glade.h:476 +#: ../src/gui/siril3.glade.h:449 msgid "4th Plan:" msgstr "通道4:" -#: ../src/gui/siril3.glade.h:477 +#: ../src/gui/siril3.glade.h:450 msgid "5th Plan:" msgstr "通道5:" -#: ../src/gui/siril3.glade.h:478 +#: ../src/gui/siril3.glade.h:451 msgid "6th Plan:" msgstr "通道6:" -#: ../src/gui/siril3.glade.h:479 +#: ../src/gui/siril3.glade.h:452 msgid "Reset changes" msgstr "重置所有通道" -#: ../src/gui/siril3.glade.h:480 +#: ../src/gui/siril3.glade.h:453 msgid "Adjust" msgstr "调整" -#: ../src/gui/siril3.glade.h:481 +#: ../src/gui/siril3.glade.h:454 msgid "Rotation" msgstr "旋转" -#: ../src/gui/siril3.glade.h:482 +#: ../src/gui/siril3.glade.h:455 msgid "Angle (°): " msgstr "角度(°): " -#: ../src/gui/siril3.glade.h:483 +#: ../src/gui/siril3.glade.h:456 msgid "Checking this box will crop the output image." msgstr "点选此处将会裁剪输出的图像。" -#: ../src/gui/siril3.glade.h:484 +#: ../src/gui/siril3.glade.h:457 msgid "Angle in degrees. Rotation center is the center of the image." msgstr "旋转的角度。旋转中心为图像中心。" -#: ../src/gui/siril3.glade.h:485 +#: ../src/gui/siril3.glade.h:458 msgid "Type of algorithm used for rotation" msgstr "旋转所用的算法" -#: ../src/gui/siril3.glade.h:486 +#: ../src/gui/siril3.glade.h:459 msgid "Siril control center" msgstr "Siril控制中心" -#: ../src/gui/siril3.glade.h:487 +#: ../src/gui/siril3.glade.h:460 msgid "_File" msgstr "_文件" -#: ../src/gui/siril3.glade.h:488 +#: ../src/gui/siril3.glade.h:461 msgid "Save as..." msgstr "另存为..." -#: ../src/gui/siril3.glade.h:489 +#: ../src/gui/siril3.glade.h:462 +msgid "Informations..." +msgstr "信息…" + +#: ../src/gui/siril3.glade.h:463 msgid "FITS Header..." msgstr "FITS 文件头..." -#: ../src/gui/siril3.glade.h:490 +#: ../src/gui/siril3.glade.h:464 msgid "_Edit" msgstr "_编辑" -#: ../src/gui/siril3.glade.h:491 +#: ../src/gui/siril3.glade.h:465 msgid "_Image Processing" msgstr "_图像处理" -#: ../src/gui/siril3.glade.h:492 -#, fuzzy +#: ../src/gui/siril3.glade.h:466 msgid "Asinh Transformation..." -msgstr "直方图变换…" +msgstr "反双曲正弦变换…" -#: ../src/gui/siril3.glade.h:493 +#: ../src/gui/siril3.glade.h:467 msgid "Histogram Transformation..." msgstr "直方图变换…" -#: ../src/gui/siril3.glade.h:494 +#: ../src/gui/siril3.glade.h:468 +msgid "Color Calibration" +msgstr "色彩校准" + +#: ../src/gui/siril3.glade.h:469 msgid "Color Calibration..." msgstr "色彩校准..." -#: ../src/gui/siril3.glade.h:495 -#, fuzzy +#: ../src/gui/siril3.glade.h:470 +msgid "Photometric Color Calibration..." +msgstr "光度计色彩校准..." + +#: ../src/gui/siril3.glade.h:471 msgid "Color Saturation..." -msgstr "饱和度..." +msgstr "彩色饱和度..." -#: ../src/gui/siril3.glade.h:496 +#: ../src/gui/siril3.glade.h:472 msgid "Remove Green Noise..." msgstr "除去绿色噪声…" -#: ../src/gui/siril3.glade.h:497 -#, fuzzy +#: ../src/gui/siril3.glade.h:473 msgid "Negative Transformation" -msgstr "直方图变换…" +msgstr "负片变换" -#: ../src/gui/siril3.glade.h:498 +#: ../src/gui/siril3.glade.h:474 msgid "À trous Wavelets Transform..." msgstr "小波变换(ATWT)…" -#: ../src/gui/siril3.glade.h:499 +#: ../src/gui/siril3.glade.h:475 msgid "Banding Reduction..." msgstr "除去条纹…" -#: ../src/gui/siril3.glade.h:500 +#: ../src/gui/siril3.glade.h:476 msgid "Cosmetic Correction..." msgstr "降噪..." -#: ../src/gui/siril3.glade.h:501 ../src/opencv/opencv.cpp:542 +#: ../src/gui/siril3.glade.h:477 ../src/opencv/opencv.cpp:565 msgid "Deconvolution..." msgstr "反卷积…" -#: ../src/gui/siril3.glade.h:502 +#: ../src/gui/siril3.glade.h:478 msgid "Fourier Transform..." msgstr "傅立叶变换..." -#: ../src/gui/siril3.glade.h:503 +#: ../src/gui/siril3.glade.h:479 msgid "Median Filter..." msgstr "中位数滤镜..." -#: ../src/gui/siril3.glade.h:504 -#, fuzzy +#: ../src/gui/siril3.glade.h:480 msgid "Rotational Gradient..." -msgstr "旋转…" +msgstr "旋转渐变…" -#: ../src/gui/siril3.glade.h:505 +#: ../src/gui/siril3.glade.h:481 msgid "Geometry" msgstr "几何调整" -#: ../src/gui/siril3.glade.h:506 +#: ../src/gui/siril3.glade.h:482 msgid "Horizontal Mirror" msgstr "水平翻转" -#: ../src/gui/siril3.glade.h:507 +#: ../src/gui/siril3.glade.h:483 msgid "Vertical Mirror" msgstr "垂直翻转" -#: ../src/gui/siril3.glade.h:508 +#: ../src/gui/siril3.glade.h:484 msgid "Rotation..." msgstr "旋转…" -#: ../src/gui/siril3.glade.h:509 +#: ../src/gui/siril3.glade.h:485 msgid "Resample..." msgstr "重采样…" -#: ../src/gui/siril3.glade.h:510 +#: ../src/gui/siril3.glade.h:486 msgid "Background Extraction..." msgstr "背景提取…" -#: ../src/gui/siril3.glade.h:511 +#: ../src/gui/siril3.glade.h:487 msgid "Extraction" msgstr "提取" -#: ../src/gui/siril3.glade.h:512 +#: ../src/gui/siril3.glade.h:488 msgid "Channels..." msgstr "通道…" -#: ../src/gui/siril3.glade.h:513 +#: ../src/gui/siril3.glade.h:489 msgid "Wavelet Layers..." msgstr "小波图层…" -#: ../src/gui/siril3.glade.h:514 +#: ../src/gui/siril3.glade.h:490 msgid "RGB Compositing..." msgstr "RGB合成…" -#: ../src/gui/siril3.glade.h:515 +#: ../src/gui/siril3.glade.h:491 msgid "_Scripts" msgstr "_Scripts" -#: ../src/gui/siril3.glade.h:516 +#: ../src/gui/siril3.glade.h:492 msgid "_Analysis" msgstr "_分析" -#: ../src/gui/siril3.glade.h:517 +#: ../src/gui/siril3.glade.h:493 msgid "Dynamic PSF..." msgstr "动态PSF..." -#: ../src/gui/siril3.glade.h:518 +#: ../src/gui/siril3.glade.h:494 msgid "Image Plate Solver..." -msgstr "" +msgstr "图像解析…" -#: ../src/gui/siril3.glade.h:519 +#: ../src/gui/siril3.glade.h:495 msgid "Statistics..." msgstr "统计..." -#: ../src/gui/siril3.glade.h:520 +#: ../src/gui/siril3.glade.h:496 msgid "Noise Estimation" msgstr "噪声评估" -#: ../src/gui/siril3.glade.h:521 +#: ../src/gui/siril3.glade.h:497 msgid "_Windows" msgstr "_窗口" -#: ../src/gui/siril3.glade.h:522 +#: ../src/gui/siril3.glade.h:498 msgid "Gray Channels Images" msgstr "灰度通道图像" -#: ../src/gui/siril3.glade.h:523 +#: ../src/gui/siril3.glade.h:499 msgid "Color Image" msgstr "彩色图像" -#: ../src/gui/siril3.glade.h:524 +#: ../src/gui/siril3.glade.h:500 msgid "_Help" msgstr "_帮助" -#: ../src/gui/siril3.glade.h:525 +#: ../src/gui/siril3.glade.h:501 msgid "Check For Updates" msgstr "检查更新" -#: ../src/gui/siril3.glade.h:526 -#, fuzzy +#: ../src/gui/siril3.glade.h:502 msgid "Get scripts" -msgstr "_Scripts" +msgstr "获取脚本" -#: ../src/gui/siril3.glade.h:527 +#: ../src/gui/siril3.glade.h:503 msgid "" "This conversion tab is used to import files and convert them into a format " "with which Siril can work: FITS or SER." msgstr "转化标签页用于导入文件并且将其转化为Siril可以操作的格式:FITS 或 SER。" -#: ../src/gui/siril3.glade.h:528 +#: ../src/gui/siril3.glade.h:504 msgid "Source" msgstr "源文件" -#: ../src/gui/siril3.glade.h:529 +#: ../src/gui/siril3.glade.h:505 msgid "Date" msgstr "日期" -#: ../src/gui/siril3.glade.h:530 +#: ../src/gui/siril3.glade.h:506 msgid "Add files to convert" msgstr "添加文件用于转化" -#: ../src/gui/siril3.glade.h:531 +#: ../src/gui/siril3.glade.h:507 msgid "Remove selected files" msgstr "移除所选的文件" -#: ../src/gui/siril3.glade.h:532 +#: ../src/gui/siril3.glade.h:508 msgid "Remove all files from the list" msgstr "移除列表里所有的文件" -#: ../src/gui/siril3.glade.h:533 +#: ../src/gui/siril3.glade.h:509 msgid "Destination" msgstr "目标文件" -#: ../src/gui/siril3.glade.h:534 +#: ../src/gui/siril3.glade.h:510 msgid "Sequence name:" msgstr "队列名称:" -#: ../src/gui/siril3.glade.h:535 +#: ../src/gui/siril3.glade.h:511 msgid "" "Enter the base name of the sequence, for example NGC_6822-L. It will create " "images in the form NGC_6822-L_00001.fit. The name can also end with .ser, " @@ -2317,43 +2216,43 @@ "键入队列的文件名词根,例如NGC_6822-L,程序会创建文件名从NGC_6822-L_00001.fit" "开始。文件名可以加入.ser后缀,这样将会输出为SER格式。" -#: ../src/gui/siril3.glade.h:536 +#: ../src/gui/siril3.glade.h:512 msgid "Colour image target" msgstr "彩色图像目标" -#: ../src/gui/siril3.glade.h:537 +#: ../src/gui/siril3.glade.h:513 msgid "Keep three channels" msgstr "包含三个通道" -#: ../src/gui/siril3.glade.h:538 +#: ../src/gui/siril3.glade.h:514 msgid "" "Keep the destination image with RGB channels, do not change the channels " "configuration." msgstr "在目标文件中包含RGB通道,不改各个变通道的设置。" -#: ../src/gui/siril3.glade.h:539 +#: ../src/gui/siril3.glade.h:515 msgid "Create three images" msgstr "分拆为三个文件" -#: ../src/gui/siril3.glade.h:540 +#: ../src/gui/siril3.glade.h:516 msgid "Split an RGB image into three images, R, G and B." msgstr "将RGB通道分拆为R,G和B三个单独的文件。" -#: ../src/gui/siril3.glade.h:541 +#: ../src/gui/siril3.glade.h:517 msgid "Keep only first channel" msgstr "只保留第一个通道" -#: ../src/gui/siril3.glade.h:542 +#: ../src/gui/siril3.glade.h:518 msgid "For an RGB image, only keep R. Useful for grey images stored as RGB." msgstr "只保留RGB图像中的R通道。一般用于以RGB模式保存的灰度图像。" -#: ../src/gui/siril3.glade.h:543 +#: ../src/gui/siril3.glade.h:519 msgid "" "Indicates the start indice of your converted files. This value must be " "included in the [1, 65535] range." msgstr "转化文件的起始点。该值必须在[1, 65535]范围内。" -#: ../src/gui/siril3.glade.h:544 +#: ../src/gui/siril3.glade.h:520 msgid "" "Debayer single-channel images (CFA format) using the Bayer matrix layout " "given in the settings. Also applies to image opening, not only conversion.\n" @@ -2364,18 +2263,18 @@ "化,也作用于打开的图像。\n" "只针对RAW和FITS图像文件,还有SER视频。" -#: ../src/gui/siril3.glade.h:547 +#: ../src/gui/siril3.glade.h:523 msgid "" "Start conversion of all source files into the configured output files, FITS " "or SER, with colour processing or not." msgstr "" "开始转化所有元文件为所设定的目标文件(彩色化开启或关闭),格式为FITS或者SER。" -#: ../src/gui/siril3.glade.h:548 +#: ../src/gui/siril3.glade.h:524 msgid "Create as many SER files as input files" msgstr "创建跟源文件数目相同的SER文件" -#: ../src/gui/siril3.glade.h:549 +#: ../src/gui/siril3.glade.h:525 msgid "" "Tick this to create several SER files instead of a single SER file for all " "input elements. Use this if input elements (films) don't share the same " @@ -2384,11 +2283,11 @@ "点选此处用于创建数个SER文件而非单一的。用于当原始素材(视频)为非相同分辨率大" "小,或因某些原因不准备被一起处理。" -#: ../src/gui/siril3.glade.h:550 +#: ../src/gui/siril3.glade.h:526 msgid "Supported file types:" msgstr "支持文件类型:" -#: ../src/gui/siril3.glade.h:551 +#: ../src/gui/siril3.glade.h:527 msgid "" "Supported types depend on compile-time libraries availability. See " "documentation.\n" @@ -2403,11 +2302,11 @@ "视频为任何可以被转化为FITS或者SER的格式。\n" "SER为可直接操作的队列文件,并且尚不支持转化。" -#: ../src/gui/siril3.glade.h:555 +#: ../src/gui/siril3.glade.h:531 msgid "File conversion" msgstr "文件转化" -#: ../src/gui/siril3.glade.h:556 +#: ../src/gui/siril3.glade.h:532 msgid "" "Images are manipulated in sequences. Siril can find sequences in CWD, and " "you can filter images out." @@ -2415,28 +2314,28 @@ "图像以队列的形式被Siril操作,Siril可以发现当前目录中的队列,并且用户可以筛选" "其中的图像。" -#: ../src/gui/siril3.glade.h:557 +#: ../src/gui/siril3.glade.h:533 msgid "Sequence selection" msgstr "队列选择" -#: ../src/gui/siril3.glade.h:558 +#: ../src/gui/siril3.glade.h:534 msgid "Sequence:" msgstr "队列:" -#: ../src/gui/siril3.glade.h:559 +#: ../src/gui/siril3.glade.h:535 msgid "Search sequences" msgstr "查找队列" -#: ../src/gui/siril3.glade.h:560 +#: ../src/gui/siril3.glade.h:536 msgid "" "Search current directory for sequences of FITS images, SER or film videos." msgstr "在当前目录中搜索以FITS文件组成的队列,SER文件或者视频文件。" -#: ../src/gui/siril3.glade.h:561 +#: ../src/gui/siril3.glade.h:537 msgid "Force .seq recomputation" msgstr "强制.seq文件重新计算" -#: ../src/gui/siril3.glade.h:562 +#: ../src/gui/siril3.glade.h:538 msgid "" "By default, Siril takes the data from seq file if already computed. However " "you can force Siril to recompute the file if some changes have not been " @@ -2450,15 +2349,15 @@ "此按钮被使用过以后会自动重置为空。\n" "警告:本操作会清空所有对齐和统计信息。" -#: ../src/gui/siril3.glade.h:566 +#: ../src/gui/siril3.glade.h:542 msgid "Image selection in sequence" msgstr "队列中的文件选择" -#: ../src/gui/siril3.glade.h:567 +#: ../src/gui/siril3.glade.h:543 msgid "No sequence selected" msgstr "当前所选序列号" -#: ../src/gui/siril3.glade.h:568 +#: ../src/gui/siril3.glade.h:544 msgid "" "Image index in the sequence. You can also use arrow keys to browse images, " "and the SPACE key to toggle exclude for the current image." @@ -2466,21 +2365,21 @@ "队列中的图像序号。用户也可以使用方向键来遍历图像,空格键来切换是否排除当前图" "像。" -#: ../src/gui/siril3.glade.h:569 +#: ../src/gui/siril3.glade.h:545 msgid "Excluded" msgstr "已排除" -#: ../src/gui/siril3.glade.h:570 +#: ../src/gui/siril3.glade.h:546 msgid "" "Whether or not the image is excluded from processing (the file itself is not " "deleted)" msgstr "图像是否被排除在后续处理之外" -#: ../src/gui/siril3.glade.h:571 +#: ../src/gui/siril3.glade.h:547 msgid "Reference image" msgstr "参考帧" -#: ../src/gui/siril3.glade.h:572 +#: ../src/gui/siril3.glade.h:548 msgid "" "If set, the current image will be the reference image for registration.\n" "Only one image can be the reference image in a sequence, setting it will " @@ -2491,45 +2390,45 @@ "一个队列中只能有一幅图像作为参考帧,新设置的参考帧会覆盖之前的设置。\n" "如果没有被手动指定,则队列里第一幅图像即为参考帧。" -#: ../src/gui/siril3.glade.h:575 +#: ../src/gui/siril3.glade.h:551 msgid "Exclude All" msgstr "全部排除" -#: ../src/gui/siril3.glade.h:576 +#: ../src/gui/siril3.glade.h:552 msgid "Exclude all images of the sequence from the processing schedule" msgstr "队列里所有的图像被排除在后续处理之外" -#: ../src/gui/siril3.glade.h:577 +#: ../src/gui/siril3.glade.h:553 msgid "Include All" msgstr "全部包含" -#: ../src/gui/siril3.glade.h:578 +#: ../src/gui/siril3.glade.h:554 msgid "includes all images of the sequence in the processing schedule" msgstr "队列里所有的图像被包含在后续处理之内" -#: ../src/gui/siril3.glade.h:579 +#: ../src/gui/siril3.glade.h:555 msgid "Sequence export" msgstr "队列导出" -#: ../src/gui/siril3.glade.h:580 +#: ../src/gui/siril3.glade.h:556 msgid "Base name:" msgstr "命名词根:" -#: ../src/gui/siril3.glade.h:581 +#: ../src/gui/siril3.glade.h:557 msgid "Base name for the exported sequence" msgstr "导出队列的文件名词根" -#: ../src/gui/siril3.glade.h:582 +#: ../src/gui/siril3.glade.h:558 msgid "" "Export sequence format. MP4 and WEBM replaces GIF for modern Web " "publication, AVI is not compressed." msgstr "队列导出的格式。MP4和WEBM是用于代替GIF的先进Web格式,AVI是无压缩的。" -#: ../src/gui/siril3.glade.h:583 +#: ../src/gui/siril3.glade.h:559 msgid "Export sequence" msgstr "导出队列" -#: ../src/gui/siril3.glade.h:584 +#: ../src/gui/siril3.glade.h:560 msgid "" "Export the loaded sequence in the selected format. It can be used to store a " "sequence in another format, make animated movies, or store a lighter version " @@ -2539,11 +2438,11 @@ "按照所选定的格式导出当前队列。可用于将队列保存为另外的格式,制作动画,或者重" "新筛选队列内容。所导出的图像帧可以按照与图像叠加相同的条件来进行过滤和筛选。" -#: ../src/gui/siril3.glade.h:585 +#: ../src/gui/siril3.glade.h:561 msgid "Normalize images" msgstr "图像归一化" -#: ../src/gui/siril3.glade.h:586 +#: ../src/gui/siril3.glade.h:562 msgid "" "Activate image normalisation for the export. This will make all images the " "same brightness and is thus recommended for sequences with inconsistent " @@ -2558,84 +2457,84 @@ "耗一些时间来处理。\n" "\t\t\t" -#: ../src/gui/siril3.glade.h:589 +#: ../src/gui/siril3.glade.h:565 msgid "Fps:" msgstr "Fps:" -#: ../src/gui/siril3.glade.h:590 +#: ../src/gui/siril3.glade.h:566 msgid "Frame rate" msgstr "帧率" -#: ../src/gui/siril3.glade.h:591 +#: ../src/gui/siril3.glade.h:567 msgid "Resize" msgstr "缩放" -#: ../src/gui/siril3.glade.h:592 +#: ../src/gui/siril3.glade.h:568 msgid "" "Check this box if you want to resize exported sequence. Note that this will " "degrade image quality." msgstr "若要改变输出队列的图像大小,点选此处。注意这将影响图像质量。" -#: ../src/gui/siril3.glade.h:593 +#: ../src/gui/siril3.glade.h:569 msgid "Width of output video" msgstr "输出视频的宽度" -#: ../src/gui/siril3.glade.h:594 +#: ../src/gui/siril3.glade.h:570 msgid "x" msgstr "x" -#: ../src/gui/siril3.glade.h:595 +#: ../src/gui/siril3.glade.h:571 msgid "Height of output video" msgstr "输出视频的高度" -#: ../src/gui/siril3.glade.h:596 +#: ../src/gui/siril3.glade.h:572 msgid "" "Film quality: lower value will use more compression and less bitrate, also " "resulting is smaller file size." msgstr "视频品质:低数值将导致更高压缩率和更低比特率,同时获得更小的文件尺寸。" -#: ../src/gui/siril3.glade.h:597 ../src/io/sequence_export.c:502 +#: ../src/gui/siril3.glade.h:573 ../src/io/sequence_export.c:482 msgid "Select area to crop" msgstr "选择裁减区域" -#: ../src/gui/siril3.glade.h:598 +#: ../src/gui/siril3.glade.h:574 msgid "Image selection uses the same controls as for stacking" msgstr "使用图像叠加相同的条件来选择每一帧" -#: ../src/gui/siril3.glade.h:599 +#: ../src/gui/siril3.glade.h:575 msgid "Go to the stacking tab" msgstr "进入叠加标签页" -#: ../src/gui/siril3.glade.h:600 +#: ../src/gui/siril3.glade.h:576 msgid "Sequence" msgstr "队列" -#: ../src/gui/siril3.glade.h:601 +#: ../src/gui/siril3.glade.h:577 msgid "Pre-processing is an optional step to apply to a sequence of images." msgstr "针对一个图像队列的预处理是一个可选的步骤。" -#: ../src/gui/siril3.glade.h:602 +#: ../src/gui/siril3.glade.h:578 msgid "" "The single file is often called the master file, which is the result of the " "processing of several frames, for each type of master image." msgstr "这个单一的文件也被称为主文件,是每一种类型的若干帧叠加处理后的结果。" -#: ../src/gui/siril3.glade.h:603 +#: ../src/gui/siril3.glade.h:579 msgid "Dark, offset (bias) and flat files can only be a single FITS file." msgstr "暗场,偏置和平场,只能为单一的FITS文件。" #. Flat is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:605 +#: ../src/gui/siril3.glade.h:581 msgid "Use flat" msgstr "使用平场" -#: ../src/gui/siril3.glade.h:606 +#: ../src/gui/siril3.glade.h:582 msgid "" "All images in the sequence will be divided by the master flat image (each " "pixel value)." msgstr "队列中的所有图像将被主平场帧除(每个像素点)。" -#: ../src/gui/siril3.glade.h:607 +#: ../src/gui/siril3.glade.h:583 msgid "" "Enter the master flat file name here, or use the browse button.\n" "All images in the sequence will be divided by the master flat image (each " @@ -2644,20 +2543,20 @@ "键入主平场帧的文件名,或者使用浏览按钮。\n" "队列中的所有图像将被主平场帧除(每个像素点)。" -#: ../src/gui/siril3.glade.h:609 +#: ../src/gui/siril3.glade.h:585 msgid "Browse..." msgstr "浏览..." #. Dark is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:611 +#: ../src/gui/siril3.glade.h:587 msgid "Use dark" msgstr "使用暗场" -#: ../src/gui/siril3.glade.h:612 +#: ../src/gui/siril3.glade.h:588 msgid "The dark master image will be removed from all images in the sequence." msgstr "主暗场帧将被从队列中所有图像中扣除(减)。" -#: ../src/gui/siril3.glade.h:613 +#: ../src/gui/siril3.glade.h:589 msgid "" "Enter the master dark file name here, or use the browse button.\n" "The dark master image will be removed from all images in the sequence." @@ -2666,16 +2565,16 @@ "主暗场帧将被从队列中所有图像中扣除(减)。" #. Offset is the kind of the picture used here. In french I -#: ../src/gui/siril3.glade.h:616 +#: ../src/gui/siril3.glade.h:592 msgid "Use offset" msgstr "使用偏置" -#: ../src/gui/siril3.glade.h:617 +#: ../src/gui/siril3.glade.h:593 msgid "" "The bias/offset master image will be removed from all images in the sequence." msgstr "主偏置帧将被从队列中所有图像中扣除(减)。" -#: ../src/gui/siril3.glade.h:618 +#: ../src/gui/siril3.glade.h:594 msgid "" "Enter the master bias/offset file name here, or use the browse button.\n" "The bias/offset master image will be removed from all images in the sequence." @@ -2683,19 +2582,19 @@ "键入主偏置帧的文件名,或者使用浏览按钮。\n" "主偏置帧将被从队列中所有图像中扣除(减)。" -#: ../src/gui/siril3.glade.h:620 +#: ../src/gui/siril3.glade.h:596 msgid "Choose your own normalisation value." msgstr "选择自定义的归一化参数。" -#: ../src/gui/siril3.glade.h:621 +#: ../src/gui/siril3.glade.h:597 msgid "Normalisation value for flat division" msgstr "除平场时所用的归一化参数" -#: ../src/gui/siril3.glade.h:622 +#: ../src/gui/siril3.glade.h:598 msgid "Dark optimization" msgstr "暗场优化" -#: ../src/gui/siril3.glade.h:623 +#: ../src/gui/siril3.glade.h:599 msgid "" "Dark subtraction can be optionally optimized so that the noise of the " "resulting picture (light frame minus dark frame) is minimized by applying a " @@ -2711,11 +2610,11 @@ "\n" "警告:如若没有先期通过扣主偏置帧来得到主暗场帧,则不要应用暗场优化。" -#: ../src/gui/siril3.glade.h:626 +#: ../src/gui/siril3.glade.h:602 msgid "Auto evaluate normalisation value" msgstr "自动估算归一化参数" -#: ../src/gui/siril3.glade.h:627 +#: ../src/gui/siril3.glade.h:603 msgid "" "If this box is checked, Siril will auto-evaluate the normalisation value.\n" "This value is the mean of the master flat calibrated with the master offset." @@ -2723,30 +2622,30 @@ "选定后,Siril会自动估算归一化参数。\n" "这个参数是主平场帧被主偏置帧校准后的中间值。" -#: ../src/gui/siril3.glade.h:629 +#: ../src/gui/siril3.glade.h:605 msgid "Equalize CFA" -msgstr "" +msgstr "均衡CFA" -#: ../src/gui/siril3.glade.h:630 +#: ../src/gui/siril3.glade.h:606 msgid "" "This option equalizes the mean intensity of RGB layers in a CFA flat image." -msgstr "" +msgstr "此选项用于均衡CFA平铺图像中的RGB通道之中位数强度。" -#: ../src/gui/siril3.glade.h:631 +#: ../src/gui/siril3.glade.h:607 msgid "Cosmetic correction (using master-dark)" msgstr "降噪(使用主暗场)" -#: ../src/gui/siril3.glade.h:632 +#: ../src/gui/siril3.glade.h:608 msgid "" "How many times the standard deviation, the pixel value must differ to be " "considered as defective." msgstr "像素的数值被认为是“有缺陷的”所需要达到的标准背离次数。" -#: ../src/gui/siril3.glade.h:633 +#: ../src/gui/siril3.glade.h:609 msgid "Enable Cosmectic Correction" msgstr "启用降噪" -#: ../src/gui/siril3.glade.h:634 +#: ../src/gui/siril3.glade.h:610 msgid "" "Check if you want to apply a hot pixel removal.\n" "Hot pixels are located on the master-dark." @@ -2754,11 +2653,11 @@ "点选以启用热噪点移除。\n" "热噪点由主暗场帧提供。" -#: ../src/gui/siril3.glade.h:636 +#: ../src/gui/siril3.glade.h:612 msgid "Estimate" msgstr "预估" -#: ../src/gui/siril3.glade.h:638 +#: ../src/gui/siril3.glade.h:614 #, no-c-format msgid "" "Click on this button to evaluate the number of deviant pixels. If values are " @@ -2768,24 +2667,23 @@ "点此按钮将预估异常像素点。如果预估值所占总像素比例超过1%,建议用户更改sigma" "值。" -#: ../src/gui/siril3.glade.h:639 +#: ../src/gui/siril3.glade.h:615 msgid "Cold: 0 px" msgstr "冷:0 px" -#: ../src/gui/siril3.glade.h:640 +#: ../src/gui/siril3.glade.h:616 msgid "Hot: 0 px" msgstr "热:0 px" -#: ../src/gui/siril3.glade.h:641 +#: ../src/gui/siril3.glade.h:617 msgid "Output sequence" msgstr "输出队列" -#: ../src/gui/siril3.glade.h:642 -#, fuzzy +#: ../src/gui/siril3.glade.h:618 msgid "Debayer FITS images before saving" msgstr "保存前对FITS图像执行去马赛克" -#: ../src/gui/siril3.glade.h:643 +#: ../src/gui/siril3.glade.h:619 msgid "" "Check this option if you want to apply a demosaicing algorithm to your FITS " "images right after they were preprocessed. By doing this, you skip one " @@ -2799,19 +2697,19 @@ "\n" "警告:此选项仅适用于FITS图像,SER队列可以实时去马赛克。" -#: ../src/gui/siril3.glade.h:646 +#: ../src/gui/siril3.glade.h:622 msgid "Store resulting sequence with prefix:" msgstr "结果所保存为的队列名前缀:" -#: ../src/gui/siril3.glade.h:647 +#: ../src/gui/siril3.glade.h:623 msgid "Prefix of the image names resulting from the pre-processing." msgstr "预处理结果的文件名前缀。" -#: ../src/gui/siril3.glade.h:648 +#: ../src/gui/siril3.glade.h:624 msgid "Start pre-processing" msgstr "开始预处理" -#: ../src/gui/siril3.glade.h:649 +#: ../src/gui/siril3.glade.h:625 msgid "" "Pre-process sequence with the above master files, resulting sequence will be " "in pp_ or another prefix given aside.\n" @@ -2825,29 +2723,37 @@ "完成后,预处理的结果队列会被自动载入成当前队列。\n" "对于DSLR的照片来说,下一个步骤为debayer,请移步转化标签页。" -#: ../src/gui/siril3.glade.h:652 +#: ../src/gui/siril3.glade.h:628 msgid "Pre-processing" msgstr "预处理" -#: ../src/gui/siril3.glade.h:653 +#: ../src/gui/siril3.glade.h:629 msgid "" "Registration is basically aligning the images from a sequence to be able to " "process them afterwards." msgstr "对齐队列里的图像,使之可用于后续处理。" -#: ../src/gui/siril3.glade.h:654 +#: ../src/gui/siril3.glade.h:630 msgid "Image registration" msgstr "图像对齐" -#: ../src/gui/siril3.glade.h:655 +#: ../src/gui/siril3.glade.h:631 +msgid "Register all images from sequence" +msgstr "对齐队列中的所有图像" + +#: ../src/gui/siril3.glade.h:632 +msgid "Register selected images only" +msgstr "仅对齐所选中的图像" + +#: ../src/gui/siril3.glade.h:633 msgid "Choose registration method:" msgstr "选择对齐方法:" -#: ../src/gui/siril3.glade.h:656 +#: ../src/gui/siril3.glade.h:634 msgid "Select registration layer:" msgstr "选择对齐的通道:" -#: ../src/gui/siril3.glade.h:657 +#: ../src/gui/siril3.glade.h:635 msgid "" "Layer on which the registration is done. It can only be done on one layer at " "a time, so on monochrome images.\n" @@ -2861,31 +2767,23 @@ "当图像被处理时,对齐数据是从可用的缺省通道所获取的(对于RBG图像:绿色,然后是" "蓝色和红色)。" -#: ../src/gui/siril3.glade.h:660 -msgid "Register all images from sequence" -msgstr "对齐队列中的所有图像" - -#: ../src/gui/siril3.glade.h:661 -msgid "Register selected images only" -msgstr "仅对齐所选中的图像" - -#: ../src/gui/siril3.glade.h:662 +#: ../src/gui/siril3.glade.h:638 msgid "Prefix:" msgstr "前缀:" -#: ../src/gui/siril3.glade.h:663 +#: ../src/gui/siril3.glade.h:639 msgid "Prefix of the image names resulting from the registration." msgstr "对齐结果的文件名前缀。" -#: ../src/gui/siril3.glade.h:664 +#: ../src/gui/siril3.glade.h:640 msgid "Algorithm: " msgstr "算法: " -#: ../src/gui/siril3.glade.h:665 +#: ../src/gui/siril3.glade.h:641 msgid "Match stars in selection" msgstr "匹配所选范围里的星点" -#: ../src/gui/siril3.glade.h:666 +#: ../src/gui/siril3.glade.h:642 msgid "" "Check this box if you want to perform the Global Star Alignment algorithm " "within the selected area in the reference image. If no selection are done, " @@ -2896,11 +2794,11 @@ "选项会被忽略。\n" "警告:请确定所画的区域内有足够的星点。" -#: ../src/gui/siril3.glade.h:668 +#: ../src/gui/siril3.glade.h:644 msgid "Translation only" msgstr "只平移" -#: ../src/gui/siril3.glade.h:669 +#: ../src/gui/siril3.glade.h:645 msgid "" "This is the only registration that can detect and apply rotations on images. " "However, rotating images will degrade them to a certain extent. Activating " @@ -2916,62 +2814,61 @@ "这对于那些旋转角度很小的图像队列比较适用。\n" "警告:不会有新的队列被创建,对齐信息将被保存于原始队列中。" -#: ../src/gui/siril3.glade.h:673 -msgid "Peak object in #1" -msgstr "" +#: ../src/gui/siril3.glade.h:649 +msgid "Pick object in #1" +msgstr "选择目标于#1" -#: ../src/gui/siril3.glade.h:674 +#: ../src/gui/siril3.glade.h:650 msgid "" "Select an area around the asteroid or the comet core in the first selected " "image, then click on this button. The pixel coordinates of the object will " "be computed and displayed." msgstr "" +"在第一幅图像中选取小行星/彗核周围的一个区域,然后点击此按钮。目标的像素坐标将" +"会被自动计算并显示。" -#: ../src/gui/siril3.glade.h:675 -#, fuzzy +#: ../src/gui/siril3.glade.h:651 msgid "Core X-coordinates of the first image." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "第一幅图像中内核的X坐标。" -#: ../src/gui/siril3.glade.h:676 -#, fuzzy +#: ../src/gui/siril3.glade.h:652 msgid "Core Y-coordinates of the first image." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "第一幅图像中内核的Y坐标。" -#: ../src/gui/siril3.glade.h:677 -msgid "Peak object in #2" -msgstr "" +#: ../src/gui/siril3.glade.h:653 +msgid "Pick object in #2" +msgstr "选择目标于#2" -#: ../src/gui/siril3.glade.h:678 +#: ../src/gui/siril3.glade.h:654 msgid "" "Select an area around the asteroid or the comet core in the last selected " "image, then click on this button. The pixel coordinates of the object will " "be computed and displayed." msgstr "" +"在第二幅幅图像中选取小行星/彗核周围的一个区域,然后点击此按钮。目标的像素坐标" +"将会被自动计算并显示。" -#: ../src/gui/siril3.glade.h:679 -#, fuzzy +#: ../src/gui/siril3.glade.h:655 msgid "Core X-coordinates of the second image." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "第二幅图像中内核的X坐标。" -#: ../src/gui/siril3.glade.h:680 -#, fuzzy +#: ../src/gui/siril3.glade.h:656 msgid "Core Y-coordinates of the second image." -msgstr "Returns the coordinates of the center of gravity of the image" +msgstr "第二幅图像中内核的Y坐标。" -#: ../src/gui/siril3.glade.h:681 +#: ../src/gui/siril3.glade.h:657 msgid "Comet velocity in pixel per hour." -msgstr "" +msgstr "彗星速率(像素/小时)。" -#: ../src/gui/siril3.glade.h:682 -#, fuzzy +#: ../src/gui/siril3.glade.h:658 msgid "Velocity: " -msgstr "品质: " +msgstr "速率: " -#: ../src/gui/siril3.glade.h:683 +#: ../src/gui/siril3.glade.h:659 msgid "Go register" msgstr "执行对齐" -#: ../src/gui/siril3.glade.h:684 +#: ../src/gui/siril3.glade.h:660 msgid "" "Start the registration process. It will register images in the loaded " "sequence using the selected method and reference layer (loaded in the 'Image " @@ -2980,15 +2877,15 @@ "开启对齐处理。将使用所选定的方法和参考通道来对齐队列中的图像(在“图像队列”标" "签页中载入,当前队列名称也会在窗口底部显示)。" -#: ../src/gui/siril3.glade.h:685 ../src/registration/registration.c:706 +#: ../src/gui/siril3.glade.h:661 ../src/registration/registration.c:702 msgid "Load a sequence first." msgstr "请先载入队列。" -#: ../src/gui/siril3.glade.h:686 +#: ../src/gui/siril3.glade.h:662 msgid "Simplified Drizzle x2" msgstr "Simplified Drizzle x2" -#: ../src/gui/siril3.glade.h:687 +#: ../src/gui/siril3.glade.h:663 msgid "" "Activate the simplified drizzle algorithm for the processing of this " "sequence. An up-scale (x2) will be applied to the registered frame or during " @@ -3008,17 +2905,17 @@ "叠加过程中(取决于对齐算法的选择),这将导致图像的分辨率被放大。\n" "本选项适用于欠采样图像,例如望远镜焦距相对于像素大小太小。当FWHM小于2像素时," "该系统可被认为是欠采样。\n" -"本算法的正式名称为超分辨率叠加,不过有个更加通俗的名字是“Simplified Drizzle " +"本算法的正式名称为超采样叠加,不过有个更加通俗的名字是“Simplified Drizzle " "x2”。\n" "\n" "警告:应用本选项会造成更高分辨率的图像被生成,因此其对计算机内存和磁盘空间有" "相当于Drizzle因子的平方倍数量的需求。" -#: ../src/gui/siril3.glade.h:692 +#: ../src/gui/siril3.glade.h:668 msgid "Cumul reg. data" -msgstr "" +msgstr "累计对齐数据" -#: ../src/gui/siril3.glade.h:693 +#: ../src/gui/siril3.glade.h:669 msgid "" "Check this button if you want the new registration data to be added to the " "previous one.\n" @@ -3026,12 +2923,15 @@ "method that does not build a new sequence, but it should be unchecked when " "the comet/asteroid algorithm is applied several times." msgstr "" +"选择此选项会将新的对齐数据累计到原有数据上。\n" +"此选项可用于此队列之前已被用某算法对齐过,并未产生新的队列之情况下。但是当小" +"行星/彗星对齐算法被使用过的情况下请不要选择。" -#: ../src/gui/siril3.glade.h:695 +#: ../src/gui/siril3.glade.h:671 msgid "Follow star movement" msgstr "跟随星点移动" -#: ../src/gui/siril3.glade.h:696 +#: ../src/gui/siril3.glade.h:672 msgid "" "Use this option to use the position of the star found in the previous image " "as new centre for the current image registration. This allows the selection " @@ -3044,15 +2944,15 @@ "择区域可以更小,对齐更快,并且统计大量的星点。\n" "警告:开启本选项会要求对齐操作非并行,因此只能使用一个CPU核心来运行。" -#: ../src/gui/siril3.glade.h:698 +#: ../src/gui/siril3.glade.h:674 msgid "Manual registration" msgstr "手动对齐" -#: ../src/gui/siril3.glade.h:699 +#: ../src/gui/siril3.glade.h:675 msgid "Display reference image" msgstr "显示参考帧" -#: ../src/gui/siril3.glade.h:701 +#: ../src/gui/siril3.glade.h:677 #, no-c-format msgid "" "Display the reference image over the current image using a 50% " @@ -3064,35 +2964,35 @@ "若要开启本选项,参考帧必须已经设定好,\n" "并且至少已经在所选择的对齐通道上显示过一次。" -#: ../src/gui/siril3.glade.h:703 +#: ../src/gui/siril3.glade.h:679 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the X axis." msgstr "改变数值以在X轴上对齐当前帧和参考帧,也可使用鼠标滚轮活着上下方向键。" -#: ../src/gui/siril3.glade.h:704 +#: ../src/gui/siril3.glade.h:680 msgid "X translation:" msgstr "X 平移:" -#: ../src/gui/siril3.glade.h:705 +#: ../src/gui/siril3.glade.h:681 msgid "" "Change this value, using mouse wheel or up and down arrows, to align the " "image with the reference image on the Y axis." msgstr "改变数值以在Y轴上对齐当前帧和参考帧,也可使用鼠标滚轮活着上下方向键。" -#: ../src/gui/siril3.glade.h:706 +#: ../src/gui/siril3.glade.h:682 msgid "Y translation:" msgstr "Y 平移:" -#: ../src/gui/siril3.glade.h:707 +#: ../src/gui/siril3.glade.h:683 msgid "Set reference image first." msgstr "请先选定参考帧。" -#: ../src/gui/siril3.glade.h:708 +#: ../src/gui/siril3.glade.h:684 msgid "Set first preview" msgstr "设置预览一" -#: ../src/gui/siril3.glade.h:709 +#: ../src/gui/siril3.glade.h:685 msgid "" "Allows a preview area to be displayed just below. After clicking on this " "button, click on the image to position the preview area's centre" @@ -3100,53 +3000,53 @@ "在下方区域内显示预览。点击完本按钮后,请点击图像来指定某位置作为预览区域的中" "心" -#: ../src/gui/siril3.glade.h:710 +#: ../src/gui/siril3.glade.h:686 msgid "Set second preview" msgstr "设置预览二" -#: ../src/gui/siril3.glade.h:711 +#: ../src/gui/siril3.glade.h:687 msgid "Registration" msgstr "对齐" -#: ../src/gui/siril3.glade.h:712 +#: ../src/gui/siril3.glade.h:688 msgid "Filename:" msgstr "文件名:" -#: ../src/gui/siril3.glade.h:713 +#: ../src/gui/siril3.glade.h:689 msgid "Enter the filename of the exported CSV file." msgstr "输入导出的CSV文件名。" -#: ../src/gui/siril3.glade.h:714 +#: ../src/gui/siril3.glade.h:690 msgid "Export to CSV" msgstr "导出为CSV" -#: ../src/gui/siril3.glade.h:715 +#: ../src/gui/siril3.glade.h:691 msgid "Export displayed plot to a CSV file." msgstr "将显示的图表导出为CSV文件。" -#: ../src/gui/siril3.glade.h:716 +#: ../src/gui/siril3.glade.h:692 msgid "Clear all" msgstr "清除" -#: ../src/gui/siril3.glade.h:717 +#: ../src/gui/siril3.glade.h:693 msgid "Clear all curves displayed in photometry." msgstr "清除所有测光曲线。" -#: ../src/gui/siril3.glade.h:718 +#: ../src/gui/siril3.glade.h:694 msgid "Clear latest" msgstr "清除最后项" -#: ../src/gui/siril3.glade.h:719 +#: ../src/gui/siril3.glade.h:695 msgid "Clear the last curve added in photometry." msgstr "清除最后添加的测光曲线。" #. This is the button for plotting variable star graph #. Plotting light curve -#: ../src/gui/siril3.glade.h:721 ../src/gui/plot.c:362 +#: ../src/gui/siril3.glade.h:697 ../src/gui/plot.c:364 msgid "Light Curve" msgstr "光变曲线" -#: ../src/gui/siril3.glade.h:722 +#: ../src/gui/siril3.glade.h:698 msgid "" "Plot a graph of the variable star. The variable star must be analysed in " "first, then other PSF are applied to references. A maximum of 6 references " @@ -3160,62 +3060,61 @@ "displayed graph.\n" "WARNING: gnuplot must be installed." -#: ../src/gui/siril3.glade.h:724 +#: ../src/gui/siril3.glade.h:700 msgid "Select the source of graph information." msgstr "选择曲线数据源。" -#: ../src/gui/siril3.glade.h:725 +#: ../src/gui/siril3.glade.h:701 msgid "Select which information to display from photometry data." msgstr "选择将被显示的测光数据。" -#: ../src/gui/siril3.glade.h:726 +#: ../src/gui/siril3.glade.h:702 msgid "Roundness" msgstr "圆度" -#: ../src/gui/siril3.glade.h:727 ../src/gui/plot.c:563 ../src/gui/plot.c:725 +#: ../src/gui/siril3.glade.h:703 ../src/gui/plot.c:565 ../src/gui/plot.c:729 msgid "FWHM" msgstr "FWHM" -#: ../src/gui/siril3.glade.h:728 ../src/gui/plot.c:728 +#: ../src/gui/siril3.glade.h:704 ../src/gui/plot.c:732 msgid "Amplitude" msgstr "振幅" -#: ../src/gui/siril3.glade.h:729 +#: ../src/gui/siril3.glade.h:705 msgid "Magnitude" msgstr "星等" -#: ../src/gui/siril3.glade.h:730 +#: ../src/gui/siril3.glade.h:706 +msgid "Background" +msgstr "背景" + +#: ../src/gui/siril3.glade.h:707 msgid "X position" msgstr "X坐标" -#: ../src/gui/siril3.glade.h:731 +#: ../src/gui/siril3.glade.h:708 msgid "Y position" msgstr "Y坐标" -#: ../src/gui/siril3.glade.h:732 +#: ../src/gui/siril3.glade.h:709 msgid "Plot" msgstr "图表" -#: ../src/gui/siril3.glade.h:733 +#: ../src/gui/siril3.glade.h:710 msgid "" "Stacking of images, either summing, median, mean with rejection or pixel " "minimum/maximum." msgstr "图像叠加,支持加法,中位数,具有像素剔除或最大/最小值的平均值法。" -#: ../src/gui/siril3.glade.h:734 +#: ../src/gui/siril3.glade.h:711 msgid "Sequence stacking" msgstr "队列叠加" -#: ../src/gui/siril3.glade.h:735 +#: ../src/gui/siril3.glade.h:712 msgid "Stacking Methods:" msgstr "叠加方式:" -#: ../src/gui/siril3.glade.h:736 -msgid "Stack this set of images:" -msgstr "要叠加的图像集合:" - -#: ../src/gui/siril3.glade.h:737 -#, fuzzy +#: ../src/gui/siril3.glade.h:713 msgid "" "Sum: This is the simplest method.\n" "Pixel values are added in an image normalized to 16-bit values.\n" @@ -3252,16 +3151,17 @@ "像素值被以归一化后的16位整数来累加。\n" "所得图像的信噪比(SNR)的增加为图像数量的平方根倍。\n" "\n" -"含有像素剔除的平均数叠加:该方式用于反复的剔除异常的像素。\n" +"含有像素剔除的平均数叠加:该方式用于迭代式的剔除异常的像素。\n" "包含五种已实现的算法:\n" "- Percentile Clipping\n" "- Sigma Clipping\n" "- Median Sigma Clipping\n" "- Winsorized Sigma Clipping\n" "- Linear Fit Clipping\n" -"当像素剔除完成之后,叠加的平均值会被计算。\n" +"当像素剔除完成之后,叠加的中值才会被计算。\n" "\n" -"中位数:该方式主要用于暗/平/偏置帧的叠加。\n" +"中位数:该方式传统用于暗/平/偏置场的叠加,不过我们现在建议使用含有像素剔除的" +"平均数叠加算法。\n" "叠加时每个像素的中位数会被计算。\n" "由于该方法应只用于暗/平/偏置帧的叠加,\n" "对齐操作所统计的位移数据不会在此叠加奏效。\n" @@ -3272,78 +3172,35 @@ "像素最小化:该方式可用于叠加后选择一个区域进行裁剪。\n" "图像中的像素点会被相同坐标中的更暗的点所代替。" -#: ../src/gui/siril3.glade.h:760 ../src/stacking/sum.c:161 +#: ../src/gui/siril3.glade.h:736 ../src/stacking/sum.c:161 msgid "Sum stacking" msgstr "加法叠加" -#: ../src/gui/siril3.glade.h:761 +#: ../src/gui/siril3.glade.h:737 msgid "Average stacking with rejection" msgstr "含有像素剔除的平均数叠加" -#: ../src/gui/siril3.glade.h:762 +#: ../src/gui/siril3.glade.h:738 msgid "Median stacking" msgstr "中位数叠加" -#: ../src/gui/siril3.glade.h:763 +#: ../src/gui/siril3.glade.h:739 msgid "Pixel maximum stacking" msgstr "像素最大化叠加" -#: ../src/gui/siril3.glade.h:764 +#: ../src/gui/siril3.glade.h:740 msgid "Pixel minimum stacking" msgstr "像素最小化叠加" -#: ../src/gui/siril3.glade.h:765 -msgid "" -"Select the set of images to be stacked. All the images or only the manually " -"selected can be used. But it is possible to only select the percentage of " -"best images following quality criteria (planetary, roundness or fwhm)." -msgstr "" -"选择一个图像集合用于叠加。集合中所有(或者手动选定的)图像会被使用。或也可基" -"于图像的品质(行星,圆度或者FWHM)来选定一部分“最好的图像”(百分比)用于叠" -"加。" - -#: ../src/gui/siril3.glade.h:766 -msgid "all the images of the sequence" -msgstr "队列里所有的图像" - -#: ../src/gui/siril3.glade.h:767 -msgid "images previously manually selected from the sequence" -msgstr "队列里之前手动选择则图像" - -#: ../src/gui/siril3.glade.h:768 -msgid "" -"best images, automatically selected from the registration data (PSF - FWHM)" -msgstr "最佳图像,自动从对齐统计数据(PSF - FWHM)中选择" - -#: ../src/gui/siril3.glade.h:769 -msgid "" -"best images, automatically selected from the registration data (PSF - " -"roundness)" -msgstr "最佳图像,自动从对齐统计数据(PSF - 圆度)中选择" - -#: ../src/gui/siril3.glade.h:770 -msgid "" -"best images, automatically selected from the registration data (Planetary)" -msgstr "最好的图像,自动从对齐统计数据中选择(行星)" - -#: ../src/gui/siril3.glade.h:771 ../src/stacking/stacking.c:2163 -#, c-format -msgid "Based on FWHM" -msgstr "基于FWHM" - -#: ../src/gui/siril3.glade.h:772 -msgid "Stack best:" -msgstr "叠加最好的:" - -#: ../src/gui/siril3.glade.h:773 +#: ../src/gui/siril3.glade.h:741 msgid "Sigma low: " msgstr "Sigma低值: " -#: ../src/gui/siril3.glade.h:774 +#: ../src/gui/siril3.glade.h:742 msgid "Sigma high: " msgstr "Sigma高值: " -#: ../src/gui/siril3.glade.h:775 +#: ../src/gui/siril3.glade.h:743 msgid "" "Five rejection algorithms are available.\n" "- Percentile Clipping is a one-step rejection algorithm ideal for small sets " @@ -3389,68 +3246,43 @@ "Wiley\n" "[2] Juan Conejero, ImageIntegration, Pixinsight Tutorial" -#: ../src/gui/siril3.glade.h:791 +#: ../src/gui/siril3.glade.h:759 msgid "No rejection" msgstr "无像素剔除" -#: ../src/gui/siril3.glade.h:792 +#: ../src/gui/siril3.glade.h:760 msgid "Percentile Clipping" msgstr "Percentile Clipping" -#: ../src/gui/siril3.glade.h:793 +#: ../src/gui/siril3.glade.h:761 msgid "Sigma Clipping" msgstr "Sigma Clipping" -#: ../src/gui/siril3.glade.h:794 +#: ../src/gui/siril3.glade.h:762 msgid "Median Sigma Clipping" msgstr "Median Sigma Clipping" -#: ../src/gui/siril3.glade.h:795 +#: ../src/gui/siril3.glade.h:763 msgid "Winsorized Sigma Clipping" msgstr "Winsorized Sigma Clipping" -#: ../src/gui/siril3.glade.h:796 +#: ../src/gui/siril3.glade.h:764 msgid "Linear Fit Clipping" msgstr "Linear Fit Clipping" -#: ../src/gui/siril3.glade.h:797 -msgid "" -"Normalise to 16-bit\n" -"(Don't check for Masters)" -msgstr "" -"归一化为16位\n" -"(主校准帧不要选择)" - -#: ../src/gui/siril3.glade.h:799 -msgid "" -"If you check this button, the final image will be normalized to 16-bit per " -"channel. This is important when input sequence has a depth of 8-bit per " -"channel.\n" -"However you may want to disable this option when building master frames of 8-" -"bit sequences." -msgstr "" -"如果选中此按钮, 最终图像将被归一化为每通道16位。当输入序列的每个通道的色深为" -"8位时,这一点很重要。\n" -"但是,在构建8位的主帧序列时,您可能希望禁用此选项。" - -#: ../src/gui/siril3.glade.h:801 +#: ../src/gui/siril3.glade.h:765 msgid "Rejection:" msgstr "像素剔除:" -#: ../src/gui/siril3.glade.h:803 -#, no-c-format -msgid "%" -msgstr "%" - -#: ../src/gui/siril3.glade.h:804 +#: ../src/gui/siril3.glade.h:766 msgid "Normalisation:" msgstr "归一化:" -#: ../src/gui/siril3.glade.h:805 +#: ../src/gui/siril3.glade.h:767 msgid "Start stacking" msgstr "开始叠加" -#: ../src/gui/siril3.glade.h:806 +#: ../src/gui/siril3.glade.h:768 msgid "" "Start stacking the current sequence of images, using the method and other " "information provided above.\n" @@ -3460,19 +3292,19 @@ "开始叠加当前队列中的图像,应用上面所选择的方式和其他信息\n" "Siril使用32位整数图像来执行叠加,然后保存为16位整数图像,文件名在下面给出。" -#: ../src/gui/siril3.glade.h:808 +#: ../src/gui/siril3.glade.h:770 msgid "Store result in file:" msgstr "保存结果为文件:" -#: ../src/gui/siril3.glade.h:809 +#: ../src/gui/siril3.glade.h:771 msgid "Overwrite" msgstr "覆盖" -#: ../src/gui/siril3.glade.h:810 +#: ../src/gui/siril3.glade.h:772 msgid "Overwrite file without notice if it already exists." msgstr "无提示覆盖已经存在的文件。" -#: ../src/gui/siril3.glade.h:811 +#: ../src/gui/siril3.glade.h:773 msgid "" "If one of these items is selected, a normalisation process will be applied " "to all input\n" @@ -3503,31 +3335,31 @@ "\n" "偏置和暗场不应使用归一化处理。但是平场必须应用累乘归一化处理。" -#: ../src/gui/siril3.glade.h:823 +#: ../src/gui/siril3.glade.h:785 msgid "No normalisation" msgstr "无归一化" -#: ../src/gui/siril3.glade.h:824 +#: ../src/gui/siril3.glade.h:786 msgid "Additive" msgstr "累加" -#: ../src/gui/siril3.glade.h:825 +#: ../src/gui/siril3.glade.h:787 msgid "Multiplicative" msgstr "累乘" -#: ../src/gui/siril3.glade.h:826 +#: ../src/gui/siril3.glade.h:788 msgid "Additive with scaling" msgstr "累加带拉伸" -#: ../src/gui/siril3.glade.h:827 +#: ../src/gui/siril3.glade.h:789 msgid "Multiplicative with scaling" msgstr "累乘带拉伸" -#: ../src/gui/siril3.glade.h:828 +#: ../src/gui/siril3.glade.h:790 msgid "Force recomputing" msgstr "强制重新计算" -#: ../src/gui/siril3.glade.h:829 +#: ../src/gui/siril3.glade.h:791 msgid "" "By default, Siril takes the normalisation coefficients from seq file if " "already computed. However you can force Siril to recompute it before " @@ -3536,68 +3368,152 @@ "缺省下,Siril会从seq文件中读取已经计算好的归一化系数。不过用户可以强制Siril在" "叠加前重新计算。" -#: ../src/gui/siril3.glade.h:830 +#: ../src/gui/siril3.glade.h:792 +msgid "Add another filter" +msgstr "添加另外的过滤" + +#: ../src/gui/siril3.glade.h:793 +msgid "Remove this filter" +msgstr "移除此过滤" + +#: ../src/gui/siril3.glade.h:794 +msgid "" +"Select the set of images to be stacked:\n" +"- selected: only use image that have not been unselected from the sequence\n" +"- FWHM: images with best computed FWHM (star-based registration only)\n" +"- roundness: images with best star roundness (star-based registration only)\n" +"- quality: images with best quality (planetary DFT or ECC registrations)" +msgstr "" +"选择用于图像叠加的子集:\n" +"- 已选择: 只叠加队列中没有被排除掉的图像\n" +"- FWHM: FWHM最优图像(仅适用于星点对齐)\n" +"- 圆度: 圆度最优图像(仅适用于星点对齐)\n" +"- 品质: 品质最优图像 (行星DFT或者ECC对齐)" + +#: ../src/gui/siril3.glade.h:799 +msgid "all" +msgstr "全部" + +#: ../src/gui/siril3.glade.h:800 +msgid "selected" +msgstr "已选择" + +#: ../src/gui/siril3.glade.h:801 +msgid "roundness" +msgstr "圆度" + +#: ../src/gui/siril3.glade.h:802 +msgid "Percents of the images of the sequence." +msgstr "队列里图像数量的百分比。" + +#: ../src/gui/siril3.glade.h:803 +msgid "" +"Select the set of images to be stacked. All the images or only the manually " +"selected can be used. But it is possible to only select the percentage of " +"best images following quality criteria (planetary, roundness or fwhm)." +msgstr "" +"选择一个图像集合用于叠加。集合中所有(或者手动选定的)图像会被使用。或也可基" +"于图像的品质(行星,圆度或者FWHM)来选定一部分“最好的图像”(百分比)用于叠" +"加。" + +#: ../src/gui/siril3.glade.h:804 +msgid "Stack this set of images:" +msgstr "要叠加的图像集合:" + +#: ../src/gui/siril3.glade.h:805 +msgid "Stacking 0 images of the 0 of the sequence" +msgstr "队列位置:0,叠加图像:0" + +#: ../src/gui/siril3.glade.h:806 +msgid "" +"Normalise to 16-bit\n" +"(Don't check for Masters)" +msgstr "" +"归一化为16位\n" +"(主校准帧不要选择)" + +#: ../src/gui/siril3.glade.h:808 +msgid "" +"If you check this button, the final image will be normalized to 16-bit per " +"channel. This is important when input sequence has a depth of 8-bit per " +"channel.\n" +"However you may want to disable this option when building master frames of 8-" +"bit sequences." +msgstr "" +"如果选中此按钮, 最终图像将被归一化为每通道16位。当输入序列的每个通道的色深为" +"8位时,这一点很重要。\n" +"但是,在构建8位的主帧序列时,您可能希望禁用此选项。" + +#: ../src/gui/siril3.glade.h:810 msgid "Stacking" msgstr "叠加" -#: ../src/gui/siril3.glade.h:831 +#: ../src/gui/siril3.glade.h:811 msgid "" "Siril output window, displays messages about what has been done and in " "response to command inputs." msgstr "Siril输出窗口,显示各种程序执行过程的信息,并且对输入的命令进行响应。" -#: ../src/gui/siril3.glade.h:832 +#: ../src/gui/siril3.glade.h:812 +msgid "Export the log" +msgstr "导出日志" + +#: ../src/gui/siril3.glade.h:813 +msgid "Clear the log" +msgstr "清除日志" + +#: ../src/gui/siril3.glade.h:814 msgid "Output logs" msgstr "输出记录" -#: ../src/gui/siril3.glade.h:833 +#: ../src/gui/siril3.glade.h:815 msgid "" "Input command. Typing 'help' here will bring the list of supported commands." msgstr "输入命令。键入‘help’以得到命令列表。" -#: ../src/gui/siril3.glade.h:834 +#: ../src/gui/siril3.glade.h:816 msgid "Type help for the list of supported commands" msgstr "输入help以获得命令列表" -#: ../src/gui/siril3.glade.h:835 +#: ../src/gui/siril3.glade.h:817 msgid "Displays manual of the command written in the console." msgstr "显示控制台命令的手册。" -#: ../src/gui/siril3.glade.h:836 +#: ../src/gui/siril3.glade.h:818 msgid "Console" msgstr "控制台" -#: ../src/gui/siril3.glade.h:837 ../src/gui/progress_and_log.c:41 +#: ../src/gui/siril3.glade.h:819 ../src/gui/progress_and_log.c:41 msgid "Ready." msgstr "就绪。" -#: ../src/gui/siril3.glade.h:838 +#: ../src/gui/siril3.glade.h:820 msgid "Current working directory:" msgstr "当前工作目录:" -#: ../src/gui/siril3.glade.h:839 +#: ../src/gui/siril3.glade.h:821 msgid "" "The directory in which files will be read from and written to. Can be " "changed with the button Change dir on the right, or with the cd command." msgstr "文件读写所在的目录。可以使用右边的按钮或者命令来更改。" -#: ../src/gui/siril3.glade.h:840 +#: ../src/gui/siril3.glade.h:822 msgid "Change dir..." msgstr "更改目录..." -#: ../src/gui/siril3.glade.h:841 +#: ../src/gui/siril3.glade.h:823 msgid "Change current working directory" msgstr "更改当前工作目录" -#: ../src/gui/siril3.glade.h:842 +#: ../src/gui/siril3.glade.h:824 msgid "Stop running processes" msgstr "停止正在执行的处理" -#: ../src/gui/siril3.glade.h:843 +#: ../src/gui/siril3.glade.h:825 msgid "Current working sequence:" msgstr "当前工作队列:" -#: ../src/gui/siril3.glade.h:844 +#: ../src/gui/siril3.glade.h:826 msgid "" "Set number of threads manually.\n" "WARNING: Reducing the number of allowed processors too much will degrade " @@ -3606,70 +3522,102 @@ "手动设定线程数。\n" "警告:降低该数值会影响程序的性能。" -#: ../src/gui/siril3.glade.h:846 +#: ../src/gui/siril3.glade.h:828 msgid "Displays the amount of used RAM memory by Siril." msgstr "显示Siril所占用的内存大小。" -#: ../src/gui/siril3.glade.h:847 +#: ../src/gui/siril3.glade.h:829 msgid "" "Displays the amount of disk space available on the file system containing " "the working directory." msgstr "显示当前工作目录所在的文件系统的可用磁盘空间。" #. Must be short !! -#: ../src/gui/siril3.glade.h:849 +#: ../src/gui/siril3.glade.h:831 msgctxt "GUI" msgid "Disk Space: N/A" msgstr "磁盘空间:N/A" -#: ../src/gui/siril3.glade.h:850 -msgid "Color Calibration" -msgstr "色彩校准" +#: ../src/gui/siril3.glade.h:832 +msgid "Informations" +msgstr "信息" -#: ../src/gui/siril3.glade.h:851 +#: ../src/gui/siril3.glade.h:833 +msgid "Focal length (mm): " +msgstr "焦距(毫米): " + +#: ../src/gui/siril3.glade.h:834 +msgid "Pixel X dim. (micron): " +msgstr "像素宽度X(微米): " + +#: ../src/gui/siril3.glade.h:835 msgid "" -"A set of three color calibration factors will be computed and multiplied " -"with every color channel.\n" -"The Background Neutralization should be applied before this operation." -msgstr "" -"一组三色校准因子将会被计算并乘到每个色彩通道。\n" -"背景平衡操作必须先期完成。" +"Clear all the fields. If you save your image after, the header will not " +"contain any data about the focal or sensor size." +msgstr "清空所有,之后所保存的文件头不会包含任何焦距和传感器信息。" -#: ../src/gui/siril3.glade.h:853 -msgid "x coordinate of the start of the background selection" -msgstr "x轴坐标用于开始背景选择区" +#: ../src/gui/siril3.glade.h:836 +msgid "" +"If the Pixel Y size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "如果像素高度Y无法从文件头中读取,你可以在此手工输入。" -#: ../src/gui/siril3.glade.h:854 -msgid "y coordinate of the start of the background selection" -msgstr "y轴坐标用于开始背景选择区" +#: ../src/gui/siril3.glade.h:837 +msgid "Pixel Y dim. (micron): " +msgstr "像素高度Y(微米): " -#: ../src/gui/siril3.glade.h:855 -msgid "Width of the background selection" -msgstr "背景选择区的宽度" +#: ../src/gui/siril3.glade.h:838 +msgid "" +"If the focal length is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "如果焦距无法从文件头中读取,你可以在此手工输入。" -#: ../src/gui/siril3.glade.h:856 -msgid "Height of the background selection" -msgstr "背景选择区的高度" +#: ../src/gui/siril3.glade.h:839 +msgid "" +"If the Pixel X size is not automatically loaded, using file's header, you " +"can update the field by yourself." +msgstr "如果像素宽度X无法从文件头中读取,你可以在此手工输入。" -#: ../src/gui/siril3.glade.h:857 -msgid "Selected area" -msgstr "选择一个区域" +#: ../src/gui/siril3.glade.h:840 +msgid "No binning in pixel size value" +msgstr "像素尺寸无合并(bin)" -#: ../src/gui/siril3.glade.h:858 -msgid "Use current selection" -msgstr "使用当前所选" +#: ../src/gui/siril3.glade.h:841 +msgid "" +"Check this button if binning is not taken into account in the pixel size " +"value. In this case, the binning value in the combo box below will be used." +msgstr "" +"如果像素合并未被包含在像素尺寸参数中,请选择此项。在此情形下,下面选项的值会" +"被使用。" + +#: ../src/gui/siril3.glade.h:842 +msgid "FWHM is converted into arcsec" +msgstr "FWHM已被转化为角秒" + +#: ../src/gui/siril3.glade.h:843 +msgid "Binning: " +msgstr "像素合并: " + +#: ../src/gui/siril3.glade.h:844 +msgid "" +"If the binning is not automatically loaded, using file's header, you can " +"update this combo box." +msgstr "如果像素合并无法从文件头中读取,你可以在此手工输入。" -#: ../src/gui/siril3.glade.h:859 +#: ../src/gui/siril3.glade.h:845 msgid "" -"You must specify a selection that represents the true background of the " -"image, trying to exclude all stars or other stellar objects." -msgstr "必须选定一个表现了真实背景的区域,尽量避开星点和其他天体。" +"A set of three color calibration factors will be computed and multiplied " +"with every color channel.\n" +"The Background Neutralization should be applied before this operation." +msgstr "" +"一组三色校准因子将会被计算并乘到每个色彩通道。\n" +"背景平衡操作必须先期完成。" -#: ../src/gui/siril3.glade.h:860 +#: ../src/gui/siril3.glade.h:847 msgid "Background Neutralization" msgstr "背景平衡" -#: ../src/gui/siril3.glade.h:861 +#: ../src/gui/siril3.glade.h:848 msgid "" "Background Neutralization will compute the mean of each color channel and " "will equalize the sky background in a neutral grey.\n" @@ -3678,49 +3626,49 @@ "背景平衡会计算每个色彩通道的平均值,并将背景等价为中性灰。\n" "本操作应当在色彩校准之前执行。" -#: ../src/gui/siril3.glade.h:863 +#: ../src/gui/siril3.glade.h:850 msgid "Background reference" msgstr "背景参考" -#: ../src/gui/siril3.glade.h:864 +#: ../src/gui/siril3.glade.h:851 msgid "Manual White Balance" msgstr "手动白平衡" -#: ../src/gui/siril3.glade.h:865 +#: ../src/gui/siril3.glade.h:852 msgid "" "By clicking on this option, you will use your own color calibration factors. " "This option is disabled by default." msgstr "点击此选项,用户将使用自定义的色彩校准因子。缺省为关闭。" -#: ../src/gui/siril3.glade.h:866 +#: ../src/gui/siril3.glade.h:853 msgid "Red:" msgstr "红色:" -#: ../src/gui/siril3.glade.h:867 +#: ../src/gui/siril3.glade.h:854 msgid "Green:" msgstr "绿色:" -#: ../src/gui/siril3.glade.h:868 +#: ../src/gui/siril3.glade.h:855 msgid "Blue:" msgstr "蓝色:" -#: ../src/gui/siril3.glade.h:869 +#: ../src/gui/siril3.glade.h:856 msgid "x coordinate of the start of the white reference selection" msgstr "x轴坐标用于开始白点选择区" -#: ../src/gui/siril3.glade.h:870 +#: ../src/gui/siril3.glade.h:857 msgid "y coordinate of the start of the white reference selection" msgstr "y轴坐标用于开始白点选择区" -#: ../src/gui/siril3.glade.h:871 +#: ../src/gui/siril3.glade.h:858 msgid "Width of the white reference selection" msgstr "白点选择区的高度" -#: ../src/gui/siril3.glade.h:872 +#: ../src/gui/siril3.glade.h:859 msgid "Height of the white reference selection" msgstr "白点选择区的宽度" -#: ../src/gui/siril3.glade.h:873 +#: ../src/gui/siril3.glade.h:860 msgid "" "You should specify a selection that represents an average of suitable white " "reference.\n" @@ -3729,52 +3677,45 @@ "请选定一个表现了均匀的舒适的白色参考的区域。如果不选择,整幅图像将被作为参" "考。" -#: ../src/gui/siril3.glade.h:875 +#: ../src/gui/siril3.glade.h:862 msgid "" "Lower rejection bound for white selection. Pixels below this value are not " "taken into account. Black pixels are always excluded from computation." msgstr "" "白点选择的剔除下限。像素值低于下限的不会被计算。黑色像素点总是会被排除计算。" -#: ../src/gui/siril3.glade.h:876 +#: ../src/gui/siril3.glade.h:863 msgid "" "Upper rejection bound for white selection. Pixels above this value are not " "taken into account. Saturated pixels are always excluded from computation." msgstr "" "白点选择的剔除上线。像素值超过上限的不会被计算。饱和像素点总是会被排除计算。" -#: ../src/gui/siril3.glade.h:877 +#: ../src/gui/siril3.glade.h:864 msgid "Lower limit: " msgstr "下限: " -#: ../src/gui/siril3.glade.h:878 +#: ../src/gui/siril3.glade.h:865 msgid "Upper limit: " msgstr "上限: " -#: ../src/gui/siril3.glade.h:879 +#: ../src/gui/siril3.glade.h:866 msgid "White reference" msgstr "白点参考" -#: ../src/algos/PSF.c:671 -#, c-format +#: ../src/algos/background_extraction.c:112 msgid "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" -msgstr "" -"PSF fit Result:\n" -"x0=%0.2f px, y0=%0.2f px\n" -"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" -"Angle=%0.2f deg\n" -"Background value=%0.6f\n" -"Maximal intensity=%0.6f\n" -"Magnitude (%s)=%0.2f\n" -"RMSE=%.3e\n" +"There are not enough background samples. The background to be extracted " +"cannot be computed.\n" +msgstr "没有足够的背景采样。所需提取的背景无法被计算。\n" + +#: ../src/algos/background_extraction.c:187 +msgid "Out of memory - aborting" +msgstr "内存不足 - 异常中止" + +#: ../src/algos/background_extraction.c:607 +msgid "Not enough samples." +msgstr "没有足够的采样。" #: ../src/algos/colors.c:355 msgid "Siril cannot extract layers. Make sure your image is in RGB mode.\n" @@ -3790,13 +3731,13 @@ msgstr "饱和度增强:执行中...\n" #: ../src/algos/colors.c:477 ../src/algos/colors.c:684 -#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:138 -#: ../src/algos/cosmetic_correction.c:187 -#: ../src/algos/cosmetic_correction.c:398 ../src/algos/star_finder.c:50 -#: ../src/core/command.c:1741 ../src/core/siril.c:669 ../src/core/siril.c:832 -#: ../src/core/siril.c:1023 ../src/core/siril.c:1314 ../src/core/siril.c:1407 -#: ../src/core/siril.c:1499 ../src/gui/histogram.c:637 -#: ../src/gui/statistics_list.c:308 +#: ../src/algos/colors.c:808 ../src/algos/cosmetic_correction.c:135 +#: ../src/algos/cosmetic_correction.c:184 +#: ../src/algos/cosmetic_correction.c:395 ../src/algos/star_finder.c:50 +#: ../src/core/command.c:1760 ../src/core/siril.c:626 ../src/core/siril.c:788 +#: ../src/core/siril.c:988 ../src/core/siril.c:1279 ../src/core/siril.c:1375 +#: ../src/core/siril.c:1467 ../src/gui/histogram.c:636 +#: ../src/gui/photometric_cc.c:317 ../src/gui/statistics_list.c:311 msgid "Error: statistics computation failed.\n" msgstr "错误:数据统计计算失败。\n" @@ -3806,23 +3747,22 @@ #: ../src/algos/colors.c:606 ../src/algos/colors.c:726 #: ../src/algos/colors.c:762 ../src/algos/colors.c:935 -#: ../src/algos/colors.c:946 -#, fuzzy +#: ../src/algos/colors.c:946 ../src/gui/photometric_cc.c:536 +#: ../src/gui/photometric_cc.c:554 msgid "There is no selection" -msgstr "fwhm: 无选择" +msgstr "无效选择" #: ../src/algos/colors.c:607 ../src/algos/colors.c:727 -#: ../src/algos/colors.c:936 -#, fuzzy +#: ../src/algos/colors.c:936 ../src/gui/photometric_cc.c:537 +#: ../src/gui/photometric_cc.c:555 msgid "Make a selection of the background area" msgstr "请先选择一个背景区域" #: ../src/algos/colors.c:763 ../src/algos/colors.c:947 -#, fuzzy msgid "Make a selection of the white reference area" -msgstr "请先选择一个背景区域" +msgstr "请先选择一个白点参考区域" -#: ../src/algos/colors.c:804 +#: ../src/algos/colors.c:804 ../src/gui/photometric_cc.c:313 msgid "Background reference:\n" msgstr "背景参考:\n" @@ -3830,7 +3770,7 @@ msgid "White reference:\n" msgstr "白点参考:\n" -#: ../src/algos/colors.c:832 +#: ../src/algos/colors.c:832 ../src/gui/photometric_cc.c:300 msgid "Color calibration factors:\n" msgstr "色彩校准因子:\n" @@ -3838,44 +3778,31 @@ msgid "Color Calibration: processing...\n" msgstr "色彩校准:处理中...\n" -#: ../src/algos/cosmetic_correction.c:314 +#: ../src/algos/cosmetic_correction.c:311 #, c-format msgid "Image %d: %ld pixels corrected (%ld + %ld)\n" msgstr "图像 %d: %ld 像素被修正 (%ld + %ld)\n" -#: ../src/algos/cosmetic_correction.c:362 +#: ../src/algos/cosmetic_correction.c:359 msgid "Cosmetic Correction: processing...\n" msgstr "降噪:处理中...\n" -#: ../src/algos/cosmetic_correction.c:374 ../src/core/siril.c:876 -#: ../src/core/siril.c:925 +#: ../src/algos/cosmetic_correction.c:371 ../src/core/siril.c:832 +#: ../src/core/siril.c:886 #, c-format msgid "%ld pixels corrected (%ld + %ld)\n" msgstr "%ld 像素被修正 (%ld + %ld)\n" -#: ../src/algos/fft.c:244 +#: ../src/algos/fft.c:268 msgid "Fourier Transform: processing...\n" msgstr "傅立叶变换:处理中...\n" -#: ../src/algos/fft.c:307 +#: ../src/algos/fft.c:323 msgid "There is something wrong in your files\n" msgstr "文件出错\n" -#: ../src/algos/gradient.c:335 ../src/algos/gradient.c:377 -#, c-format -msgid "Channel #%d: background extraction done.\n" -msgstr "通道#%d:背景提取完成。\n" - -#: ../src/algos/gradient.c:406 -msgid "Background extraction: processing...\n" -msgstr "背景提取:处理中...\n" - -#: ../src/algos/gradient.c:429 ../src/algos/gradient.c:435 -msgid "Insufficient background samples.\n" -msgstr "背景样本数不足。\n" - #. Translator note: radii is plural for radius -#: ../src/algos/photometry.c:255 +#: ../src/algos/photometry.c:253 msgid "" "Inner and outer radii are too small. Please update values in setting box.\n" msgstr "内/外半径太小。请重新设置。\n" @@ -3886,84 +3813,94 @@ "larger selection.\n" msgstr "警告:环形区域的像素数量不足,请选取更大的区域,\n" +#: ../src/algos/photometry.c:353 ../src/algos/photometry.c:367 +msgid "Wrong value" +msgstr "无效值" + +#: ../src/algos/photometry.c:354 ../src/algos/photometry.c:368 +msgid "Inner radius value must be less than outer. Please change the value." +msgstr "内半径必须小于外半径,请更改参数。" + #. Matching information -#: ../src/algos/plateSolver.c:683 ../src/registration/global.c:442 +#: ../src/algos/plateSolver.c:739 ../src/registration/global.c:437 #, c-format msgid "%d pair matches.\n" msgstr "%d pair matches.\n" -#: ../src/algos/plateSolver.c:685 ../src/registration/global.c:444 +#: ../src/algos/plateSolver.c:741 ../src/registration/global.c:439 #, c-format msgid "Inliers:%*.3f\n" msgstr "Inliers:%*.3f\n" #. we assume square pixels -#: ../src/algos/plateSolver.c:691 -#, fuzzy, c-format +#: ../src/algos/plateSolver.c:747 +#, c-format msgid "Resolution:%*.3lf arcsec/px\n" -msgstr "反卷积" +msgstr "分辨率:%*.3lf 角秒/像素\n" -#: ../src/algos/plateSolver.c:705 -#, fuzzy, c-format +#: ../src/algos/plateSolver.c:761 +#, c-format msgid "Rotation:%+*.2lf deg %s\n" -msgstr "旋转:%+*.2f 度\n" +msgstr "旋转:%+*.2lf 度 %s\n" -#: ../src/algos/plateSolver.c:705 +#: ../src/algos/plateSolver.c:761 msgid "(flipped)" -msgstr "" +msgstr "(翻转)" -#: ../src/algos/plateSolver.c:711 -#, fuzzy, c-format +#: ../src/algos/plateSolver.c:775 +#, c-format msgid "Focal:%*.2lf mm\n" -msgstr "缩放:%*.3f\n" +msgstr "焦距:%*.2lf mm\n" -#: ../src/algos/plateSolver.c:712 -#, fuzzy, c-format +#: ../src/algos/plateSolver.c:776 +#, c-format msgid "Pixel size:%*.2lf µm\n" -msgstr "像素宽度X(微米): " +msgstr "像素尺寸:%*.2lf µm\n" -#: ../src/algos/plateSolver.c:715 +#: ../src/algos/plateSolver.c:779 #, c-format msgid "Field of view: %s x %s\n" -msgstr "" +msgstr "视场: %s x %s\n" -#: ../src/algos/plateSolver.c:718 +#: ../src/algos/plateSolver.c:782 #, c-format msgid "Image center: RA: %s, DEC: %s\n" -msgstr "" +msgstr "图像中心: RA: %s, DEC: %s\n" -#: ../src/algos/plateSolver.c:753 +#: ../src/algos/plateSolver.c:817 #, c-format msgid "Catalog NOMAD size: %d objects\n" -msgstr "" +msgstr "星表 NOMAD 样本量: %d 对象\n" -#: ../src/algos/plateSolver.c:787 +#: ../src/algos/plateSolver.c:851 #, c-format msgid "Catalog TYCHO-2 size: %d objects\n" msgstr "" +"星表 TYCHO-2 样本量: %d 对象\n" +"\n" -#: ../src/algos/plateSolver.c:821 +#: ../src/algos/plateSolver.c:885 #, c-format msgid "Catalog Gaia DR2 size: %d objects\n" -msgstr "" +msgstr "星表 Gaia DR2 样本量: %d 对象\n" -#: ../src/algos/plateSolver.c:855 +#: ../src/algos/plateSolver.c:919 #, c-format msgid "Catalog PPMXL size: %d objects\n" -msgstr "" +msgstr "星表 PPMXL 样本量: %d 对象\n" -#: ../src/algos/plateSolver.c:890 +#: ../src/algos/plateSolver.c:954 #, c-format msgid "Catalog Bright stars size: %d objects\n" -msgstr "" +msgstr "星表 Bright stars 样本量: %d 对象\n" -#: ../src/algos/plateSolver.c:950 +#: ../src/algos/plateSolver.c:1014 msgid "" "Plate Solving failed. The image could not be aligned with the reference " "stars.\n" -msgstr "" +msgstr "解析失败。图像无法与参考坐标相对齐。\n" -#: ../src/algos/plateSolver.c:953 +#: ../src/algos/plateSolver.c:1017 msgid "" "This is usually because the initial parameters (pixel size, focal length, " "initial coordinates) are too far from the real metadata of the image.\n" @@ -3971,70 +3908,91 @@ "Finally, keep in mind that plate solving algorithm should only be applied on " "linear image." msgstr "" +"这通常是由于初始化参数(像素尺寸,焦距,初始化坐标)与实际情况相去甚远。\n" +"您可以尝试使用另外的星表。\n" +"最后,请注意解析算法只能作用于线性图像。" -#: ../src/algos/plateSolver.c:998 -#, fuzzy, c-format +#: ../src/algos/plateSolver.c:1066 +#, c-format msgid "" "There are not enough stars picked in the image. At least %d stars are needed." -msgstr "参考帧中没有足够数量的星点用于执行对齐\n" +msgstr "图像中没有足够数量的被选星点,至少需要 %d 个星点。" -#: ../src/algos/plateSolver.c:1200 -#, fuzzy +#: ../src/algos/plateSolver.c:1257 msgid "There are no keywords stored in the FITS header.\n" -msgstr "在文件头中无法找到拜耳阵列排列信息。\n" +msgstr "在FITS文件头中无法找到关键字。\n" -#: ../src/algos/plateSolver.c:1201 +#: ../src/algos/plateSolver.c:1258 msgid "No metadata" -msgstr "" +msgstr "没有元数据" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1325 msgid "Astrometric solution detected" -msgstr "" +msgstr "发现天体测量信息" -#: ../src/algos/plateSolver.c:1248 +#: ../src/algos/plateSolver.c:1325 msgid "" "The astrometric solution contained in the image will be erased by the " "geometric transformation and no undo will be possible." +msgstr "图像中已包含的天体测量信息会被几何光学计算数据所覆盖,并且无法撤销。" + +#: ../src/algos/PSF.c:693 +#, c-format +msgid "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" msgstr "" +"PSF fit Result:\n" +"x0=%0.2f px, y0=%0.2f px\n" +"FWHM X=%0.2f%s, FWHM Y=%0.2f%s\n" +"Angle=%0.2f deg\n" +"Background value=%0.6f\n" +"Maximal intensity=%0.6f\n" +"Magnitude (%s)=%0.2f\n" +"RMSE=%.3e\n" #. only used for progress bar #: ../src/algos/rgradient.c:69 -#, fuzzy msgid "Rotational gradient in progress..." -msgstr "叠加(像素剔除)执行中..." +msgstr "旋转渐变执行中..." #: ../src/algos/rgradient.c:124 -#, fuzzy msgid "Rotational gradient complete." -msgstr "对齐完成。" +msgstr "旋转渐变完成。" -#: ../src/algos/rgradient.c:181 ../src/core/command.c:219 -#: ../src/core/command.c:456 ../src/core/command.c:776 -#: ../src/core/command.c:944 ../src/core/command.c:979 -#: ../src/core/command.c:1059 ../src/core/command.c:1402 -#: ../src/core/command.c:1530 ../src/core/command.c:1553 -#: ../src/core/command.c:1581 ../src/core/command.c:1607 -#: ../src/core/command.c:1779 ../src/core/command.c:1847 -#: ../src/core/command.c:2578 ../src/gui/callbacks.c:3923 -#: ../src/gui/callbacks.c:4128 ../src/gui/callbacks.c:4290 -#: ../src/gui/callbacks.c:4323 ../src/gui/callbacks.c:4650 -#: ../src/gui/callbacks.c:4784 ../src/gui/callbacks.c:4944 -#: ../src/gui/callbacks.c:5123 ../src/gui/saturation.c:49 -#: ../src/gui/script_menu.c:154 ../src/io/conversion.c:518 -#: ../src/registration/registration.c:844 ../src/stacking/stacking.c:1483 -#: ../src/stacking/stacking.c:1607 +#: ../src/algos/rgradient.c:181 ../src/core/command.c:222 +#: ../src/core/command.c:460 ../src/core/command.c:783 +#: ../src/core/command.c:951 ../src/core/command.c:986 +#: ../src/core/command.c:1066 ../src/core/command.c:1418 +#: ../src/core/command.c:1545 ../src/core/command.c:1568 +#: ../src/core/command.c:1596 ../src/core/command.c:1622 +#: ../src/core/command.c:1798 ../src/core/command.c:1867 +#: ../src/core/command.c:2718 ../src/gui/callbacks.c:3939 +#: ../src/gui/callbacks.c:4147 ../src/gui/callbacks.c:4305 +#: ../src/gui/callbacks.c:4338 ../src/gui/callbacks.c:4386 +#: ../src/gui/callbacks.c:4520 ../src/gui/callbacks.c:4674 +#: ../src/gui/callbacks.c:4853 ../src/gui/saturation.c:49 +#: ../src/gui/script_menu.c:158 ../src/io/conversion.c:524 +#: ../src/registration/registration.c:841 ../src/stacking/stacking.c:1091 +#: ../src/stacking/stacking.c:1213 msgid "Another task is already in progress, ignoring new request.\n" msgstr "Another task is already in progress, ignoring new request.\n" -#: ../src/algos/star_finder.c:169 +#: ../src/algos/star_finder.c:171 msgid "Findstar: processing...\n" msgstr "星点侦测:执行中...\n" -#: ../src/algos/star_finder.c:327 +#: ../src/algos/star_finder.c:333 msgid "This star has already been picked !\n" msgstr "这颗星已经被选取了!\n" -#: ../src/algos/star_finder.c:328 +#: ../src/algos/star_finder.c:334 msgid "Peaker" msgstr "峰化" @@ -4047,7 +4005,7 @@ msgstr "通道对齐错误。" #: ../src/compositing/align_rgb.c:133 ../src/compositing/compositing.c:602 -#: ../src/registration/registration.c:953 +#: ../src/registration/registration.c:958 msgid "Registration complete." msgstr "对齐完成。" @@ -4091,9 +4049,9 @@ msgid "You must at least load two layers before!\n" msgstr "必须先期载入至少两个通道!\n" -#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4910 -#: ../src/gui/wavelets.c:153 ../src/gui/wavelets.c:162 -#: ../src/io/conversion.c:587 ../src/registration/registration.c:862 +#: ../src/compositing/compositing.c:547 ../src/gui/callbacks.c:4640 +#: ../src/gui/wavelets.c:222 ../src/gui/wavelets.c:231 +#: ../src/io/conversion.c:595 ../src/registration/registration.c:859 msgid "Warning" msgstr "警告" @@ -4124,116 +4082,116 @@ msgid "Readjusting layer %d to %g times bright\n" msgstr "Readjusting layer %d to %g times bright\n" -#: ../src/core/command.c:386 +#: ../src/core/command.c:390 msgid "Multiplying by a coefficient less than or equal to 0 is not possible.\n" msgstr "乘法的乘数小于或等于0是不允许的。\n" -#: ../src/core/command.c:409 +#: ../src/core/command.c:413 #, c-format msgid "Entropy: %.3lf\n" msgstr "熵:%.3lf\n" -#: ../src/core/command.c:445 +#: ../src/core/command.c:449 msgid "Number of iterations must be > 0.\n" msgstr "迭代次数必须大于0\n" -#: ../src/core/command.c:450 +#: ../src/core/command.c:454 msgid "Sigma must be > 0.\n" msgstr "Sigma必须大于0\n" -#: ../src/core/command.c:490 ../src/core/command.c:990 +#: ../src/core/command.c:494 ../src/core/command.c:997 msgid "Crop: x and y must be positive values.\n" msgstr "Crop: x and y must be positive values.\n" -#: ../src/core/command.c:494 ../src/core/command.c:994 +#: ../src/core/command.c:498 ../src/core/command.c:1001 msgid "Crop: width and height must be greater than 0.\n" msgstr "Crop: width and height must be greater than 0.\n" -#: ../src/core/command.c:498 ../src/core/command.c:1031 +#: ../src/core/command.c:502 ../src/core/command.c:1038 #, c-format msgid "Crop: width and height, respectively, must be less than %d and %d.\n" msgstr "Crop: width and height, respectively, must be less than %d and %d.\n" -#: ../src/core/command.c:507 ../src/core/command.c:1003 +#: ../src/core/command.c:511 ../src/core/command.c:1010 msgid "Crop: select a region or provide x, y, width, height\n" msgstr "Crop: select a region or provide x, y, width, height\n" -#: ../src/core/command.c:590 ../src/core/command.c:2427 -#: ../src/gui/callbacks.c:4908 ../src/gui/wavelets.c:151 +#: ../src/core/command.c:597 ../src/core/command.c:2555 +#: ../src/gui/callbacks.c:4638 ../src/gui/wavelets.c:220 #, c-format msgid "Wavelet: maximum number of plans for this image size is %d\n" msgstr "Wavelet: maximum number of plans for this image size is %d\n" -#: ../src/core/command.c:596 ../src/gui/wavelets.c:160 +#: ../src/core/command.c:603 ../src/gui/wavelets.c:229 #, c-format msgid "Wavelet: type must be %d or %d\n" msgstr "Wavelet: type must be %d or %d\n" -#: ../src/core/command.c:665 +#: ../src/core/command.c:672 msgid "Cannot list files, set working directory first.\n" msgstr "无法获得文件列表,请先设置工作目录!\n" -#: ../src/core/command.c:671 ../src/core/command.c:680 +#: ../src/core/command.c:678 ../src/core/command.c:687 msgid "Siril cannot open the directory.\n" msgstr "Siril无法打开目录。\n" -#: ../src/core/command.c:702 +#: ../src/core/command.c:709 #, c-format msgid "Link: %s\n" msgstr "链接:%s\n" -#: ../src/core/command.c:706 +#: ../src/core/command.c:713 #, c-format msgid "Directory: %s\n" msgstr "目录:%s\n" -#: ../src/core/command.c:716 ../src/core/command.c:723 +#: ../src/core/command.c:723 ../src/core/command.c:730 #, c-format msgid "Sequence: %s\n" msgstr "队列:%s\n" -#: ../src/core/command.c:719 ../src/core/command.c:721 +#: ../src/core/command.c:726 ../src/core/command.c:728 #, c-format msgid "Image: %s\n" msgstr "图像:%s\n" -#: ../src/core/command.c:728 ../src/core/command.c:2406 +#: ../src/core/command.c:735 ../src/core/command.c:2534 msgid "********* END OF THE LIST *********\n" msgstr "********* 列表完 *********\n" -#: ../src/core/command.c:758 +#: ../src/core/command.c:765 msgid "The scaling factor must be less than 5.0\n" msgstr "拉伸系数必须小于5.0\n" -#: ../src/core/command.c:828 ../src/core/command.c:926 -#: ../src/core/command.c:948 +#: ../src/core/command.c:835 ../src/core/command.c:933 +#: ../src/core/command.c:955 msgid "" "Current selection is too large. To determine the PSF, please make a " "selection around a single star.\n" msgstr "当前选择区域太大。若要计算PSF,请选择一个星点周围的区域。\n" -#: ../src/core/command.c:832 ../src/core/command.c:930 -#: ../src/core/command.c:952 ../src/io/sequence.c:1539 +#: ../src/core/command.c:839 ../src/core/command.c:937 +#: ../src/core/command.c:959 ../src/io/sequence.c:1550 msgid "Select an area first\n" msgstr "请先选择一个区域\n" -#: ../src/core/command.c:838 +#: ../src/core/command.c:845 #, c-format msgid "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" msgstr "" "Relative magnitude: %.3lf, True reduced magnitude: %.3lf, Offset: %.3lf\n" -#: ../src/core/command.c:854 ../src/core/command.c:909 -#: ../src/core/command.c:971 +#: ../src/core/command.c:861 ../src/core/command.c:916 +#: ../src/core/command.c:978 msgid "This command can be used only when a sequence is loaded\n" msgstr "This command can be used only when a sequence is loaded\n" -#: ../src/core/command.c:862 +#: ../src/core/command.c:869 msgid "Run a PSF for the sequence first (see seqpsf)\n" msgstr "导出队列\n" -#: ../src/core/command.c:866 +#: ../src/core/command.c:873 #, c-format msgid "" "Reference magnitude has been set for star %d to %f and will be computed for " @@ -4242,135 +4200,134 @@ "Reference magnitude has been set for star %d to %f and will be computed for " "each image\n" -#: ../src/core/command.c:878 +#: ../src/core/command.c:885 #, c-format msgid "FITS extension unknown: %s\n" msgstr "不可识别的FITS扩展名:%s\n" -#: ../src/core/command.c:901 +#: ../src/core/command.c:908 msgid "" "Wrong parameter values. Sigma must be >= 0.05 and roundness between 0 and " "0.9.\n" -msgstr "" +msgstr "参数错误。Sigma必须 >= 0.05 并且圆度必须在0到0.9之间。\n" -#: ../src/core/command.c:914 +#: ../src/core/command.c:921 msgid "Reference magnitude unset for sequence\n" msgstr "队列中的参考星等未设定\n" -#: ../src/core/command.c:966 +#: ../src/core/command.c:973 #, c-format msgid "Running the PSF on the loaded sequence, layer %d\n" msgstr "Running the PSF on the loaded sequence, layer %d\n" -#: ../src/core/command.c:1017 ../src/core/command.c:1023 -#: ../src/core/command.c:1622 ../src/core/command.c:1628 -#: ../src/core/command.c:1859 ../src/core/command.c:1865 -#: ../src/core/command.c:2012 ../src/core/command.c:2156 -#: ../src/core/command.c:2163 ../src/core/command.c:2260 -#: ../src/core/command.c:2267 +#: ../src/core/command.c:1024 ../src/core/command.c:1030 +#: ../src/core/command.c:1637 ../src/core/command.c:1643 +#: ../src/core/command.c:1879 ../src/core/command.c:1886 +#: ../src/core/command.c:2139 ../src/core/command.c:2281 +#: ../src/core/command.c:2366 ../src/core/command.c:2374 #, c-format -msgid "No sequence %s found.\n" -msgstr "无法找到队列%s。\n" +msgid "No sequence `%s' found.\n" +msgstr "无法找到队列 %s。\n" -#: ../src/core/command.c:1052 +#: ../src/core/command.c:1059 #, c-format msgid "Background value: %d\n" msgstr "背景值: %d\n" -#: ../src/core/command.c:1107 +#: ../src/core/command.c:1114 #, c-format msgid "The file %s has been created for the %s layer.\n" msgstr "The file %s has been created for the %s layer.\n" -#: ../src/core/command.c:1189 +#: ../src/core/command.c:1197 msgid "Number of layers MUST be 1 or 3\n" msgstr "通道数必须为1或3\n" -#: ../src/core/command.c:1201 +#: ../src/core/command.c:1212 msgid "new empty image" msgstr "新空白图像" -#: ../src/core/command.c:1213 +#: ../src/core/command.c:1229 #, c-format msgid "Values must be positive and less than %d.\n" msgstr "数值必须为正并且小于 %d.\n" -#: ../src/core/command.c:1233 ../src/core/command.c:1495 +#: ../src/core/command.c:1249 ../src/core/command.c:1510 msgid "Wrong parameters.\n" -msgstr "" +msgstr "参数错误。\n" -#: ../src/core/command.c:1238 +#: ../src/core/command.c:1254 msgid "Fill2: select a region or provide x, y, width, height\n" msgstr "Fill2: select a region or provide x, y, width, height\n" -#: ../src/core/command.c:1261 ../src/gui/callbacks.c:4605 +#: ../src/core/command.c:1277 ../src/gui/PSF_list.c:499 #, c-format msgid "Found %d stars in image, channel #%d\n" msgstr "Found %d stars in image, channel #%d\n" -#: ../src/core/command.c:1275 +#: ../src/core/command.c:1291 msgid "find_hot must be applied on an one-channel master-dark frame" msgstr "find_hot must be applied on an one-channel master-dark frame" -#: ../src/core/command.c:1283 +#: ../src/core/command.c:1299 #, c-format msgid "%ld cold and %ld hot pixels\n" msgstr "%ld 冷像素 %ld 热像素\n" -#: ../src/core/command.c:1288 ../src/core/command.c:1323 +#: ../src/core/command.c:1304 ../src/core/command.c:1339 #, c-format msgid "Cannot open file: %s\n" msgstr "无法打开文件: %s\n" -#: ../src/core/command.c:1384 +#: ../src/core/command.c:1400 #, c-format msgid "cosmetic correction: cosme file format error at line %d: %s\n" msgstr "cosmetic correction: cosme file format error at line %d: %s\n" -#: ../src/core/command.c:1392 +#: ../src/core/command.c:1408 msgid "There were some errors, please check your input file.\n" msgstr "错误产生,请检查您的输入文件。\n" -#: ../src/core/command.c:1414 +#: ../src/core/command.c:1430 msgid "The size of the kernel MUST be odd and greater than 1.\n" msgstr "内核大小必须为大于1的奇数。\n" -#: ../src/core/command.c:1419 +#: ../src/core/command.c:1435 msgid "Modulation value MUST be between 0 and 1\n" -msgstr "Modulation value MUST be between 0 and 1\n" +msgstr "调制值必须在0到1之间\n" #. FITS are stored bottom to top -#: ../src/core/command.c:1442 +#: ../src/core/command.c:1458 #, c-format msgid "Center of gravity coordinates are (%.3lf, %.3lf)\n" msgstr "Center of gravity coordinates are (%.3lf, %.3lf)\n" -#: ../src/core/command.c:1558 +#: ../src/core/command.c:1573 msgid "FFT does not work with sequences\n" msgstr "傅立叶变换不可用于队列\n" -#: ../src/core/command.c:1662 +#: ../src/core/command.c:1677 msgid "" "Use this command to select images in a sequence, load a sequence first.\n" msgstr "" "Use this command to select images in a sequence, load a sequence first.\n" -#: ../src/core/command.c:1668 +#: ../src/core/command.c:1683 msgid "" "The first argument must be between 0 and the number of images minus one.\n" msgstr "" "The first argument must be between 0 and the number of images minus one.\n" -#: ../src/core/command.c:1698 +#: ../src/core/command.c:1717 #, c-format msgid "Selection update finished, %d images are selected in the sequence\n" msgstr "Selection update finished, %d images are selected in the sequence\n" -#: ../src/core/command.c:1717 +#: ../src/core/command.c:1736 msgid "Siril cannot split layers. Make sure your image is in RGB mode.\n" msgstr "Siril无法提取通道,请确保你的图像为RGB模式。\n" -#: ../src/core/command.c:1761 +#: ../src/core/command.c:1780 #, c-format msgid "" "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " @@ -4379,61 +4336,86 @@ "%s layer: Mean: %0.1lf, Median: %0.1lf, Sigma: %0.1lf, AvgDev: %0.1lf, Min: " "%0.1lf, Max: %0.1lf\n" -#: ../src/core/command.c:1791 ../src/io/conversion.c:592 +#: ../src/core/command.c:1810 ../src/io/conversion.c:601 #, c-format msgid "Conversion: error opening working directory %s.\n" msgstr "转化:无法打开工作目录 %s.\n" -#: ../src/core/command.c:1809 ../src/io/conversion.c:575 +#: ../src/core/command.c:1829 ../src/io/conversion.c:583 msgid "Conversion: processing...\n" msgstr "转化:处理中...\n" -#: ../src/core/command.c:1820 ../src/io/conversion.c:586 +#: ../src/core/command.c:1840 ../src/io/conversion.c:594 msgid "Conversion: no working directory set.\n" msgstr "转化:工作目录未设置。\n" -#: ../src/core/command.c:1875 ../src/registration/registration.c:103 +#: ../src/core/command.c:1899 ../src/registration/registration.c:104 msgid "Global Star Alignment (deep-sky)" msgstr "全局星点对齐(深空)" -#: ../src/core/command.c:1912 ../src/registration/registration.c:895 -msgid "Not enough disk space to perform Drizzle operation!\n" -msgstr "没有足够的磁盘空间来执行Drizzle操作!\n" - #. only TRUE for global registration. Will be updated in this case -#: ../src/core/command.c:1929 ../src/registration/registration.c:912 +#: ../src/core/command.c:1957 ../src/registration/registration.c:917 #, c-format msgid "Registration: processing using method: %s\n" msgstr "对齐:处理中,使用方法:%s\n" -#: ../src/core/command.c:1960 +#: ../src/core/command.c:1976 +msgid "Normalization options are not allowed in this context, ignoring.\n" +msgstr "Normalization options are not allowed in this context, ignoring.\n" + +#: ../src/core/command.c:1996 ../src/core/command.c:2014 +#: ../src/core/command.c:2032 +#, c-format +msgid "Could not parse argument `%s' to the filter `%s', aborting.\n" +msgstr "Could not parse argument `%s' to the filter `%s', aborting.\n" + +#: ../src/core/command.c:2003 ../src/core/command.c:2021 +#: ../src/core/command.c:2039 ../src/core/command.c:2052 +#, c-format +msgid "Missing argument to %s, aborting.\n" +msgstr "Missing argument to %s, aborting.\n" + +#: ../src/core/command.c:2058 +msgid "Output filename option is not allowed in this context, ignoring.\n" +msgstr "Output filename option is not allowed in this context, ignoring.\n" + +#: ../src/core/command.c:2062 +#, c-format +msgid "Unexpected argument to stacking `%s', aborting.\n" +msgstr "Unexpected argument to stacking `%s', aborting.\n" + +#: ../src/core/command.c:2079 #, c-format msgid "Stacking sequence %s\n" msgstr "叠加队列%s\n" -#: ../src/core/command.c:2005 +#: ../src/core/command.c:2089 +msgid "Not using rejection for stacking\n" +msgstr "Not using rejection for stacking\n" + +#: ../src/core/command.c:2132 #, c-format msgid "Could not save the stacking result %s\n" msgstr "无法保存叠加结果 %s\n" -#: ../src/core/command.c:2026 ../src/core/command.c:2123 +#: ../src/core/command.c:2153 msgid "Looking for sequences in current working directory...\n" msgstr "在当前工作目录中搜索队列...\n" -#: ../src/core/command.c:2028 +#: ../src/core/command.c:2155 msgid "Error while searching sequences or opening the directory.\n" msgstr "搜索或打开目录出错。\n" -#: ../src/core/command.c:2033 +#: ../src/core/command.c:2162 msgid "Starting stacking of found sequences...\n" msgstr "开始对已找到的队列进行叠加...\n" -#: ../src/core/command.c:2044 +#: ../src/core/command.c:2170 #, c-format msgid "Stacked %d sequences successfully.\n" msgstr "%d 队列叠加成功。\n" -#: ../src/core/command.c:2083 ../src/core/command.c:2199 +#: ../src/core/command.c:2210 ../src/core/command.c:2307 msgid "" "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" @@ -4441,20 +4423,20 @@ "The average stacking with rejection uses the Winsorized rejection here and " "requires two extra arguments: sigma low and high.\n" -#: ../src/core/command.c:2104 ../src/core/command.c:2220 +#: ../src/core/command.c:2219 ../src/core/command.c:2316 #, c-format -msgid "The provided type of stacking is unknown (%s).\n" -msgstr "The provided type of stacking is unknown (%s).\n" +msgid "Stacking method type '%s' is invalid\n" +msgstr "Stacking method type '%s' is invalid\n" -#: ../src/core/command.c:2129 +#: ../src/core/command.c:2252 msgid "Stacked sequence successfully.\n" msgstr "队列叠加成功。\n" -#: ../src/core/command.c:2330 ../src/gui/callbacks.c:3935 +#: ../src/core/command.c:2441 ../src/gui/callbacks.c:3951 msgid "Preprocessing...\n" msgstr "预处理...\n" -#: ../src/core/command.c:2379 +#: ../src/core/command.c:2491 #, c-format msgid "" "Number of logical processors MUST be greater than 0 and lower or equal to " @@ -4463,82 +4445,107 @@ "Number of logical processors MUST be greater than 0 and lower or equal to " "%d.\n" -#: ../src/core/command.c:2391 +#: ../src/core/command.c:2503 #, c-format msgid "Using now %d logical processors\n" msgstr "当前使用 %d 逻辑处理器\n" -#: ../src/core/command.c:2401 +#: ../src/core/command.c:2515 +msgid "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" +msgstr "" +"The accepted range for the ratio of memory used for stacking is [0.05, 2], " +"with values below the available memory recommended\n" + +#: ../src/core/command.c:2519 +#, c-format +msgid "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" +msgstr "" +"Setting the ratio of memory used for stacking above 1 will require the use " +"of on-disk memory, which is very slow and unrecommended (%g requested)\n" + +#: ../src/core/command.c:2523 +#, c-format +msgid "Usable memory for stacking changed to %g\n" +msgstr "可用于叠加的内存变为%g\n" + +#: ../src/core/command.c:2529 msgid "********* LIST OF AVAILABLE COMMANDS *********\n" msgstr "********* 可用指令列表 *********\n" -#: ../src/core/command.c:2476 +#: ../src/core/command.c:2610 #, c-format msgid "Unknown command: '%s' or not implemented yet\n" msgstr "Unknown command: '%s' or not implemented yet\n" -#: ../src/core/command.c:2483 +#: ../src/core/command.c:2617 #, c-format msgid "Usage: %s\n" msgstr "Usage: %s\n" -#: ../src/core/command.c:2490 +#: ../src/core/command.c:2624 #, c-format msgid "This command cannot be used in a script: %s\n" msgstr "This command cannot be used in a script: %s\n" #. process the command -#: ../src/core/command.c:2496 +#: ../src/core/command.c:2630 #, c-format msgid "Running command: %s\n" msgstr "Running command: %s\n" -#: ../src/core/command.c:2542 +#: ../src/core/command.c:2679 #, c-format -msgid "Error in line %d. Exiting batch processing\n" -msgstr "在%d 行中出现错误。 正在退出批处理\n" +msgid "Error in line %d: '%s'.\n" +msgstr "Error in line %d: '%s'.\n" -#: ../src/core/command.c:2558 +#: ../src/core/command.c:2680 +msgid "Exiting batch processing.\n" +msgstr "正在退出批处理\n" + +#: ../src/core/command.c:2698 msgid "Script execution finished successfully.\n" msgstr "脚本执行成功完成。\n" -#: ../src/core/command.c:2560 +#: ../src/core/command.c:2700 msgid "Total execution time" msgstr "总执行时间" -#: ../src/core/command.c:2562 +#: ../src/core/command.c:2702 msgid "Script execution failed.\n" msgstr "脚本执行失败。\n" -#: ../src/core/command.c:2588 ../src/gui/script_menu.c:169 ../src/main.c:482 +#: ../src/core/command.c:2728 ../src/gui/script_menu.c:173 ../src/main.c:416 #, c-format msgid "File [%s] does not exist\n" msgstr "文件 [%s] 不存在\n" #. Then, run script -#: ../src/core/command.c:2596 ../src/gui/script_menu.c:178 +#: ../src/core/command.c:2736 ../src/gui/script_menu.c:182 #, c-format msgid "Starting script %s\n" msgstr "开始运行脚本%s\n" -#: ../src/core/command.c:2603 -#, fuzzy +#: ../src/core/command.c:2743 msgid "Command execution failed.\n" -msgstr "脚本执行失败。\n" +msgstr "命令执行失败。\n" -#: ../src/core/command.c:2728 +#: ../src/core/command.c:2868 msgid "Can be used in a script: " msgstr "Can be used in a script: " -#: ../src/core/command.c:2731 +#: ../src/core/command.c:2871 msgid "YES" msgstr "YES" -#: ../src/core/command.c:2733 +#: ../src/core/command.c:2873 msgid "NO" msgstr "NO" -#: ../src/core/command.c:2743 +#: ../src/core/command.c:2883 msgid "No help for this command" msgstr "No help for this command" @@ -4557,6 +4564,8 @@ "ASINH command stretches the image for show faint objects, while " "simultaneously, preserve the structure of bright objects of the field" msgstr "" +"ASINH command stretches the image for show faint objects, while " +"simultaneously, preserve the structure of bright objects of the field" #: ../src/core/command_def.h:9 msgid "Returns the background level of the image loaded in memory" @@ -4564,7 +4573,7 @@ #: ../src/core/command_def.h:10 msgid "Returns the background noise level" -msgstr "返回背景噪声等级" +msgstr "Returns the background noise level" #: ../src/core/command_def.h:12 msgid "" @@ -4619,8 +4628,18 @@ msgstr "Same function that COSME but applying to RAW CFA images" #: ../src/core/command_def.h:20 -msgid "Crops the current image within the rectangle previously selected" -msgstr "Crops the current image within the rectangle previously selected" +msgid "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" +msgstr "" +"It can be used with the GUI: if a selection has been made with the mouse, " +"calling the CROP command without arguments crops it on this selection. " +"Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" " +"being the coordinates of the top left corner, and \"width\" and \"height\" " +"the size of the selection" #: ../src/core/command_def.h:22 msgid "" @@ -4773,6 +4792,7 @@ #: ../src/core/command_def.h:42 msgid "The function equalizes the mean intensity of RGB layers in a CFA images" msgstr "" +"The function equalizes the mean intensity of RGB layers in a CFA images" #: ../src/core/command_def.h:44 msgid "Gives the available commands" @@ -4873,13 +4893,14 @@ "file) if the pixel intensity overflows" #: ../src/core/command_def.h:64 -#, fuzzy msgid "" "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation and the \"-" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" "equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " "flat master. It is also possible to optimize the dark subtraction with \"-opt" "\".\n" @@ -4889,8 +4910,15 @@ "Preprocesses the sequence \"sequencename\" using bias, dark and flat given " "in argument. It is possible to specify if images are CFA for cosmetic " "correction purposes with the option \"-cfa\" and also to demosaic images at " -"the end of the process with \"-debayer\". The \"-flip\" option tells to " -"Siril to read image from up to bottom for demosaicing operation" +"the end of the process with \"-debayer\". This option can be associated to " +"\"-stretch\" in order to stretch to 16-bit the image during this operation " +"(works only with images from DSLR). The \"-flip\" option tells to Siril to " +"read image from up to bottom for demosaicing operation and the \"-" +"equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA " +"flat master. It is also possible to optimize the dark subtraction with \"-opt" +"\".\n" +"\n" +"Note that only hot pixels are corrected in cosmetic correction process" #: ../src/core/command_def.h:65 msgid "Performs a PSF (Point Spread Function) on the selected star" @@ -4924,6 +4952,11 @@ "opposite sign. The two images are then added to create the final image. This " "process is also called Larson Sekanina filter" msgstr "" +"Creates two images, with a radial shift (\"dR\" in pixels) and a rotational " +"shift (\"dalpha\" in degrees) with respect to the point (\"xc\", \"yc\"). " +"Between these two images, the shifts have the same amplitude, but an " +"opposite sign. The two images are then added to create the final image. This " +"process is also called Larson Sekanina filter" #: ../src/core/command_def.h:70 msgid "" @@ -4978,13 +5011,12 @@ "are added with values corresponding to the current viewing levels" #: ../src/core/command_def.h:77 -#, fuzzy msgid "" "Saves current image under the form of a bitmap file with 8-bit per channel: " "\"filename\".bmp (BMP 24-bit)." msgstr "" -"Saves current image under the form of a uncompressed TIFF file with 16-bit " -"per channel: \"filename\".tif" +"Saves current image under the form of a bitmap file with 8-bit per channel: " +"\"filename\".bmp (BMP 24-bit)." #: ../src/core/command_def.h:78 msgid "" @@ -5082,6 +5114,9 @@ "with FINDSTAR and REGISTER commands. \"Sigma\" must be greater or equal to " "0.05 and \"roundness\" between 0 and 0.9" msgstr "" +"Defines thresholds above the noise and star roundness for stars detection " +"with FINDSTAR and REGISTER commands. \"Sigma\" must be greater or equal to " +"0.05 and \"roundness\" between 0 and 0.9" #: ../src/core/command_def.h:91 msgid "" @@ -5119,41 +5154,63 @@ #: ../src/core/command_def.h:93 msgid "" +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0 and 1, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster" +msgstr "" +"Sets a new ratio of free memory on memory used for stacking. Value should be " +"between 0 and 1, depending on other activities of the machine. A higher " +"ratio should allow siril to stack faster" + +#: ../src/core/command_def.h:94 +msgid "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" msgstr "" "Splits the color image into three distincts files (one for each color) and " "save them in \"r\" \"g\" and \"b\" file" -#: ../src/core/command_def.h:94 +#: ../src/core/command_def.h:95 msgid "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" msgstr "" "Stacks the \"sequencename\" sequence, using options. The allowed types are: " "sum, max, min, med or median, and rej or mean that requires the use of " "additional arguments \"sigma low\" and \"high\" used for the Winsorized " -"sigma clipping rejection algorithm (cannot be changed from here). Different " -"types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul" -"\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" " -"apply same normalisations but with scale operations. If no argument other " -"than the sequence name is provided, sum stacking is assumed" +"sigma clipping rejection algorithm (cannot be changed from here).\n" +"Different types of normalisation are allowed: \"-norm=add\" for addition, \"-" +"norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-" +"norm=mulscale\" apply same normalisations but with scale operations.\n" +"If no argument other than the sequence name is provided, sum stacking is " +"assumed.\n" +"Result image's name can be set with the \"-out=\" option.\n" +"Stacked images can be selected based on some filters, like manual selection " +"or best FWHM, with some of the \"-filter-*\" options.\n" +"See the command reference for the complete documentation on this command" -#: ../src/core/command_def.h:95 +#: ../src/core/command_def.h:96 msgid "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" msgstr "" "Opens all sequences in the CWD and stacks them with the optionally specified " -"stacking type or with sum stacking. See STACK command for options description" +"stacking type and filtering or with sum stacking. See STACK command for " +"options description" -#: ../src/core/command_def.h:96 +#: ../src/core/command_def.h:97 msgid "" "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" @@ -5161,21 +5218,21 @@ "Returns global statistics of the current image. If a selection is made, the " "command returns statistics within the selection" -#: ../src/core/command_def.h:98 +#: ../src/core/command_def.h:99 msgid "Replaces values below \"level\" with \"level\"" msgstr "Replaces values below \"level\" with \"level\"" -#: ../src/core/command_def.h:99 +#: ../src/core/command_def.h:100 msgid "Replaces values above \"level\" with \"level\"" msgstr "Replaces values above \"level\" with \"level\"" -#: ../src/core/command_def.h:100 +#: ../src/core/command_def.h:101 msgid "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" msgstr "" "Replaces values below \"lo\" with \"lo\" and values above \"hi\" with \"hi\"" -#: ../src/core/command_def.h:102 +#: ../src/core/command_def.h:103 msgid "" "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" @@ -5183,11 +5240,11 @@ "Allows easy mass unselection of images in the loaded sequence (from \"from\" " "to \"to\" included). See SELECT" -#: ../src/core/command_def.h:103 +#: ../src/core/command_def.h:104 msgid "Reset the magnitude calibration to 0. See SETMAG" msgstr "Reset the magnitude calibration to 0. See SETMAG" -#: ../src/core/command_def.h:104 +#: ../src/core/command_def.h:105 msgid "" "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" @@ -5195,7 +5252,7 @@ "Resets the magnitude calibration and reference star for the sequence. See " "SETMAGSEQ" -#: ../src/core/command_def.h:105 +#: ../src/core/command_def.h:106 msgid "" "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" @@ -5203,13 +5260,13 @@ "Applies to the working image an unsharp mask with sigma \"sigma\" and " "coefficient \"multi\"" -#: ../src/core/command_def.h:107 +#: ../src/core/command_def.h:108 msgid "" "Displays an image with \"low\" and \"high\" as the low and high threshold" msgstr "" "Displays an image with \"low\" and \"high\" as the low and high threshold" -#: ../src/core/command_def.h:109 +#: ../src/core/command_def.h:110 msgid "" "Computes the wavelet transform on \"nbr_plan\" plans using linear (type=1) " "or bspline (type=2) version of the 'a trous' algorithm. The result is stored " @@ -5221,7 +5278,7 @@ "in a file as a structure containing the planes, ready for weighted " "reconstruction with WRECONS" -#: ../src/core/command_def.h:110 +#: ../src/core/command_def.h:111 msgid "" "Reconstructs to current image from the planes previously computed with " "wavelets and weighted with coefficients \"c1\", \"c2\", ..., \"cn\" " @@ -5236,110 +5293,218 @@ msgid "Loading init file: '%s'\n" msgstr "Loading init file: '%s'\n" -#: ../src/core/initfile.c:65 +#: ../src/core/OS_utils.c:208 +#, c-format msgid "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" msgstr "" -"Reverting current working directory to startup directory, the saved " -"directory is not available anymore\n" +"Not enough free disk space to perform this operation: %sB available for %sB " +"needed (missing %sB)\n" + +#: ../src/core/OS_utils.c:211 +msgid "Not enough disk space" +msgstr "没有足够的磁盘空间" + +#: ../src/core/OS_utils.c:395 ../src/core/OS_utils.c:398 +msgid "Open File" +msgstr "打开文件" + +#: ../src/core/OS_utils.c:396 ../src/core/OS_utils.c:399 +msgid "_Open" +msgstr "打开" + +#: ../src/core/OS_utils.c:396 ../src/core/OS_utils.c:399 +#: ../src/core/OS_utils.c:407 ../src/core/OS_utils.c:410 +msgid "_Cancel" +msgstr "取消" + +#: ../src/core/OS_utils.c:406 ../src/core/OS_utils.c:409 +msgid "Save File" +msgstr "保存文件" + +#: ../src/core/OS_utils.c:407 ../src/core/OS_utils.c:410 +msgid "_Save" +msgstr "_保存" #: ../src/core/pipe.c:133 ../src/core/pipe.c:145 -#, fuzzy msgid "Could not create the named pipe " -msgstr "无法打开TIFF文件: %s\n" +msgstr "Could not create the named pipe " #: ../src/core/pipe.c:139 ../src/core/pipe.c:151 msgid "The named pipe file " -msgstr "" +msgstr "The named pipe file " -#: ../src/core/pipe.c:266 ../src/core/pipe.c:342 ../src/core/pipe.c:453 -#: ../src/core/pipe.c:459 -#, fuzzy +#: ../src/core/pipe.c:268 ../src/core/pipe.c:344 ../src/core/pipe.c:455 +#: ../src/core/pipe.c:461 msgid "Could not open the named pipe\n" -msgstr "无法打开TIFF文件: %s\n" +msgstr "Could not open the named pipe\n" -#: ../src/core/pipe.c:294 ../src/core/pipe.c:371 +#: ../src/core/pipe.c:296 ../src/core/pipe.c:373 msgid "command too long or malformed\n" -msgstr "" +msgstr "command too long or malformed\n" -#: ../src/core/pipe.c:331 ../src/core/pipe.c:407 +#: ../src/core/pipe.c:333 ../src/core/pipe.c:409 msgid "command interrupted\n" -msgstr "" +msgstr "command interrupted\n" -#: ../src/core/processing.c:62 +#: ../src/core/processing.c:61 +msgid "No image selected for processing, aborting\n" +msgstr "No image selected for processing, aborting\n" + +#: ../src/core/processing.c:70 msgid "Preparing sequence processing failed.\n" msgstr "准备待处理队列失败。\n" -#: ../src/core/processing.c:84 +#: ../src/core/processing.c:92 #, c-format msgid "Output index mapping failed (%d/%d).\n" msgstr "Output index mapping failed (%d/%d).\n" -#: ../src/core/processing.c:93 +#: ../src/core/processing.c:109 msgid ": processing...\n" msgstr ": 处理中…\n" -#: ../src/core/processing.c:197 +#: ../src/core/processing.c:213 #, c-format msgid "%s. Processing image %d (%s)" msgstr "%s. Processing image %d (%s)" -#: ../src/core/processing.c:203 +#: ../src/core/processing.c:219 msgid "Sequence processing failed. Check the log." msgstr "队列处理失败,请检查日志。" -#: ../src/core/processing.c:204 +#: ../src/core/processing.c:220 msgid "Sequence processing failed.\n" msgstr "队列处理失败。\n" -#: ../src/core/processing.c:209 +#: ../src/core/processing.c:225 msgid "Sequence processing partially succeeded. Check the log." msgstr "队列处理失败,请检查日志。" -#: ../src/core/processing.c:210 +#: ../src/core/processing.c:226 #, c-format msgid "" "Sequence processing partially succeeded, with %d images that failed and that " "were temporarily excluded from the sequence.\n" msgstr "队列处理部分成功,图像%d失败并且被临时移除队列。\n" -#: ../src/core/processing.c:212 +#: ../src/core/processing.c:228 msgid "Sequence processing succeeded." msgstr "队列处理成功。" -#: ../src/core/processing.c:213 +#: ../src/core/processing.c:229 msgid "Sequence processing succeeded.\n" msgstr "队列处理成功。\n" -#: ../src/core/processing.c:225 +#: ../src/core/processing.c:241 msgid "Finalizing sequence processing failed.\n" msgstr "队列最终处理失败。\n" -#: ../src/core/processing.c:394 +#: ../src/core/processing.c:434 msgid "Process aborted by user\n" msgstr "程序处理被用户中断\n" +#: ../src/core/sequence_filtering.c:194 +msgid "Sequence filter: values can only be either literal or percent\n" +msgstr "Sequence filter: values can only be either literal or percent\n" + +#: ../src/core/sequence_filtering.c:200 +#, c-format +msgid "Using selected images filter (%d/%d of the sequence)\n" +msgstr "Using selected images filter (%d/%d of the sequence)\n" + +#: ../src/core/sequence_filtering.c:208 +#, c-format +msgid "Using star FWHM images filter (below %f)\n" +msgstr "Using star FWHM images filter (below %f)\n" + +#: ../src/core/sequence_filtering.c:216 +#, c-format +msgid "Using star roundness images filter (above %f)\n" +msgstr "Using star roundness images filter (above %f)\n" + +#: ../src/core/sequence_filtering.c:224 +#, c-format +msgid "Using image quality filter (below %f)\n" +msgstr "Using image quality filter (below %f)\n" + +#: ../src/core/sequence_filtering.c:251 +msgid "" +"Provided filtering options do not allow at least two images to be " +"processed.\n" +msgstr "" +"Provided filtering options do not allow at least two images to be " +"processed.\n" + +#: ../src/core/sequence_filtering.c:284 +msgid "" +"The reference image is not in the selected set of images. To avoid issues, " +"please change it or change the filtering parameters.\n" +msgstr "" +"参考帧不在所选定的队列里。请重新选择或者改变过滤参数。\n" +"\n" + +#: ../src/core/sequence_filtering.c:291 +#, c-format +msgid "Using image %d as temporary reference image\n" +msgstr "使用图像 %d 作为临时参考帧\n" + +#: ../src/core/sequence_filtering.c:330 +#, c-format +msgid "" +"Warning: some images don't have information available for best images " +"selection, using only available data (%d images on %d).\n" +msgstr "" +"警告:一些图像不含有可用于最佳图像选择的有效信息 ,仅有效数据被使用 (%d " +"images on %d).\n" + +#: ../src/core/sequence_filtering.c:367 +#, c-format +msgid "Processing all images in the sequence (%d)\n" +msgstr "叠加队列中的所有图像 (%d)\n" + +#: ../src/core/sequence_filtering.c:370 +#, c-format +msgid "Processing only selected images in the sequence (%d)\n" +msgstr "叠加队列中已选择的图像 (%d)\n" + +#: ../src/core/sequence_filtering.c:373 +#, c-format +msgid "" +"Processing images of the sequence with a FWHM lower or equal than %g (%d)\n" +msgstr "叠加队列中FWHM小于等于 %g (%d) 的图像\n" + +#: ../src/core/sequence_filtering.c:378 +#, c-format +msgid "" +"Processing images of the sequence with a roundness higher or equal than %g " +"(%d)\n" +msgstr "叠加队列中圆度大于等于 %g (%d) 的图像\n" + +#: ../src/core/sequence_filtering.c:383 +#, c-format +msgid "" +"Processing images of the sequence with a quality higher or equal than %g " +"(%d)\n" +msgstr "叠加队列中品质大于等于 %g (%d) 的图像\n" + +#: ../src/core/sequence_filtering.c:388 +#, c-format +msgid "Processing images whose output don't already exist (%d)" +msgstr "叠加尚未有输出结果的图像 (%d)" + +#: ../src/core/sequence_filtering.c:405 +#, c-format +msgid "for a total of images processed of %d)\n" +msgstr "for a total of images processed of %d)\n" + #: ../src/core/siril.c:164 #, c-format msgid "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" msgstr "imoper: images don't have the same size (w = %u|%u, h = %u|%u)\n" -#: ../src/core/siril.c:211 -#, c-format -msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" -msgstr "图像不具有统一大小 (w = %d|%d, h = %d|%d)\n" - -#: ../src/core/siril.c:213 ../src/gui/PSF_list.c:158 ../src/gui/callbacks.c:997 -#: ../src/gui/callbacks.c:2064 ../src/gui/callbacks.c:3004 -#: ../src/gui/callbacks.c:4375 ../src/gui/callbacks.c:4396 -#: ../src/gui/callbacks.c:4800 ../src/gui/callbacks.c:4806 -#: ../src/gui/callbacks.c:4831 ../src/gui/plot.c:381 ../src/gui/plot.c:441 -#: ../src/io/conversion.c:593 ../src/io/single_image.c:129 -msgid "Error" -msgstr "错误" - -#: ../src/core/siril.c:249 +#: ../src/core/siril.c:206 #, c-format msgid "" "addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" @@ -5348,91 +5513,95 @@ "addmax: images don't have the same size (w = %d|%d, h = %d|%d, layers = %d|" "%d)\n" -#: ../src/core/siril.c:337 +#: ../src/core/siril.c:294 msgid "Unsharp: processing...\n" msgstr "模糊化:处理中...\n" -#: ../src/core/siril.c:587 +#: ../src/core/siril.c:544 msgid "Could not compute normalization values for the images, aborting.\n" msgstr "无法计算图像归一化数值,异常终止。\n" -#: ../src/core/siril.c:753 -#, fuzzy, c-format -msgid "Dark optimization: k0=%1.3lf\n" -msgstr "暗场优化: %.3lf\n" +#: ../src/core/siril.c:714 +#, c-format +msgid "Dark optimization: k0=%.3lf\n" +msgstr "暗场优化: k0=%.3lf\n" -#: ../src/core/siril.c:836 +#: ../src/core/siril.c:792 #, c-format msgid "Normalisation value auto evaluated: %.2lf\n" msgstr "自动估算归一化参数:%.2lf\n" -#: ../src/core/siril.c:843 +#: ../src/core/siril.c:799 #, c-format msgid "Pre-processing image %s" msgstr "预处理图像 %s" -#: ../src/core/siril.c:883 ../src/core/siril.c:928 +#: ../src/core/siril.c:839 ../src/core/siril.c:889 msgid "" "Darkmap cosmetic correction is only supported with single channel images\n" msgstr "暗场降噪只支持单通道图像\n" -#: ../src/core/siril.c:895 +#: ../src/core/siril.c:851 #, c-format msgid "Saving image %s" msgstr "保存图像 %s" -#: ../src/core/siril.c:944 +#: ../src/core/siril.c:905 #, c-format msgid "Loading and pre-processing image %d/%d (%s)" msgstr "读取并且预处理图像 %d/%d (%s)" -#: ../src/core/siril.c:950 +#: ../src/core/siril.c:911 #, c-format msgid "Could not read one of the raw files: %s. Aborting preprocessing." msgstr "无法读取raw文件:%s 预处理异常终止。" -#: ../src/core/siril.c:1087 +#: ../src/core/siril.c:1052 #, c-format msgid "Extracting %s..." msgstr "提取 %s…" -#: ../src/core/siril.c:1128 +#: ../src/core/siril.c:1095 msgid "Median Filter: processing...\n" msgstr "中位数滤镜:处理中...\n" -#: ../src/core/siril.c:1159 +#: ../src/core/siril.c:1104 msgid "Median filter failed" msgstr "中位数滤镜失败" -#: ../src/core/siril.c:1207 +#: ../src/core/siril.c:1172 msgid "Median filter applied" msgstr "中位数滤镜已应用" -#: ../src/core/siril.c:1284 +#: ../src/core/siril.c:1249 msgid "Banding Reducing: processing...\n" msgstr "除去条纹:处理中...\n" -#: ../src/core/siril.c:1450 +#: ../src/core/siril.c:1418 msgid "backgroundnoise: Error, no data computed\n" msgstr "背景噪声:错误,无可用数据\n" -#: ../src/core/siril.c:1460 +#: ../src/core/siril.c:1428 msgid "backgroundnoise: does not converge\n" msgstr "背景噪声:无法汇聚\n" -#: ../src/core/siril.c:1490 +#: ../src/core/siril.c:1458 msgid "Noise standard deviation: calculating...\n" msgstr "噪声标准背离:计算中...\n" -#: ../src/core/siril.c:1510 +#: ../src/core/siril.c:1478 #, c-format msgid "Background noise value (channel: #%d): %0.3lf (%.3e)\n" msgstr "背景噪声值(通道:#%d): %0.3lf (%.3e)\n" -#: ../src/core/siril.c:1525 +#: ../src/core/siril.c:1493 msgid "Lucy-Richardson deconvolution: processing...\n" msgstr "Lucy-Richardson反卷积:执行中...\n" +#: ../src/core/siril_log.c:72 +msgid "Log files (*.log)" +msgstr "日志文件 (*.log)" + #: ../src/core/siril_update.c:259 msgid "Unable to check updates! Please Check your network connection\n" msgstr "无法检查更新!请检查您的网络连接\n" @@ -5480,439 +5649,363 @@ msgid "File I/O Error: Unable to write swap file in %s: [%s]\n" msgstr "文件I/O错误:无法写入交换文件于 %s: [%s]\n" -#: ../src/core/utils.c:351 +#: ../src/core/utils.c:296 msgid "Unknown error\n" msgstr "未知错误\n" -#: ../src/core/utils.c:354 +#: ../src/core/utils.c:299 msgid "No such file or directory\n" msgstr "文件或目录不存在\n" -#: ../src/core/utils.c:357 +#: ../src/core/utils.c:302 #, c-format msgid "\"%s\" is not a directory\n" msgstr "%s不是一个目录\n" -#: ../src/core/utils.c:360 ../src/gui/callbacks.c:3003 +#: ../src/core/utils.c:305 ../src/gui/callbacks.c:2890 #, c-format msgid "You don't have permission to write in this directory: %s\n" msgstr "当前用户对目录%s没有写权限\n" -#: ../src/core/utils.c:373 +#: ../src/core/utils.c:318 #, c-format msgid "Setting CWD (Current Working Directory) to '%s'\n" msgstr "设置当前工作目录(CWD)为 '%s'\n" -#: ../src/core/utils.c:380 +#: ../src/core/utils.c:321 #, c-format msgid "Could not change directory to '%s'.\n" msgstr "无法更改目录为 '%s'\n" -#: ../src/core/utils.c:799 +#: ../src/core/utils.c:488 msgid "Filename is too long, not expanding it\n" msgstr "文件名太长了\n" -#: ../src/core/utils.c:983 +#: ../src/core/utils.c:603 #, c-format msgid "Checking GTK version ... GTK-%d.%d\n" msgstr "Checking GTK version ... GTK-%d.%d\n" -#: ../src/core/utils.c:1006 +#: ../src/core/utils.c:626 #, c-format msgid "The version of GTK does not match requirements: (GTK-%d.%d)\n" msgstr "The version of GTK does not match requirements: (GTK-%d.%d)\n" -#: ../src/core/utils.c:1012 +#: ../src/core/utils.c:632 #, c-format msgid "Unable to load CSS style sheet file: %s. Please reinstall %s\n" msgstr "Unable to load CSS style sheet file: %s. Please reinstall %s\n" -#: ../src/core/utils.c:1022 ../src/main.c:270 +#: ../src/core/utils.c:642 ../src/main.c:221 #, c-format msgid "Successfully loaded '%s'\n" msgstr "成功载入'%s'\n" -#: ../src/gui/PSF_list.c:158 -msgid "Stars must have the same units." -msgstr "星点必须拥有相同的单位。" - -#: ../src/gui/PSF_list.c:171 -#, c-format +#. translator names +#: ../src/gui/about_dialog.c:37 msgid "" -"Average Gaussian PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"r:\t%.3f\n" -"Angle:\t%.2f deg\n" -"rmse:\t%.3e\n" +"Cyril Richard \n" +"Vincent Hourdin " msgstr "" -"高斯平均 PSF\n" -"\n" -"N:\t%d stars\n" -"B:\t%.6f\n" -"A:\t%.6f\n" -"FWHMx:\t%.2f%s\n" -"FWHMy:\t%.2f%s\n" -"圆度:\t%.3f\n" -"偏角:\t%.2f deg\n" -"rmse:\t%.3e\n" - -#: ../src/gui/PSF_list.c:236 -#, c-format -msgid "Star %d of %d" -msgstr "星点 %d 之于 %d" - -#: ../src/gui/callbacks.c:758 ../src/gui/save_dialog.c:61 -msgid "FITS Files (*.fit, *.fits, *.fts)" -msgstr "FITS文件 (*.fit, *.fits, *.fts)" - -#: ../src/gui/callbacks.c:782 -msgid "RAW DSLR Camera Files" -msgstr "RAW DSLR相机文件" - -#: ../src/gui/callbacks.c:790 -msgid "Graphics Files (*.bmp" -msgstr "图像文件 (*.bmp" - -#. NETPBM FILES -#: ../src/gui/callbacks.c:815 ../src/gui/save_dialog.c:84 -msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" -msgstr "Netpbm文件 (*.ppm, *.pnm, *.pgm)" +"叶云 \n" +"Mr.Coffee" -#. IRIS FILES -#: ../src/gui/callbacks.c:818 -msgid "IRIS PIC Files (*.pic)" -msgstr "IRIS PIC 文件 (*.pic)" - -#. SER FILES -#: ../src/gui/callbacks.c:821 -msgid "SER files (*.ser)" -msgstr "SER文件 (*.ser)" - -#: ../src/gui/callbacks.c:845 -msgid "Film Files (*.avi, *.mpg, ...)" -msgstr "视频文件 (*.avi, *.mpg, ...)" - -#: ../src/gui/callbacks.c:877 ../src/gui/callbacks.c:880 -#: ../src/gui/callbacks.c:892 ../src/gui/callbacks.c:895 -#: ../src/gui/callbacks.c:906 ../src/gui/callbacks.c:909 -#: ../src/gui/callbacks.c:921 ../src/gui/callbacks.c:924 -msgid "Open File" -msgstr "打开文件" +#: ../src/gui/about_dialog.c:48 +msgid "About Siril" +msgstr "关于Siril" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:882 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:911 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:926 -msgid "_Open" -msgstr "打开" +#: ../src/gui/about_dialog.c:55 +msgid "Astronomical image (pre-)processing program" +msgstr "天文图像(预)处理程序" -#: ../src/gui/callbacks.c:878 ../src/gui/callbacks.c:881 -#: ../src/gui/callbacks.c:893 ../src/gui/callbacks.c:896 -#: ../src/gui/callbacks.c:907 ../src/gui/callbacks.c:910 -#: ../src/gui/callbacks.c:922 ../src/gui/callbacks.c:925 -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Cancel" -msgstr "取消" +#: ../src/gui/about_dialog.c:58 +msgid "Visit the Siril website" +msgstr "访问Siril网站" -#: ../src/gui/callbacks.c:1133 +#: ../src/gui/callbacks.c:799 #, c-format msgid "Image %d has been unselected from sequence\n" msgstr "图像 %d 已被除去\n" -#: ../src/gui/callbacks.c:1143 +#: ../src/gui/callbacks.c:809 #, c-format msgid "Image %d has been selected from sequence\n" msgstr "图像 %d 已被选择\n" -#: ../src/gui/callbacks.c:1177 +#: ../src/gui/callbacks.c:843 msgid "Selected all images from sequence\n" msgstr "已选择队列中所有的图像\n" -#: ../src/gui/callbacks.c:1181 +#: ../src/gui/callbacks.c:847 msgid "Unselected all images from sequence\n" msgstr "已除去队列中所有的图像\n" -#: ../src/gui/callbacks.c:1313 +#: ../src/gui/callbacks.c:1056 #, c-format msgid "Setting MAX value for cutoff sliders adjustments\n" msgstr "Setting MAX value for cutoff sliders adjustments\n" #. there should be no other normal cases -#: ../src/gui/callbacks.c:1356 +#: ../src/gui/callbacks.c:1099 #, c-format msgid "setting ranges scalemin=%d, scalemax=%d\n" msgstr "setting ranges scalemin=%d, scalemax=%d\n" -#: ../src/gui/callbacks.c:1462 +#: ../src/gui/callbacks.c:1205 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%d" msgstr "<%%s.seq>: %%d 幅图像已被选择,总共图像 %%d,参考帧为 %%d" -#: ../src/gui/callbacks.c:1465 +#: ../src/gui/callbacks.c:1208 #, c-format msgid "<%%s.seq>: %%d images selected out of %%d, reference image is %%.%dd" msgstr "<%%s.seq>: %%d 幅图像已被选择,总共图像 %%d,参考帧为 %%.%dd" -#: ../src/gui/callbacks.c:1474 +#: ../src/gui/callbacks.c:1217 #, c-format msgid "<%s.seq>: %d images selected out of %d, no reference image set" msgstr "<%s.seq>: %d 幅图像已被选择,总共图像 %d,尚未设置参考帧" -#: ../src/gui/callbacks.c:1477 +#: ../src/gui/callbacks.c:1220 #, c-format msgid "%s, %d images selected" msgstr "%s, %d 图像已被选择" -#: ../src/gui/callbacks.c:1481 +#: ../src/gui/callbacks.c:1224 #, c-format msgid "No sequence" msgstr "无队列" -#: ../src/gui/callbacks.c:1482 +#: ../src/gui/callbacks.c:1225 #, c-format msgid "- none -" msgstr "- 无 -" -#: ../src/gui/callbacks.c:1563 +#: ../src/gui/callbacks.c:1308 #, c-format msgid "" "redraw: maximum number of layers supported is %d (current image has %d).\n" msgstr "redraw: 最大支持的通道数为 %d (当前文件为 %d)。\n" -#: ../src/gui/callbacks.c:1857 +#: ../src/gui/callbacks.c:1604 #, c-format msgid "fwhm: selection is too large" msgstr "fwhm: 选择区域太大" -#: ../src/gui/callbacks.c:1859 +#: ../src/gui/callbacks.c:1606 #, c-format msgid "fwhm: no selection" msgstr "fwhm: 无选择" -#: ../src/gui/callbacks.c:1884 +#: ../src/gui/callbacks.c:1631 #, c-format msgid "%s (channel 0)" msgstr "%s (通道 0)" -#: ../src/gui/callbacks.c:1889 +#: ../src/gui/callbacks.c:1636 #, c-format msgid "%s (channel 1)" msgstr "%s (通道 1)" -#: ../src/gui/callbacks.c:1893 +#: ../src/gui/callbacks.c:1640 #, c-format msgid "%s (channel 2)" msgstr "%s (通道 2)" -#: ../src/gui/callbacks.c:1917 +#: ../src/gui/callbacks.c:1667 msgid "Unassigned" msgstr "未指定" -#: ../src/gui/callbacks.c:1943 +#: ../src/gui/callbacks.c:1693 #, c-format msgid "%d: not affected yet" msgstr "%d: 未生效" -#: ../src/gui/callbacks.c:2063 +#: ../src/gui/callbacks.c:1833 msgid "Unknown zoom_value value, what is the current zoom?\n" msgstr "Unknown zoom_value value, what is the current zoom?\n" -#: ../src/gui/callbacks.c:2149 +#: ../src/gui/callbacks.c:1834 ../src/gui/callbacks.c:2891 +#: ../src/gui/callbacks.c:4536 ../src/gui/callbacks.c:4542 +#: ../src/gui/callbacks.c:4563 ../src/gui/open_dialog.c:293 +#: ../src/gui/plot.c:383 ../src/gui/plot.c:443 ../src/gui/PSF_list.c:213 +#: ../src/gui/save_dialog.c:298 ../src/io/conversion.c:602 +#: ../src/io/single_image.c:131 +msgid "Error" +msgstr "错误" + +#: ../src/gui/callbacks.c:1919 msgid "B&W channel" msgstr "黑白通道" -#: ../src/gui/callbacks.c:2182 +#: ../src/gui/callbacks.c:1952 +#, c-format +msgid "%d file loaded" +msgstr "%d个文件已载入" + +#: ../src/gui/callbacks.c:1954 #, c-format msgid "%d files loaded" msgstr "%d个文件已载入" -#: ../src/gui/callbacks.c:2310 +#: ../src/gui/callbacks.c:1959 +#, c-format +msgid "%d file selected, %s" +msgstr "%d个文件已选择,%s" + +#: ../src/gui/callbacks.c:1961 +#, c-format +msgid "%d files selected, %s" +msgstr "%d个文件已选择,%s" + +#: ../src/gui/callbacks.c:2103 #, c-format msgid "Mem: %ldMB" msgstr "Mem: %ldMB" -#: ../src/gui/callbacks.c:2312 +#: ../src/gui/callbacks.c:2105 #, c-format msgid "Mem: N/A" msgstr "Mem: N/A" -#: ../src/gui/callbacks.c:2325 +#: ../src/gui/callbacks.c:2113 #, c-format -msgid "Disk Space: %.0lf%s" -msgstr "磁盘空间:%.0lf%s" +msgid "Disk Space: %s" +msgstr "磁盘空间:%s" -#: ../src/gui/callbacks.c:2327 +#: ../src/gui/callbacks.c:2116 #, c-format msgid "Disk Space: N/A" msgstr "磁盘空间:N/A" -#: ../src/gui/callbacks.c:2388 +#: ../src/gui/callbacks.c:2178 msgid "This binning is not handled yet\n" msgstr "该合并模式不被支持\n" -#: ../src/gui/callbacks.c:2825 ../src/gui/callbacks.c:2826 +#: ../src/gui/callbacks.c:2703 ../src/gui/callbacks.c:2704 #, c-format msgid "ERROR" msgstr "错误" -#: ../src/gui/callbacks.c:2838 +#: ../src/gui/callbacks.c:2716 #, c-format msgid "Cold: %ld px" msgstr "冷:%ld px" -#: ../src/gui/callbacks.c:2839 ../src/gui/callbacks.c:2851 +#: ../src/gui/callbacks.c:2717 ../src/gui/callbacks.c:2729 msgid "" "This value may be to high. Please, consider to change sigma value or uncheck " "the box." msgstr "参数过大。请酌情改变sigma值或者取消本选项之选择。" -#: ../src/gui/callbacks.c:2842 +#: ../src/gui/callbacks.c:2720 #, c-format msgid "Cold: %ld px" msgstr "冷:%ld px" -#: ../src/gui/callbacks.c:2850 +#: ../src/gui/callbacks.c:2728 #, c-format msgid "Hot: %ld px" msgstr "热:%ld px" -#: ../src/gui/callbacks.c:2854 +#: ../src/gui/callbacks.c:2732 #, c-format msgid "Hot: %ld px" msgstr "热:%ld px" -#: ../src/gui/callbacks.c:3070 -#, fuzzy +#: ../src/gui/callbacks.c:2972 msgid "Closing application" -msgstr "色彩校准" +msgstr "关闭程序" -#: ../src/gui/callbacks.c:3070 -#, fuzzy +#: ../src/gui/callbacks.c:2972 msgid "Are you sure you want to quit?" -msgstr "真的要退出?" +msgstr "确定要退出吗?" -#: ../src/gui/callbacks.c:3630 +#: ../src/gui/callbacks.c:3646 #, c-format msgid "new zoom value: %f\n" msgstr "new zoom value: %f\n" -#: ../src/gui/callbacks.c:3669 +#: ../src/gui/callbacks.c:3685 #, c-format msgid "%g nm" msgstr "%g nm" -#: ../src/gui/callbacks.c:3671 +#: ../src/gui/callbacks.c:3687 #, c-format msgid "undefined" msgstr "未定义的" -#: ../src/gui/callbacks.c:3767 -#, fuzzy +#: ../src/gui/callbacks.c:3783 msgid "Exclude all images ?" -msgstr "全部排除" +msgstr "全部排除?" -#: ../src/gui/callbacks.c:3768 ../src/gui/callbacks.c:3778 -#, fuzzy +#: ../src/gui/callbacks.c:3784 ../src/gui/callbacks.c:3794 msgid "This erases previous image selection and there's no possible undo." -msgstr "" -"排除所有图像?\n" -"(这将抹去之前的图像选择,并且无法撤销)" +msgstr "这将清除之前的图像选择,并且无法撤销。" -#: ../src/gui/callbacks.c:3777 -#, fuzzy +#: ../src/gui/callbacks.c:3793 msgid "Include all images ?" -msgstr "全部包含" +msgstr "全部包含?" -#: ../src/gui/callbacks.c:3799 +#: ../src/gui/callbacks.c:3815 msgid "Opening dark image..." msgstr "打开暗场帧…" -#: ../src/gui/callbacks.c:3802 +#: ../src/gui/callbacks.c:3818 msgid "NOT USING DARK: cannot open the file\n" msgstr "未使用暗场:无法打开文件\n" -#: ../src/gui/callbacks.c:3809 +#: ../src/gui/callbacks.c:3825 msgid "NOT USING DARK: number of channels is different" msgstr "未使用暗场:通道数目不一致" -#: ../src/gui/callbacks.c:3847 +#: ../src/gui/callbacks.c:3863 msgid "Opening flat image..." msgstr "打开平场帧..." -#: ../src/gui/callbacks.c:3850 +#: ../src/gui/callbacks.c:3866 msgid "NOT USING FLAT: cannot open the file\n" msgstr "未使用平场:无法打开文件\n" -#: ../src/gui/callbacks.c:3857 +#: ../src/gui/callbacks.c:3873 msgid "NOT USING FLAT: number of channels is different" msgstr "未使用平场:通道数目不一致" -#: ../src/gui/callbacks.c:3884 +#: ../src/gui/callbacks.c:3900 msgid "Opening offset image..." msgstr "打开偏置帧..." -#: ../src/gui/callbacks.c:3887 +#: ../src/gui/callbacks.c:3903 msgid "NOT USING OFFSET: cannot open the file\n" msgstr "未使用偏置:无法打开文件\n" -#: ../src/gui/callbacks.c:3894 +#: ../src/gui/callbacks.c:3910 msgid "NOT USING OFFSET: number of channels is different" msgstr "未使用偏置:通道数目不一致" -#: ../src/gui/callbacks.c:3988 +#: ../src/gui/callbacks.c:4007 msgid "Error in preprocessing." msgstr "Error in preprocessing." -#: ../src/gui/callbacks.c:4065 +#: ../src/gui/callbacks.c:4084 #, c-format msgid "Selected %s sequence %s..." msgstr "已选择 %s 队列 %s..." -#: ../src/gui/callbacks.c:4134 +#: ../src/gui/callbacks.c:4153 msgid "Searching for sequences in the current working directory..." msgstr "在当前工作目录中搜索队列..." -#: ../src/gui/callbacks.c:4373 -msgid "" -"Background cannot be extracted from itself. Please, click on Show Image\n" -msgstr "背景无法自己提取自己,请点击显示图像\n" - -#: ../src/gui/callbacks.c:4395 -msgid "Please, apply correction on the image by clicking on Show Image\n" -msgstr "请点击显示图像按钮以应用修正\n" - -#: ../src/gui/callbacks.c:4417 -msgid "Subtraction done ...\n" -msgstr "减法完成...\n" - -#: ../src/gui/callbacks.c:4424 -msgid "Division done ...\n" -msgstr "除法完成...\n" - -#: ../src/gui/callbacks.c:4597 -msgid "Load an image first, aborted.\n" -msgstr "请先载入图像,异常中止。\n" - -#: ../src/gui/callbacks.c:4627 -msgid "The file stars.lst has been created.\n" -msgstr "文件stars.lst已被创建。\n" - -#: ../src/gui/callbacks.c:4704 ../src/gui/callbacks.c:4752 -#, fuzzy +#: ../src/gui/callbacks.c:4440 ../src/gui/callbacks.c:4488 msgid "Current selection is too large" -msgstr "fwhm: 选择区域太大" +msgstr "当前所选区域太大" -#: ../src/gui/callbacks.c:4705 ../src/gui/callbacks.c:4753 -#, fuzzy +#: ../src/gui/callbacks.c:4441 ../src/gui/callbacks.c:4489 msgid "To determine the PSF, please make a selection around a star." -msgstr "当前选择区域太大。若要计算PSF,请选择一个星点周围的区域。\n" +msgstr "若要计算PSF,请选择一个星点周围的区域。" -#: ../src/gui/callbacks.c:4717 +#: ../src/gui/callbacks.c:4453 #, c-format msgid "" "Centroid Coordinates:\n" @@ -5961,113 +6054,235 @@ "RMSE:\n" "\t\tRMSE=%.3e" -#: ../src/gui/callbacks.c:4734 -#, fuzzy +#: ../src/gui/callbacks.c:4470 msgid "PSF for the sequence only applies on sequences" -msgstr "导出队列\n" +msgstr "只能于队列上执行队列PSF操作" -#: ../src/gui/callbacks.c:4735 +#: ../src/gui/callbacks.c:4471 msgid "Please load a sequence before trying to apply the PSF for the sequence." -msgstr "" +msgstr "请于执行PSF操作前载入一个队列。" -#: ../src/gui/callbacks.c:4799 +#: ../src/gui/callbacks.c:4535 msgid "FFT does not work with sequences !\n" msgstr "傅立叶变换不可用于队列!\n" -#: ../src/gui/callbacks.c:4805 +#: ../src/gui/callbacks.c:4541 msgid "Open an image first !\n" msgstr "先要打开一幅图像!\n" -#: ../src/gui/callbacks.c:4830 +#: ../src/gui/callbacks.c:4562 msgid "Select magnitude and phase before !\n" msgstr "请先选择好幅值和相位!\n" -#: ../src/gui/message_dialog.c:160 +#: ../src/gui/histogram.c:176 +msgid "Gray channel" +msgstr "灰度通道" + +#: ../src/gui/message_dialog.c:185 msgid "_Do not show this dialog again" -msgstr "" +msgstr "_不再显示此对话框" + +#: ../src/gui/open_dialog.c:66 ../src/gui/save_dialog.c:58 +msgid "FITS Files (*.fit, *.fits, *.fts)" +msgstr "FITS文件 (*.fit, *.fits, *.fts)" + +#: ../src/gui/open_dialog.c:94 +msgid "RAW DSLR Camera Files" +msgstr "RAW DSLR相机文件" + +#: ../src/gui/open_dialog.c:108 +msgid "Graphics Files (*.bmp" +msgstr "图像文件 (*.bmp" + +#. NETPBM FILES +#: ../src/gui/open_dialog.c:134 ../src/gui/save_dialog.c:81 +msgid "Netpbm Files (*.ppm, *.pnm, *.pgm)" +msgstr "Netpbm文件 (*.ppm, *.pnm, *.pgm)" + +#. IRIS FILES +#: ../src/gui/open_dialog.c:137 +msgid "IRIS PIC Files (*.pic)" +msgstr "IRIS PIC 文件 (*.pic)" + +#. SER FILES +#: ../src/gui/open_dialog.c:140 +msgid "SER files (*.ser)" +msgstr "SER文件 (*.ser)" + +#: ../src/gui/open_dialog.c:177 +msgid "Film Files (*.avi, *.mpg, ...)" +msgstr "视频文件 (*.avi, *.mpg, ...)" -#: ../src/gui/plot.c:183 ../src/gui/plot.c:640 +#: ../src/gui/open_dialog.c:191 +msgid "All supported files" +msgstr "所有支持的文件类型" + +#: ../src/gui/photometric_cc.c:84 +msgid "Photometric Color Calibration" +msgstr "光度计色彩校准" + +#: ../src/gui/photometric_cc.c:239 +#, c-format +msgid "Applying aperture photometry to %d stars.\n" +msgstr "Applying aperture photometry to %d stars.\n" + +#: ../src/gui/photometric_cc.c:423 +#, c-format +msgid "Normalizing on %s channel.\n" +msgstr "归一化于 %s 通道。\n" + +#: ../src/gui/photometric_cc.c:423 +msgid "red" +msgstr "红色" + +#: ../src/gui/photometric_cc.c:423 +msgid "green" +msgstr "绿色" + +#: ../src/gui/photometric_cc.c:423 +msgid "blue" +msgstr "蓝色" + +#: ../src/gui/plot.c:183 ../src/gui/plot.c:642 msgid "Frames" msgstr "帧" -#: ../src/gui/plot.c:278 -#, fuzzy +#: ../src/gui/plot.c:279 msgid "" "Please consider to install it before trying to plot a graph of a variable " "star.\n" msgstr "" -"Gnuplot is unavailable. Please consider to install it before trying to plot " -"a graph of a variable star.\n" +"Please consider to install it before trying to plot a graph of a variable " +"star.\n" -#: ../src/gui/plot.c:281 -#, fuzzy +#: ../src/gui/plot.c:282 msgid "Gnuplot is unavailable" -msgstr "不可用" +msgstr "Gnuplot 不可用" -#: ../src/gui/plot.c:377 +#: ../src/gui/plot.c:379 #, c-format msgid "%s has been saved.\n" msgstr "%s has been saved.\n" -#: ../src/gui/plot.c:378 ../src/gui/plot.c:439 +#: ../src/gui/plot.c:380 ../src/gui/plot.c:441 msgid "Information" msgstr "信息" -#: ../src/gui/plot.c:382 ../src/gui/plot.c:442 +#: ../src/gui/plot.c:384 ../src/gui/plot.c:444 msgid "Something went wrong while saving plot" msgstr "保存时产生错误" -#: ../src/gui/plot.c:438 +#: ../src/gui/plot.c:440 #, c-format msgid "%s.csv has been saved.\n" msgstr "文件%s.csv已保存。\n" -#: ../src/gui/plot.c:566 +#: ../src/gui/plot.c:568 msgid "Quality" msgstr "品质" -#: ../src/gui/plot.c:722 +#: ../src/gui/plot.c:726 msgid "Star roundness (1 is round)" msgstr "星点圆度(1为正圆)" -#: ../src/gui/plot.c:732 +#: ../src/gui/plot.c:736 msgid "Star magnitude (absolute)" msgstr "星等(绝对)" -#: ../src/gui/plot.c:734 +#: ../src/gui/plot.c:738 msgid "Star magnitude (relative, use setmag)" msgstr "星等(相对,使用setmag)" -#: ../src/gui/plot.c:737 +#: ../src/gui/plot.c:741 msgid "Background value" msgstr "背景值" -#: ../src/gui/plot.c:740 +#: ../src/gui/plot.c:744 msgid "Star position on X axis" msgstr "星点在X轴的坐标" -#: ../src/gui/plot.c:743 +#: ../src/gui/plot.c:747 msgid "Star position on Y axis" msgstr "星点在Y轴的坐标" -#: ../src/gui/progress_and_log.c:227 +#: ../src/gui/progress_and_log.c:242 msgid "Execution time" msgstr "执行时间" -#: ../src/gui/progress_and_log.c:237 +#: ../src/gui/progress_and_log.c:258 +#, c-format +msgid "%s: %d h %02d min %.2d s.\n" +msgstr "%s: %d h %02d min %.2d s.\n" + +#: ../src/gui/progress_and_log.c:263 +#, c-format +msgid "%s: %d min %02d s.\n" +msgstr "%s: %d min %02d s.\n" + +#: ../src/gui/progress_and_log.c:267 +#, c-format +msgid "%s: %.2lf ms.\n" +msgstr "%s: %.2lf ms.\n" + +#: ../src/gui/progress_and_log.c:269 +#, c-format +msgid "%s: %.2lf s.\n" +msgstr "%s: %.2lf s.\n" + +#: ../src/gui/PSF_list.c:214 +msgid "Stars must have the same units." +msgstr "星点必须拥有相同的单位。" + +#: ../src/gui/PSF_list.c:228 #, c-format -msgid "%s: %d min %.2d s.\n" -msgstr "%s: %d min %.2d s.\n" +msgid "" +"Average Gaussian PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"r:\t%.3f\n" +"Angle:\t%.2f deg\n" +"rmse:\t%.3e\n" +msgstr "" +"高斯平均 PSF\n" +"\n" +"N:\t%d stars\n" +"B:\t%.6f\n" +"A:\t%.6f\n" +"FWHMx:\t%.2f%s\n" +"FWHMy:\t%.2f%s\n" +"圆度:\t%.3f\n" +"偏角:\t%.2f deg\n" +"rmse:\t%.3e\n" -#: ../src/gui/progress_and_log.c:241 +#: ../src/gui/PSF_list.c:233 +msgid "Average Star Data" +msgstr "平均星点数据" + +#: ../src/gui/PSF_list.c:261 #, c-format -msgid "%s: %.2f ms.\n" -msgstr "%s: %.2f ms.\n" +msgid "%d stars" +msgstr "%d 星点" -#: ../src/gui/progress_and_log.c:243 +#: ../src/gui/PSF_list.c:266 #, c-format -msgid "%s: %.2f s.\n" -msgstr "%s: %.2f s.\n" +msgid "Star %d of %d" +msgstr "星点 %d 之于 %d" + +#: ../src/gui/PSF_list.c:311 +msgid "The file stars.lst has been created.\n" +msgstr "文件stars.lst已被创建。\n" + +#: ../src/gui/PSF_list.c:318 +msgid "Star list file (*.lst)" +msgstr "星表文件 (*.lst)" + +#: ../src/gui/PSF_list.c:491 +msgid "Load an image first, aborted.\n" +msgstr "请先载入图像,异常中止。\n" #: ../src/gui/registration_preview.c:66 #, c-format @@ -6080,86 +6295,82 @@ #. GRAPHICS FILES #. BMP FILES -#: ../src/gui/save_dialog.c:66 +#: ../src/gui/save_dialog.c:63 msgid "BMP Files (*.bmp)" msgstr "BMP文件 (*.bmp)" -#: ../src/gui/save_dialog.c:69 +#: ../src/gui/save_dialog.c:66 msgid "JPEG Files (*.jpg, *.jpeg)" msgstr "JPEG文件 (*.jpg, *.jpeg)" -#: ../src/gui/save_dialog.c:74 +#: ../src/gui/save_dialog.c:71 msgid "PNG Files (*.png)" msgstr "PNG文件 (*.png)" -#: ../src/gui/save_dialog.c:79 +#: ../src/gui/save_dialog.c:76 msgid "TIFF Files (*.tif, *.tiff)" msgstr "TIFF文件 (*.tif, *.tiff)" -#: ../src/gui/save_dialog.c:197 ../src/gui/save_dialog.c:508 +#: ../src/gui/save_dialog.c:196 ../src/gui/save_dialog.c:516 msgid "Saving BMP" msgstr "保存BMP" -#: ../src/gui/save_dialog.c:201 ../src/gui/save_dialog.c:466 +#: ../src/gui/save_dialog.c:200 ../src/gui/save_dialog.c:474 msgid "Saving PNG" msgstr "保存PNG" -#: ../src/gui/save_dialog.c:205 ../src/gui/save_dialog.c:487 +#: ../src/gui/save_dialog.c:204 ../src/gui/save_dialog.c:495 msgid "Saving Netpbm" msgstr "保存Netpbm" -#: ../src/gui/save_dialog.c:209 ../src/gui/save_dialog.c:528 +#: ../src/gui/save_dialog.c:208 ../src/gui/save_dialog.c:536 msgid "Saving JPG" msgstr "保存JPG" -#: ../src/gui/save_dialog.c:213 ../src/gui/save_dialog.c:444 +#: ../src/gui/save_dialog.c:212 ../src/gui/save_dialog.c:452 msgid "Saving TIFF" msgstr "保存TIFF" -#: ../src/gui/save_dialog.c:220 ../src/gui/save_dialog.c:420 +#: ../src/gui/save_dialog.c:219 ../src/gui/save_dialog.c:428 msgid "Saving FITS" msgstr "保存FITS" -#: ../src/gui/save_dialog.c:237 ../src/gui/save_dialog.c:240 -msgid "_Save" -msgstr "_保存" - -#: ../src/gui/save_dialog.c:239 -msgid "Save File" -msgstr "保存文件" +#: ../src/gui/save_dialog.c:298 +msgid "File saving failed. Check the logs for more info." +msgstr "保存文件失败。 请查询日志。" -#: ../src/gui/save_dialog.c:386 +#: ../src/gui/save_dialog.c:395 msgid "This type of file is not handled. Should not happen" msgstr "该文件类型无法被识别" -#: ../src/gui/script_menu.c:215 -#, fuzzy, c-format -msgid "Searching scripts in: %s...\n" -msgstr "开始运行脚本%s\n" +#: ../src/gui/script_menu.c:220 +#, c-format +msgid "Searching scripts in: \"%s\"...\n" +msgstr "检索脚本于: \"%s\"...\n" -#: ../src/gui/script_menu.c:227 +#: ../src/gui/script_menu.c:232 #, c-format msgid "Loading script: %s\n" msgstr "载入脚本:%s\n" #: ../src/gui/script_menu.c:284 msgid "Could not show link" -msgstr "" +msgstr "无法显示链接" #: ../src/gui/script_menu.c:285 msgid "Please go to %d)\n" -msgstr "Sequence loaded: %s (%d->%d)\n" +msgstr "载入队列: %s (%d->%d)\n" -#: ../src/io/sequence.c:621 +#: ../src/io/sequence.c:609 #, c-format msgid "%d from %s.ser" msgstr "%d from %s.ser" -#: ../src/io/sequence.c:651 +#: ../src/io/sequence.c:639 #, c-format msgid "Could not load image %d from sequence %s\n" msgstr "无法载入图像%d位于队列%s\n" -#: ../src/io/sequence.c:659 ../src/io/sequence.c:708 +#: ../src/io/sequence.c:647 ../src/io/sequence.c:696 #, c-format msgid "Could not load frame %d from SER sequence %s\n" msgstr "Could not load frame %d from SER sequence %s\n" -#: ../src/io/sequence.c:668 ../src/io/sequence.c:718 +#: ../src/io/sequence.c:656 ../src/io/sequence.c:707 #, c-format msgid "Could not load frame %d from AVI sequence %s\n" msgstr "Could not load frame %d from AVI sequence %s\n" -#: ../src/io/sequence.c:700 +#: ../src/io/sequence.c:688 #, c-format msgid "Could not load partial image %d from sequence %s\n" msgstr "Could not load partial image %d from sequence %s\n" -#: ../src/io/sequence.c:786 +#: ../src/io/sequence.c:776 msgid "This operation is not supported on AVI sequences (seq_open_image)\n" msgstr "This operation is not supported on AVI sequences (seq_open_image)\n" -#: ../src/io/sequence.c:790 +#: ../src/io/sequence.c:780 msgid "" "This operation is not supported on internal sequences (seq_open_image)\n" msgstr "" "This operation is not supported on internal sequences (seq_open_image)\n" -#: ../src/io/sequence.c:1109 +#: ../src/io/sequence.c:1115 #, c-format msgid "Closing sequence %s\n" msgstr "关闭队列%s\n" -#: ../src/io/sequence.c:1207 +#: ../src/io/sequence.c:1220 msgid "internal sequence" msgstr "内部队列" -#: ../src/io/sequence.c:1288 -#, fuzzy +#: ../src/io/sequence.c:1301 msgid "Processing..." -msgstr "预处理...\n" +msgstr "预处理..." -#: ../src/io/sequence.c:1414 +#: ../src/io/sequence.c:1427 #, c-format msgid "No star found in the area image %d around %d,%d (use a larger area?)\n" msgstr "No star found in the area image %d around %d,%d (use a larger area?)\n" -#: ../src/io/sequence.c:1418 +#: ../src/io/sequence.c:1431 #, c-format msgid "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" msgstr "" "No star found in the area image %d around %d,%d (use 'follow star' option?)\n" -#: ../src/io/sequence.c:1467 +#: ../src/io/sequence.c:1480 msgid "" "Star analysis does not give consistent results when exposure changes across " "the sequence.\n" msgstr "当队列中的曝光时间不一致时,星点分析无法得到一致的结果。\n" -#: ../src/io/sequence.c:1543 +#: ../src/io/sequence.c:1554 msgid "" "The sequence analysis of the PSF will use a sliding selection area centred " "on the previous found star; this disables parallel processing.\n" @@ -6885,7 +7117,7 @@ "队列分析得出的PSF会使用一个以之前所选星点为中心的移动选择区域;该操作会禁用并" "行处理。\n" -#: ../src/io/sequence.c:1545 +#: ../src/io/sequence.c:1556 msgid "" "The sequence analysis of the PSF will use registration data to move the " "selection area for each image; this is compatible with parallel processing.\n" @@ -6893,16 +7125,16 @@ "队列分析得出的PSF会使用对齐数据移动每幅图像的选择区域;该操作兼容于并行处" "理。\n" -#: ../src/io/sequence.c:1567 +#: ../src/io/sequence.c:1578 msgid "PSF on area" msgstr "区域中的PSF" -#: ../src/io/sequence_export.c:79 +#: ../src/io/sequence_export.c:80 #, c-format msgid "Using registration information from layer %d to export sequence\n" msgstr "Using registration information from layer %d to export sequence\n" -#: ../src/io/sequence_export.c:124 +#: ../src/io/sequence_export.c:125 msgid "" "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" @@ -6910,7 +7142,7 @@ "MP4 output is not supported because siril was not compiled with ffmpeg " "support.\n" -#: ../src/io/sequence_export.c:135 +#: ../src/io/sequence_export.c:136 msgid "" "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" @@ -6918,40 +7150,40 @@ "Film output needs to have a width that is a multiple of 32 and an even " "height, resizing selection.\n" -#: ../src/io/sequence_export.c:204 +#: ../src/io/sequence_export.c:211 #, c-format msgid "image %d is excluded from export\n" msgstr "图像%d被排除于导出列表\n" -#: ../src/io/sequence_export.c:213 ../src/stacking/stacking.c:587 +#: ../src/io/sequence_export.c:220 ../src/stacking/stacking.c:384 msgid "Processing image " msgstr "处理图像 " -#: ../src/io/sequence_export.c:220 +#: ../src/io/sequence_export.c:226 msgid "Export: could not read frame, aborting\n" -msgstr "Export: could not read frame, aborting\n" +msgstr "导出:无法读取帧,异常终止\n" -#: ../src/io/sequence_export.c:370 +#: ../src/io/sequence_export.c:374 msgid "Sequence export failed. Check the log." msgstr "队列导出错误,请查询日志。" -#: ../src/io/sequence_export.c:371 +#: ../src/io/sequence_export.c:375 msgid "Sequence export failed\n" msgstr "队列导出错误\n" -#: ../src/io/sequence_export.c:374 +#: ../src/io/sequence_export.c:378 msgid "Sequence export succeeded." msgstr "队列导出成功。" -#: ../src/io/sequence_export.c:375 +#: ../src/io/sequence_export.c:379 msgid "Sequence export succeeded.\n" msgstr "队列导出成功。\n" -#: ../src/io/sequence_export.c:456 +#: ../src/io/sequence_export.c:436 msgid "Width or height cannot be null. Not resizing.\n" msgstr "宽度和高度不能为空。缩放不成功。\n" -#: ../src/io/sequence_export.c:501 +#: ../src/io/sequence_export.c:481 msgid "Cropping to selection" msgstr "裁减到所选区域" @@ -6990,235 +7222,228 @@ "implemented\n" msgstr "以超过16位的FITS图像为源生成SER文件的功能尚未实现\n" -#: ../src/io/ser.c:571 +#: ../src/io/ser.c:573 msgid "The SER sequence is being created with no image in it.\n" msgstr "The SER sequence is being created with no image in it.\n" -#: ../src/io/ser.c:609 +#: ../src/io/ser.c:611 msgid "Compacting SER file after parallel output to it...\n" msgstr "Compacting SER file after parallel output to it...\n" -#: ../src/io/ser.c:692 +#: ../src/io/ser.c:694 #, c-format msgid "Created SER file %s\n" -msgstr "Created SER file %s\n" +msgstr "已创建 SER 文件 %s\n" -#: ../src/io/ser.c:868 ../src/io/ser.c:1095 +#: ../src/io/ser.c:873 ../src/io/ser.c:1104 msgid "This type of Bayer pattern is not handled yet.\n" msgstr "这个类型的拜耳滤镜排列模式尚未被支持。\n" -#: ../src/io/ser.c:1047 +#: ../src/io/ser.c:1053 msgid "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" msgstr "For a demosaiced image, layer has to be R, G or B (0 to 2).\n" -#: ../src/io/ser.c:1058 -msgid "Out of memory - aborting\n" -msgstr "内存不足,异常中止\n" - -#: ../src/io/ser.c:1123 +#: ../src/io/ser.c:1140 msgid "Trying to add an image of different size in a SER\n" msgstr "试图在SER文件中加入不是一致尺寸的图像\n" -#: ../src/io/single_image.c:128 +#: ../src/io/single_image.c:130 #, c-format msgid "Error opening image %s: file not found or not supported.\n" msgstr "打开图像错误 %s: 文件未找到或无法识别。\n" -#: ../src/io/single_image.c:143 +#: ../src/io/single_image.c:145 #, c-format msgid "Opening %s failed.\n" msgstr "打开 %s 失败。\n" -#: ../src/io/single_image.c:178 ../src/io/single_image.c:184 -#, fuzzy +#: ../src/io/single_image.c:180 ../src/io/single_image.c:186 msgid "Error opening file" -msgstr "Error opening GIF file: %s\n" +msgstr "打开文件失败" -#: ../src/io/single_image.c:179 -#, fuzzy +#: ../src/io/single_image.c:181 msgid "This file could not be opened because its extension is not supported." -msgstr "文件无法被打开,由于扩展名不被支持。\n" +msgstr "文件无法被打开,由于扩展名不被支持。" -#: ../src/io/single_image.c:185 +#: ../src/io/single_image.c:187 msgid "" -"There was an error when opening this image. See the log for more information." -msgstr "打开图像发生错误。请查询日志以获取更多信息。" - -#: ../src/main.c:250 -#, c-format -msgid "unknown command line parameter '%c'\n" -msgstr "unknown command line parameter '%c'\n" +"There was an error when opening this image. See the log for more information." +msgstr "打开图像发生错误。请查询日志以获取更多信息。" -#: ../src/main.c:274 +#: ../src/main.c:225 #, c-format msgid "%s. Looking into another directory...\n" msgstr "%s. 搜索其他目录...\n" -#: ../src/main.c:280 +#: ../src/main.c:231 #, c-format msgid "%s was not found or contains errors, cannot render GUI. Exiting.\n" msgstr "%s was not found or contains errors, cannot render GUI. Exiting.\n" #: ../src/main.c:301 #, c-format +msgid "unknown command line parameter '%c'\n" +msgstr "unknown command line parameter '%c'\n" + +#: ../src/main.c:328 +#, c-format msgid "Welcome to %s v%s\n" msgstr "Welcome to %s v%s\n" -#: ../src/main.c:371 +#: ../src/main.c:349 +#, c-format msgid "Could not load or create settings file, exiting.\n" msgstr "无法读取或创建配置文件,程序退出。\n" #. Get CPU number and set the number of threads -#: ../src/main.c:419 +#: ../src/main.c:371 #, c-format msgid "Parallel processing %s: Using %d logical processor(s).\n" msgstr "并行计算%s:当前使用 %d 逻辑处理器\n" -#: ../src/main.c:421 +#: ../src/main.c:373 msgid "enabled" msgstr "启用" -#: ../src/main.c:423 +#: ../src/main.c:375 msgid "disabled" msgstr "关闭" -#: ../src/opencv/opencv.cpp:582 +#: ../src/opencv/opencv.cpp:605 msgid "Deconvoltuion applied" msgstr "反卷积已应用" #: ../src/registration/comet.c:152 ../src/registration/comet.c:176 -#, fuzzy msgid "There is no timestamp stored in the file" -msgstr "Warning: no timestamps stored in the SER sequence.\n" +msgstr "文件中没有时间戳" #: ../src/registration/comet.c:153 ../src/registration/comet.c:177 msgid "" "Siril cannot perform the registration without date information in the file." -msgstr "" +msgstr "Siril无法执行对齐,因为文件中没有日期信息。" -#: ../src/registration/comet.c:229 ../src/registration/global.c:84 -#: ../src/registration/registration.c:521 +#: ../src/registration/comet.c:230 ../src/registration/global.c:85 +#: ../src/registration/registration.c:518 msgid "Could not load reference image\n" msgstr "无法载入参考帧\n" -#: ../src/registration/comet.c:300 -#, fuzzy +#: ../src/registration/comet.c:301 msgid "Moving object registration" -msgstr "图像对齐" +msgstr "移动目标对齐" -#: ../src/registration/global.c:70 ../src/registration/registration.c:207 +#: ../src/registration/global.c:70 ../src/registration/registration.c:208 msgid "Recomputing already existing registration for this layer\n" msgstr "对该通道重新计算已经存在的对齐数据\n" -#: ../src/registration/global.c:89 +#: ../src/registration/global.c:90 msgid "Reference Image:\n" msgstr "参考帧:\n" -#: ../src/registration/global.c:97 +#: ../src/registration/global.c:98 #, c-format msgid "Found %d stars in reference, channel #%d\n" msgstr "参考帧中找到%d星点,于通道 #%d\n" -#: ../src/registration/global.c:102 +#: ../src/registration/global.c:103 msgid "There are not enough stars in reference image to perform alignment\n" msgstr "参考帧中没有足够数量的星点用于执行对齐\n" -#: ../src/registration/global.c:144 +#: ../src/registration/global.c:140 #, c-format msgid "Reference Image: Limiting to %d brightest stars\n" msgstr "参考帧:最亮恒星极限为%d\n" -#: ../src/registration/global.c:149 ../src/registration/global.c:463 +#: ../src/registration/global.c:145 ../src/registration/global.c:458 #, c-format -msgid "FWHMx:%*.2f px\n" -msgstr "FWHMx:%*.2f px\n" +msgid "FWHMx:%*.2f %s\n" +msgstr "FWHMx:%*.2f %s\n" -#: ../src/registration/global.c:150 ../src/registration/global.c:464 +#: ../src/registration/global.c:146 ../src/registration/global.c:459 #, c-format -msgid "FWHMy:%*.2f px\n" -msgstr "FWHMy:%*.2f px\n" +msgid "FWHMy:%*.2f %s\n" +msgstr "FWHMy:%*.2f %s\n" -#: ../src/registration/global.c:214 +#: ../src/registration/global.c:211 #, c-format msgid "Frame %d:\n" msgstr "第%d帧:\n" -#: ../src/registration/global.c:222 +#: ../src/registration/global.c:219 #, c-format msgid "Found %d stars in image %d, channel #%d\n" msgstr "图像%d中找到%d星点,于通道 #%d\n" -#: ../src/registration/global.c:226 +#: ../src/registration/global.c:223 #, c-format msgid "Not enough stars. Image %d skipped\n" msgstr "没有足够的星点。图像 %d 被跳过\n" -#: ../src/registration/global.c:232 +#: ../src/registration/global.c:229 #, c-format msgid "Target Image: Limiting to %d brightest stars\n" msgstr "目标图像:最亮恒星极限为%d\n" -#: ../src/registration/global.c:248 -#, fuzzy, c-format +#: ../src/registration/global.c:245 +#, c-format msgid "Cannot perform star matching: try #%d. Image %d skipped\n" -msgstr "Cannot perform star matching. Image %d skipped\n" +msgstr "无法执行星点匹配:尝试#%d。跳过图像 %d \n" -#: ../src/registration/global.c:341 ../src/registration/registration.c:392 -#: ../src/registration/registration.c:482 -#: ../src/registration/registration.c:626 +#: ../src/registration/global.c:336 ../src/registration/registration.c:391 +#: ../src/registration/registration.c:478 +#: ../src/registration/registration.c:621 msgid "Registration finished.\n" msgstr "对齐结束。\n" -#: ../src/registration/global.c:342 +#: ../src/registration/global.c:337 #, c-format msgid "%d images processed.\n" msgstr "%d images processed.\n" -#: ../src/registration/global.c:344 +#: ../src/registration/global.c:339 #, c-format msgid "Total: %d failed, %d registered.\n" msgstr "Total: %d failed, %d registered.\n" -#: ../src/registration/global.c:354 +#: ../src/registration/global.c:349 msgid "Registration aborted.\n" msgstr "对齐操作异常中止。\n" -#: ../src/registration/global.c:380 +#: ../src/registration/global.c:375 msgid "Global star registration" msgstr "Global star registration" #. Matching information -#: ../src/registration/global.c:441 +#: ../src/registration/global.c:436 #, c-format msgid "Matching stars in image %d: done\n" msgstr "匹配星点于图像 %d:完成\n" -#: ../src/registration/global.c:450 +#: ../src/registration/global.c:445 #, c-format msgid "scaleX:%*.3f\n" msgstr "缩放X轴:%*.3f\n" -#: ../src/registration/global.c:451 +#: ../src/registration/global.c:446 #, c-format msgid "scaleY:%*.3f\n" msgstr "缩放Y轴:%*.3f\n" -#: ../src/registration/global.c:452 +#: ../src/registration/global.c:447 #, c-format msgid "scale:%*.3f\n" msgstr "缩放:%*.3f\n" -#: ../src/registration/global.c:456 +#: ../src/registration/global.c:451 #, c-format -msgid "rotation:%+*.2f deg\n" -msgstr "旋转:%+*.2f 度\n" +msgid "rotation:%+*.3f deg\n" +msgstr "旋转:%+*.3f 度\n" -#: ../src/registration/global.c:461 +#: ../src/registration/global.c:456 #, c-format msgid "dx:%+*.2f px\n" msgstr "x轴平移:%+*.2f px\n" -#: ../src/registration/global.c:462 +#: ../src/registration/global.c:457 #, c-format msgid "dy:%+*.2f px\n" msgstr "y轴平移:%+*.2f px\n" @@ -7278,259 +7503,259 @@ "images and the global shift of the object between the first and the last " "image." msgstr "" +"彗星/小行星对齐:该算法专用于彗星和小行星的对齐。载入一个星点已对齐的队列和" +"FITS头中含有时间戳信息是必要条件。该方法会对部分像素点进行一个转换,基于每幅" +"图像的时间戳和目标在首尾两幅图像之间的整体位移。" -#: ../src/registration/registration.c:101 +#: ../src/registration/registration.c:102 msgid "One Star Registration (deep-sky)" msgstr "单星对齐(深空)" -#: ../src/registration/registration.c:105 +#: ../src/registration/registration.c:106 msgid "Image Pattern Alignment (planetary - full disk)" msgstr "图像模式对齐(行星 - 整盘面)" -#: ../src/registration/registration.c:107 +#: ../src/registration/registration.c:108 msgid "Enhanced Correlation Coefficient (planetary - surfaces)" msgstr "强化的相关系数(行星 - 表面)" -#: ../src/registration/registration.c:109 -#, fuzzy +#: ../src/registration/registration.c:110 msgid "Comet/Asteroid Registration" -msgstr "Global star registration" +msgstr "彗星/小行星对齐" -#: ../src/registration/registration.c:130 +#: ../src/registration/registration.c:131 #, c-format msgid "Added a registration method: %s\n" msgstr "启用一种对齐方法: %s\n" -#: ../src/registration/registration.c:223 +#: ../src/registration/registration.c:225 msgid "Register DFT: loading and processing reference frame" -msgstr "Register DFT: loading and processing reference frame" +msgstr "DFT对齐:读取并处理参考帧" -#: ../src/registration/registration.c:230 +#: ../src/registration/registration.c:233 msgid "Register: could not load first image to register, aborting.\n" -msgstr "Register: could not load first image to register, aborting.\n" +msgstr "对齐:无法读取第一幅图像,异常终止。\n" -#: ../src/registration/registration.c:284 -#: ../src/registration/registration.c:561 -#, fuzzy, c-format +#: ../src/registration/registration.c:286 +#: ../src/registration/registration.c:557 +#, c-format msgid "Register: processing image %s" -msgstr "对齐:处理图像 %s\n" +msgstr "对齐:处理图像 %s" -#: ../src/registration/registration.c:393 -#: ../src/registration/registration.c:629 +#: ../src/registration/registration.c:392 +#: ../src/registration/registration.c:625 #, c-format msgid "Best frame: #%d.\n" msgstr "最佳帧: #%d.\n" -#: ../src/registration/registration.c:433 +#: ../src/registration/registration.c:435 msgid "Registration PSF: failed to compute PSF for reference frame at least\n" -msgstr "Registration PSF: failed to compute PSF for reference frame at least\n" +msgstr "PSF对齐:无法计算参考帧的PSF\n" -#: ../src/registration/registration.c:483 +#: ../src/registration/registration.c:479 #, c-format msgid "Best frame: #%d with fwhm=%.3g.\n" msgstr "最佳图像: #%d with fwhm=%.3g.\n" -#: ../src/registration/registration.c:575 +#: ../src/registration/registration.c:571 #, c-format msgid "Cannot perform ECC alignment for frame %d\n" msgstr "无法在帧%d中执行ECC对齐\n" -#: ../src/registration/registration.c:628 +#: ../src/registration/registration.c:623 #, c-format msgid "%d frames were excluded.\n" msgstr "%d 号帧被排除。\n" -#: ../src/registration/registration.c:728 -#: ../src/registration/registration.c:734 +#: ../src/registration/registration.c:724 +#: ../src/registration/registration.c:730 msgid "Select images in the sequence." msgstr "在队列里选定一幅图像。" -#: ../src/registration/registration.c:730 +#: ../src/registration/registration.c:726 msgid "Select an area in image first, and select images in the sequence." msgstr "先在图像中选定一个区域,再于队列中选定一幅图像。" -#: ../src/registration/registration.c:736 +#: ../src/registration/registration.c:732 msgid "Select an area in image first." msgstr "请先在图像上选择一个区域。" -#: ../src/registration/registration.c:861 +#: ../src/registration/registration.c:858 msgid "" "All prerequisites are not filled for registration. Select a rectangle " "first.\n" msgstr "所有的先决条件不适合对齐,请先选择一个矩形。\n" -#: ../src/registration/registration.c:896 -#, fuzzy -msgid "Not enough disk space" -msgstr "没有足够的星点。图像 %d 被跳过\n" +#: ../src/stacking/median_and_mean.c:44 +#, c-format +msgid "Opening image %s for stacking" +msgstr "叠加图像%s" + +#: ../src/stacking/median_and_mean.c:63 +msgid "Stacking error: images with > 3 dimensions are not supported\n" +msgstr "叠加错误:超过3个维度的图像不被支持\n" + +#: ../src/stacking/median_and_mean.c:73 +msgid "Stacking error: input images have different sizes\n" +msgstr "叠加错误:图像拥有不同的尺寸\n" + +#: ../src/stacking/median_and_mean.c:86 +msgid "Stacking error: input images have different precision\n" +msgstr "叠加错误:图像拥有不同的精度\n" + +#: ../src/stacking/median_and_mean.c:119 +msgid "Super-pixel is not handled yet for on the fly SER stacking\n" +msgstr "Super-pixel is not handled yet for on the fly SER stacking\n" + +#: ../src/stacking/median_and_mean.c:124 +msgid "" +"Rejection stacking is only supported for FITS images and SER sequences.\n" +"Use \"Sum Stacking\" instead.\n" +msgstr "" +"像素剔除算法只适用于FITS文件和SER序列。\n" +"请另行尝试“加法叠加”。\n" + +#: ../src/stacking/median_and_mean.c:195 +#, c-format +msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" +msgstr "We have %d parallel blocks of size %d (+%d) for stacking.\n" + +#: ../src/stacking/median_and_mean.c:205 +msgid "" +"A bug has been found. Unable to split the image area into the correct " +"processing blocks.\n" +msgstr "发现一个Bug,无法将图像区域拆分成正确的待处理块。\n" + +#: ../src/stacking/median_and_mean.c:309 +msgid "Error reading one of the image areas\n" +msgstr "图像区域读取错误\n" + +#: ../src/stacking/normalization.c:102 +#, c-format +msgid "" +"Your system does not have enough memory to normalize images for stacking " +"operation (%d MB free for %d MB required)\n" +msgstr "" +"系统没有足够的内存来执行叠加操作的归一化(可用内存 %d MB,所需内存 %d MB)\n" + +#: ../src/stacking/normalization.c:109 +#, c-format +msgid "" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence normalization\n" +msgstr "" +"基于当前的内存 (%.2f) 和线程 (%d) 上限, 最多 %d 线程可用于该队列的归一化" +"操作\n" -#: ../src/stacking/normalization.c:105 +#: ../src/stacking/normalization.c:128 msgid "Computing normalization...\n" msgstr "计算归一化...\n" -#: ../src/stacking/normalization.c:116 +#: ../src/stacking/normalization.c:136 msgid "" "The reference image is not in the selected set of images. Please choose " "another reference image.\n" msgstr "参考帧不在所选定的队列里。请重新选择参考帧。\n" -#: ../src/stacking/normalization.c:118 -#, fuzzy +#: ../src/stacking/normalization.c:138 msgid "Normalization skipped.\n" -msgstr "归一化终止。\n" +msgstr "跳过归一化。\n" -#: ../src/stacking/normalization.c:131 +#: ../src/stacking/normalization.c:145 ../src/stacking/normalization.c:158 msgid "Normalization failed." msgstr "归一化失败。" -#: ../src/stacking/stacking.c:114 -msgid "Median stacking is only supported for FITS images and SER sequences.\n" -msgstr "中位数叠加只可用于FITS图像和SER队列。\n" - -#: ../src/stacking/stacking.c:118 ../src/stacking/stacking.c:803 +#: ../src/stacking/stacking.c:110 ../src/stacking/stacking.c:576 msgid "Select at least two frames for stacking. Aborting.\n" msgstr "至少选择两幅图像用于叠加,异常中止。\n" -#: ../src/stacking/stacking.c:140 -#, c-format -msgid "Median stack: opening image %s" -msgstr "Median stack: opening image %s" - -#: ../src/stacking/stacking.c:161 -msgid "Median stack error: images with > 3 dimensions are not supported\n" -msgstr "Median stack error: images with > 3 dimensions are not supported\n" - -#: ../src/stacking/stacking.c:172 -msgid "Median stack error: input images have different sizes\n" -msgstr "Median stack error: input images have different sizes\n" - -#: ../src/stacking/stacking.c:213 ../src/stacking/stacking.c:895 -msgid "Super-pixel is not handled yet for on the fly SER stacking\n" -msgstr "Super-pixel is not handled yet for on the fly SER stacking\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:220 +#: ../src/stacking/stacking.c:123 msgid "Median stack error: uninitialized sequence\n" msgstr "中位数叠加错误:队列未初始化\n" -#: ../src/stacking/stacking.c:267 ../src/stacking/stacking.c:949 +#: ../src/stacking/stacking.c:148 ../src/stacking/stacking.c:624 msgid "Your version of cfitsio does not support multi-threading\n" msgstr "Your version of cfitsio does not support multi-threading\n" -#: ../src/stacking/stacking.c:275 ../src/stacking/stacking.c:957 +#: ../src/stacking/stacking.c:157 ../src/stacking/stacking.c:633 msgid "Processing the sequence as RGB\n" msgstr "以RGB模式处理当前队列\n" -#: ../src/stacking/stacking.c:312 ../src/stacking/stacking.c:994 -#, c-format -msgid "We have %d parallel blocks of size %d (+%d) for stacking.\n" -msgstr "We have %d parallel blocks of size %d (+%d) for stacking.\n" - -#: ../src/stacking/stacking.c:320 ../src/stacking/stacking.c:1002 -msgid "" -"A bug has been found. Unable to split the image area into the correct " -"processing blocks.\n" -msgstr "发现一个Bug,无法将图像区域拆分成正确的待处理块。\n" - -#: ../src/stacking/stacking.c:387 ../src/stacking/stacking.c:1071 +#: ../src/stacking/stacking.c:200 ../src/stacking/stacking.c:698 msgid "Starting stacking...\n" msgstr "开始叠加...\n" -#: ../src/stacking/stacking.c:388 +#: ../src/stacking/stacking.c:201 msgid "Median stacking in progress..." msgstr "中位数叠加处理中..." -#: ../src/stacking/stacking.c:432 ../src/stacking/stacking.c:1152 -msgid "Error reading one of the image areas\n" -msgstr "图像区域读取错误\n" - -#: ../src/stacking/stacking.c:496 ../src/stacking/stacking.c:671 -#: ../src/stacking/stacking.c:1383 +#: ../src/stacking/stacking.c:293 ../src/stacking/stacking.c:468 +#: ../src/stacking/stacking.c:975 msgid "Finalizing stacking..." msgstr "叠加最终定稿..." -#: ../src/stacking/stacking.c:525 +#: ../src/stacking/stacking.c:322 msgid "Median stacking failed. Check the log." msgstr "中位数叠加错误。 请查询日志。" -#: ../src/stacking/stacking.c:526 ../src/stacking/stacking.c:692 -#: ../src/stacking/stacking.c:1423 +#: ../src/stacking/stacking.c:323 ../src/stacking/stacking.c:489 +#: ../src/stacking/stacking.c:1018 msgid "Stacking failed.\n" msgstr "叠加失败。\n" -#: ../src/stacking/stacking.c:528 +#: ../src/stacking/stacking.c:325 msgid "Median stacking complete." msgstr "中位数叠加完成。" -#: ../src/stacking/stacking.c:529 +#: ../src/stacking/stacking.c:326 #, c-format msgid "Median stacking complete. %d have been stacked.\n" msgstr "中位数叠加完成。共%d帧图像被叠加。\n" -#: ../src/stacking/stacking.c:566 +#: ../src/stacking/stacking.c:363 msgid "No frame selected for stacking (select at least 2). Aborting.\n" msgstr "没有图像被选中用于叠加(至少2),异常中止。\n" -#: ../src/stacking/stacking.c:595 +#: ../src/stacking/stacking.c:392 msgid "Stacking: could not read frame, aborting\n" msgstr "叠加:无法读取帧,异常中止\n" -#: ../src/stacking/stacking.c:618 +#: ../src/stacking/stacking.c:415 msgid "Stacking: image in sequence doesn't has the same dimensions\n" msgstr "叠加:队列中的图像尺寸不一致\n" -#: ../src/stacking/stacking.c:691 +#: ../src/stacking/stacking.c:488 msgid "Stacking failed. Check the log." msgstr "叠加失败,请检查日志。" -#: ../src/stacking/stacking.c:694 +#: ../src/stacking/stacking.c:491 msgid "Stacking complete." msgstr "叠加完成。" -#: ../src/stacking/stacking.c:799 -msgid "" -"Rejection stacking is only supported for FITS images and SER sequences.\n" -"Use \"Sum Stacking\" instead.\n" -msgstr "" -"像素剔除算法只适用于FITS文件和SER序列。\n" -"请另行尝试“加法叠加”。\n" - -#: ../src/stacking/stacking.c:825 -#, c-format -msgid "Rejection stack: opening image %s" -msgstr "叠加(像素剔除):打开图像%s" - -#: ../src/stacking/stacking.c:846 -msgid "Rejection stack error: images with > 3 dimensions are not supported\n" -msgstr "叠加(像素剔除)错误:超出三通道的图像无法被支持\n" - -#: ../src/stacking/stacking.c:857 -msgid "Rejection stack error: input images have different sizes\n" -msgstr "叠加(像素剔除):输入图像尺寸不统一\n" - #. no image has been loaded -#: ../src/stacking/stacking.c:902 +#: ../src/stacking/stacking.c:594 msgid "Rejection stack error: uninitialized sequence\n" msgstr "叠加(像素剔除):队列未初始化\n" -#: ../src/stacking/stacking.c:1072 +#: ../src/stacking/stacking.c:699 msgid "Rejection stacking in progress..." msgstr "叠加(像素剔除)执行中..." -#: ../src/stacking/stacking.c:1387 +#: ../src/stacking/stacking.c:979 #, c-format msgid "Pixel rejection in channel #%d: %.3lf%% - %.3lf%%\n" msgstr "像素剔除于通道 #%d: %.3lf%% - %.3lf%%\n" -#: ../src/stacking/stacking.c:1422 +#: ../src/stacking/stacking.c:1017 msgid "Rejection stacking failed. Check the log." msgstr "叠加(像素剔除)失败,请检查日志。" -#: ../src/stacking/stacking.c:1425 +#: ../src/stacking/stacking.c:1020 msgid "Rejection stacking complete." msgstr "叠加(像素剔除)完成。" -#: ../src/stacking/stacking.c:1440 +#: ../src/stacking/stacking.c:1034 #, c-format msgid "" "Your system does not allow to open more than %d files at the same time. You " @@ -7538,208 +7763,453 @@ "Operating System) or to convert your FITS sequence into a SER sequence " "before stacking, or to stack with the \"sum\" method.\n" msgstr "" +"你的系统不支持同时打开超过 %d 个文件。您需要修改操作系统的限制,或者在叠加之" +"前将FITS文件队列转化为一个SER文件,或者使用“加法叠加”。\n" -#: ../src/stacking/stacking.c:1504 +#: ../src/stacking/stacking.c:1112 #, c-format msgid "Stacking will use registration data of layer %d if some exist.\n" msgstr "Stacking will use registration data of layer %d if some exist.\n" -#: ../src/stacking/stacking.c:1511 +#: ../src/stacking/stacking.c:1118 msgid "Stacking: processing...\n" msgstr "叠加:处理中...\n" -#: ../src/stacking/stacking.c:1526 +#: ../src/stacking/stacking.c:1132 #, c-format msgid "Integration of %d images:\n" msgstr "共叠加%d帧图像:\n" -#: ../src/stacking/stacking.c:1530 +#: ../src/stacking/stacking.c:1136 msgid "Pixel combination ......... average\n" msgstr "Pixel combination ......... average\n" -#: ../src/stacking/stacking.c:1532 +#: ../src/stacking/stacking.c:1138 msgid "Pixel combination ......... normalized sum\n" msgstr "Pixel combination ......... normalized sum\n" -#: ../src/stacking/stacking.c:1534 +#: ../src/stacking/stacking.c:1140 msgid "Pixel combination ......... median\n" msgstr "Pixel combination ......... median\n" -#: ../src/stacking/stacking.c:1536 +#: ../src/stacking/stacking.c:1142 msgid "Pixel combination ......... minimum\n" msgstr "Pixel combination ......... minimum\n" -#: ../src/stacking/stacking.c:1538 +#: ../src/stacking/stacking.c:1144 msgid "Pixel combination ......... maximum\n" msgstr "Pixel combination ......... maximum\n" -#: ../src/stacking/stacking.c:1540 +#: ../src/stacking/stacking.c:1146 msgid "Pixel combination ......... none\n" msgstr "Pixel combination ......... none\n" -#: ../src/stacking/stacking.c:1546 ../src/stacking/stacking.c:1551 -#: ../src/stacking/stacking.c:1580 +#: ../src/stacking/stacking.c:1152 ../src/stacking/stacking.c:1157 +#: ../src/stacking/stacking.c:1186 msgid "none" msgstr "无" -#: ../src/stacking/stacking.c:1554 +#: ../src/stacking/stacking.c:1160 msgid "additive" msgstr "累加" -#: ../src/stacking/stacking.c:1557 +#: ../src/stacking/stacking.c:1163 msgid "multiplicative" msgstr "累乘" -#: ../src/stacking/stacking.c:1560 +#: ../src/stacking/stacking.c:1166 msgid "additive + scaling" msgstr "累加带拉伸" -#: ../src/stacking/stacking.c:1563 +#: ../src/stacking/stacking.c:1169 msgid "multiplicative + scaling" msgstr "累乘带拉伸" -#: ../src/stacking/stacking.c:1568 +#: ../src/stacking/stacking.c:1174 #, c-format msgid "Normalization ............. %s\n" msgstr "Normalization ............. %s\n" -#: ../src/stacking/stacking.c:1572 +#: ../src/stacking/stacking.c:1178 msgid "Pixel rejection ........... none\n" msgstr "Pixel rejection ........... none\n" -#: ../src/stacking/stacking.c:1573 +#: ../src/stacking/stacking.c:1179 msgid "Rejection parameters ...... none\n" msgstr "Rejection parameters ...... none\n" -#: ../src/stacking/stacking.c:1583 +#: ../src/stacking/stacking.c:1189 msgid "percentile clipping" msgstr "percentile clipping" -#: ../src/stacking/stacking.c:1586 +#: ../src/stacking/stacking.c:1192 msgid "sigma clipping" msgstr "sigma clipping" -#: ../src/stacking/stacking.c:1589 +#: ../src/stacking/stacking.c:1195 msgid "median sigma clipping" msgstr "median sigma clipping" -#: ../src/stacking/stacking.c:1592 +#: ../src/stacking/stacking.c:1198 msgid "Winsorized sigma clipping" msgstr "Winsorized sigma clipping" -#: ../src/stacking/stacking.c:1595 +#: ../src/stacking/stacking.c:1201 msgid "linear fit clipping" msgstr "linear fit clipping" -#: ../src/stacking/stacking.c:1598 +#: ../src/stacking/stacking.c:1204 #, c-format msgid "Pixel rejection ........... %s\n" msgstr "像素剔除 ........... %s\n" -#: ../src/stacking/stacking.c:1599 +#: ../src/stacking/stacking.c:1205 #, c-format msgid "Rejection parameters ...... low=%.3f high=%.3f\n" msgstr "Rejection parameters ...... low=%.3f high=%.3f\n" -#: ../src/stacking/stacking.c:1687 +#: ../src/stacking/stacking.c:1252 msgid "Stacking result image" msgstr "叠加最终目标图像" -#: ../src/stacking/stacking.c:1710 ../src/stacking/stacking.c:1715 +#: ../src/stacking/stacking.c:1275 ../src/stacking/stacking.c:1280 msgid "Unsaved stacking result" msgstr "未保存的叠加结果" -#: ../src/stacking/stacking.c:1903 +#: ../src/stacking/stacking.c:1403 #, c-format msgid "Using %d MB memory maximum for stacking\n" msgstr "叠加操作共使用内存%d MB\n" -#: ../src/stacking/stacking.c:1928 -msgid "" -"The reference image is not in the selected set of images. To avoid issues, " -"please change it or change the filtering parameters.\n" -msgstr "" -"参考帧不在所选定的队列里。请重新选择或者改变过滤参数。\n" -"\n" - -#: ../src/stacking/stacking.c:1935 -#, fuzzy, c-format -msgid "Using image %d as temporary reference image\n" -msgstr "显示参考帧" +#: ../src/stacking/stacking.c:1651 +#, c-format +msgid "Stacking %d images of the %d of the sequence" +msgstr "叠加 %d 个图像于队列 %d" -#: ../src/stacking/stacking.c:1973 ../src/stacking/stacking.c:2049 +#: ../src/stacking/upscaling.c:109 #, c-format msgid "" -"Warning: some images don't have FWHM information available for best images " -"selection, using only available data (%d images on %d).\n" -msgstr "" -"警告:一些图像不含有可用于最佳图像选择的有效的FWHM信息 ,仅有效数据被使用 " -"(%d images on %d).\n" +"Your system does not have enough memory to up-scale the images for `drizzle' " +"operation (%d MB free for %d MB required)\n" +msgstr "系统没有足够的内存来执行超采样操作(可用内存 %d MB,所需内存 %d MB)\n" -#: ../src/stacking/stacking.c:2000 ../src/stacking/stacking.c:2032 +#: ../src/stacking/upscaling.c:116 #, c-format msgid "" -"Error in highest quality accepted for sequence processing: some images don't " -"have this kind of information available for channel #%d.\n" -msgstr "基于高图像质量的队列处理错误:某些图像的通道#%d中不含有这类信息。\n" +"With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) " +"can be used for sequence up-scaling\n" +msgstr "" +"基于当前的内存 (%.2f) 和线程 (%d) 上限, 最多 %d 线程可用于该队列的超采样" +"操作\n" -#: ../src/stacking/stacking.c:2128 -#, c-format -msgid "Stacking all images in the sequence (%d)\n" -msgstr "叠加队列(%d)中的所有图像\n" +#: ../src/stacking/upscaling.c:153 +msgid "Stacking will be done without up-scaling (disabling 'drizzle')\n" +msgstr "叠加将不会使用超采样( ‘drizzle’关闭)\n" -#: ../src/stacking/stacking.c:2137 -#, c-format -msgid "Stacking only selected images in the sequence (%d)\n" -msgstr "只叠加队列(%d)中所选择的图像\n" +#: ../src/stacking/upscaling.c:186 +msgid "Up-scaling sequence for stacking" +msgstr "超采样叠加" -#: ../src/stacking/stacking.c:2154 -#, c-format -msgid "" -"Stacking images of the sequence with a FWHM lower or equal than %g (%d)\n" -msgstr "叠加队列中FWHM小于等于 %g (%d) 的图像\n" +#~ msgid "images previously manually selected from the sequence" +#~ msgstr "队列里之前手动选择则图像" -#: ../src/stacking/stacking.c:2159 -#, c-format -msgid "Based on FWHM < %.2f (%d images)" -msgstr "基于FWHM < %.2f (%d 图像)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "FWHM)" +#~ msgstr "最佳图像,自动从对齐统计数据(PSF - FWHM)中选择" -#: ../src/stacking/stacking.c:2180 -#, c-format -msgid "" -"Stacking images of the sequence with a roundness higher or equal than %g " -"(%d)\n" -msgstr "叠加队列中圆度大于等于 %g (%d) 的图像\n" +#~ msgid "" +#~ "best images, automatically selected from the registration data (PSF - " +#~ "roundness)" +#~ msgstr "最佳图像,自动从对齐统计数据(PSF - 圆度)中选择" -#: ../src/stacking/stacking.c:2186 -#, c-format -msgid "Based on roundness > %.2f (%d images)" -msgstr "基于圆度 > %.2f (%d 图像)" +#~ msgid "" +#~ "best images, automatically selected from the registration data (Planetary)" +#~ msgstr "最好的图像,自动从对齐统计数据中选择(行星)" -#: ../src/stacking/stacking.c:2189 -#, c-format -msgid "Based on roundness" -msgstr "基于圆度" +#~ msgid "Based on FWHM" +#~ msgstr "基于FWHM" -#: ../src/stacking/stacking.c:2205 -#, c-format -msgid "" -"Stacking images of the sequence with a quality higher or equal than %g (%d)\n" -msgstr "叠加队列中品质大于等于 %g (%d) 的图像\n" +#~ msgid "Stack best:" +#~ msgstr "叠加最好的:" -#: ../src/stacking/stacking.c:2211 -#, c-format -msgid "Based on quality > %.2f (%d images)" -msgstr "基于品质 > %.2f (%d 图像)" +#~ msgid "%" +#~ msgstr "%" -#: ../src/stacking/stacking.c:2214 -#, c-format -msgid "Based on quality" -msgstr "基于品质" +#~ msgid "The provided type of stacking is unknown (%s).\n" +#~ msgstr "The provided type of stacking is unknown (%s).\n" -#: ../src/stacking/stacking.c:2281 -msgid "Up-scaling sequence for stacking" -msgstr "超分辨率叠加" +#~ msgid "" +#~ "Median stacking is only supported for FITS images and SER sequences.\n" +#~ msgstr "中位数叠加只可用于FITS图像和SER队列。\n" + +#~ msgid "Median stack: opening image %s" +#~ msgstr "Median stack: opening image %s" + +#~ msgid "Rejection stack: opening image %s" +#~ msgstr "叠加(像素剔除):打开图像%s" + +#~ msgid "" +#~ "Rejection stack error: images with > 3 dimensions are not supported\n" +#~ msgstr "叠加(像素剔除)错误:超出三通道的图像无法被支持\n" + +#~ msgid "Rejection stack error: input images have different sizes\n" +#~ msgstr "叠加(像素剔除):输入图像尺寸不统一\n" + +#~ msgid "" +#~ "Error in highest quality accepted for sequence processing: some images " +#~ "don't have this kind of information available for channel #%d.\n" +#~ msgstr "基于高图像质量的队列处理错误:某些图像的通道#%d中不含有这类信息。\n" + +#~ msgid "Based on FWHM < %.2f (%d images)" +#~ msgstr "基于FWHM < %.2f (%d 图像)" + +#~ msgid "Based on roundness > %.2f (%d images)" +#~ msgstr "基于圆度 > %.2f (%d 图像)" + +#~ msgid "Based on roundness" +#~ msgstr "基于圆度" + +#~ msgid "Based on quality > %.2f (%d images)" +#~ msgstr "基于品质 > %.2f (%d 图像)" + +#~ msgid "Based on quality" +#~ msgstr "基于品质" + +#, fuzzy +#~ msgid "File Informations" +#~ msgstr "信息" + +#~ msgid "Type: " +#~ msgstr "类型: " + +#~ msgid "Normal" +#~ msgstr "标准" + +#~ msgid "Polar (Magnitude + Phase)" +#~ msgstr "极坐标(幅值+相位)" + +#~ msgid "" +#~ "WARNING: these fields are automatically read from FITS file on opening " +#~ "and setting them here will only work for the currently loaded file." +#~ msgstr "" +#~ "警告:上述数据原则上是自动从FITS文件中读取的,此处的改动只会对当前已载入文" +#~ "件有效。" + +#~ msgid "Camera and Optics" +#~ msgstr "相机和光学设备" + +#~ msgid "Camera & Optics" +#~ msgstr "相机和光学设备" + +#~ msgid "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" +#~ msgstr "" +#~ "Reverting current working directory to startup directory, the saved " +#~ "directory is not available anymore\n" + +#~ msgid "BMP images, " +#~ msgstr "BMP图像, " + +#~ msgid "autoStretch" +#~ msgstr "自动拉伸" + +#~ msgid "Negative view" +#~ msgstr "负片视图" + +#~ msgid "R" +#~ msgstr "R" + +#~ msgid "G" +#~ msgstr "G" + +#~ msgid "Memory Managment" +#~ msgstr "内存管理" + +#~ msgid "" +#~ "Using dark GTK theme\n" +#~ "(may require restarting)" +#~ msgstr "" +#~ "使用drak GTK主题\n" +#~ "(需要重新启动)" + +#~ msgid "" +#~ "Some dialogs of Siril have non-standard bright colours. With a dark " +#~ "theme, where the text is bright too, that's unreadable. Checking here " +#~ "will change these non-standard colours to dark." +#~ msgstr "" +#~ "某些Siril对话框具有非标准的亮色。当使用暗色主题时,这些文字仍是亮色,会难" +#~ "以阅读。点选此处将会改变这些非标准色彩为暗色。" + +#~ msgid "Ratio of Available Memory Used: " +#~ msgstr "所使用的可用内存的比例: " + +#, fuzzy +#~ msgid "20,00" +#~ msgstr "0.00" + +#, fuzzy +#~ msgid "30,00" +#~ msgstr "0.00" + +#~ msgid "Siril message" +#~ msgstr "Siril消息" + +#, fuzzy +#~ msgid "%s" +#~ msgstr "%" + +#~ msgid "Images don't have the same size (w = %d|%d, h = %d|%d)\n" +#~ msgstr "图像不具有统一大小 (w = %d|%d, h = %d|%d)\n" + +#~ msgid "" +#~ "Ensure compatibility with images stored\n" +#~ "in up-bottom orientation (KSTARS/EKOS, \n" +#~ "PixInsight, and probably others ...)" +#~ msgstr "" +#~ "确保被保存图像的兼容性\n" +#~ "以自上而下的方向(KSTARS/EKOS,\n" +#~ "PixInsight, 和其他……)" + +#~ msgid "" +#~ "If this box is checked, Siril will try to ensure KSTARS (and PixInsight " +#~ "or others) compatibility by reading FITS image in up-bottom order." +#~ msgstr "" +#~ "若本项被选定,Siril会试图通过使用自上而下的顺序来读取FITS文件,以确保" +#~ "KSTARS(和PixInsight或其他)的兼容性。" + +#~ msgid "Manual" +#~ msgstr "手动" + +#~ msgid "You must click on the picture to pick your own background samples." +#~ msgstr "必须点击图像以选择自定义的背景取样。" + +#~ msgid "Siril picks background samples automatically." +#~ msgstr "Siril自动选择背景取样。" + +#~ msgid "Clear background samples." +#~ msgstr "清除背景取样。" + +#~ msgid "Draw samples" +#~ msgstr "绘制取样" + +#~ msgid "Type of Extraction" +#~ msgstr "提取的类型" + +#~ msgid "Box radius:" +#~ msgstr "格子半径:" + +#~ msgid "" +#~ "This is the distance in pixels between two adjacent background sample " +#~ "boxes." +#~ msgstr "相邻的背景样本格子之间的距离(像素)。" + +#~ msgid "" +#~ "This is the radius in pixels of a background sample box. Multiply by 2 to " +#~ "have the length of a box." +#~ msgstr "背景样本格子的半径(像素)。格子的边长为其两倍。" + +#~ msgid "Sample Generation" +#~ msgstr "生成样本" + +#~ msgid "" +#~ "This parameter indicates the tolerance of local sample rejection, in " +#~ "sigma units." +#~ msgstr "用于局部样本剔除的容差值(sigma)" + +#~ msgid "Local Rejection" +#~ msgstr "局部剔除" + +#~ msgid "Deviation: " +#~ msgstr "偏差: " + +#~ msgid "Tolerance of global sample rejection, in sigma units." +#~ msgstr "用于全局样本剔除的容差值(sigma)" + +#~ msgid "Unbalance:" +#~ msgstr "失衡:" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation." +#~ msgstr "此因子乘以偏差值,用于在背景评估中囊括更多的暗调像素。" + +#~ msgid "Global Rejection" +#~ msgstr "全局剔除" + +#~ msgid "This is the number of sample box in a row." +#~ msgstr "每行中的样本格子数。" + +#~ msgid "" +#~ "This is the factor multiplied by the deviation parameter in order to " +#~ "include more dark pixels in the background evaluation" +#~ msgstr "此因子乘以偏差值,用于在背景评估中囊括更多的暗调像素" + +#~ msgid "Interpolation" +#~ msgstr "插值" + +#~ msgid "Show Image" +#~ msgstr "显示图像" + +#~ msgid "Click on this button to show the image." +#~ msgstr "点击按钮显示图像。" + +#~ msgid "Show Background" +#~ msgstr "显示背景" + +#~ msgid "Click on this button to show the background computed." +#~ msgstr "点击按钮显示估算出的背景。" + +#~ msgid "Compute" +#~ msgstr "计算" + +#~ msgid "Apply" +#~ msgstr "应用" + +#~ msgid "This will apply the selected correction." +#~ msgstr "应用所选的修正。" + +#~ msgid "Channel #%d: background extraction done.\n" +#~ msgstr "通道#%d:背景提取完成。\n" + +#~ msgid "Background extraction: processing...\n" +#~ msgstr "背景提取:处理中...\n" + +#~ msgid "Insufficient background samples.\n" +#~ msgstr "背景样本数不足。\n" + +#~ msgid "" +#~ "Background cannot be extracted from itself. Please, click on Show Image\n" +#~ msgstr "背景无法自己提取自己,请点击显示图像\n" + +#~ msgid "Please, apply correction on the image by clicking on Show Image\n" +#~ msgstr "请点击显示图像按钮以应用修正\n" + +#~ msgid "Subtraction done ...\n" +#~ msgstr "减法完成...\n" + +#~ msgid "Division done ...\n" +#~ msgstr "除法完成...\n" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1x2" + +#, fuzzy +#~ msgid "Star detection" +#~ msgstr "星点侦测" + +#, fuzzy +#~ msgid "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2019 team free-astro" +#~ msgstr "" +#~ "Copyright © 2004-2011 François Meyer\n" +#~ "Copyright © 2012-2018 team free-astro" + +#~ msgid "Crops the current image within the rectangle previously selected" +#~ msgstr "Crops the current image within the rectangle previously selected" #~ msgid "page 1" #~ msgstr "第一页" @@ -7794,40 +8264,9 @@ #~ msgid "4" #~ msgstr "4" -#, fuzzy -#~ msgid "Bright stars" -#~ msgstr "亮度" - #~ msgid "1" #~ msgstr "1" -#~ msgid "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" -#~ msgstr "" -#~ "Copyright © 2004-2011 François Meyer\n" -#~ "Copyright © 2012-2018 team free-astro" - -#~ msgid "" -#~ "Cyril Richard \n" -#~ "Vincent Hourdin " -#~ msgstr "" -#~ "叶云 \n" -#~ "Mr.Coffee" - -#~ msgid "About siril" -#~ msgstr "关于Siril" - -#~ msgid "Astronomical image (pre-)processing program" -#~ msgstr "天文图像(预)处理程序" - -#~ msgid "Visit the Siril website" -#~ msgstr "访问Siril网站" - -#, fuzzy -#~ msgid "Not enough stars.\n" -#~ msgstr "没有足够的星点。图像 %d 被跳过\n" - #~ msgid "Converting from SER is not yet supported\n" #~ msgstr "Converting from SER is not yet supported\n" @@ -8178,9 +8617,6 @@ #~ msgid "4x4" #~ msgstr "4x4" -#~ msgid "1x2" -#~ msgstr "1x2" - #~ msgid "1x3" #~ msgstr "1x3" @@ -8190,9 +8626,6 @@ #~ msgid "3x1" #~ msgstr "3x1" -#~ msgid "0,00" -#~ msgstr "0.00" - #~ msgid "page 4" #~ msgstr "第四页" diff -Nru siril-0.9.10/README.md siril-0.9.11/README.md --- siril-0.9.10/README.md 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/README.md 2019-05-27 09:16:07.000000000 +0000 @@ -1,7 +1,7 @@ SIRIL ===== -> Copyright © 2012-2018, Team free-astro +> Copyright © 2012-2019, Team free-astro > <> > <> diff -Nru siril-0.9.10/scripts/DSLR_preprocessing.ssf siril-0.9.11/scripts/DSLR_preprocessing.ssf --- siril-0.9.10/scripts/DSLR_preprocessing.ssf 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/scripts/DSLR_preprocessing.ssf 2019-05-27 09:16:07.000000000 +0000 @@ -1,8 +1,8 @@ ############################################ -# Script for Siril 0.9.9 -# April 2018 +# Script for Siril 0.9 +# March 2019 # (C) Cyril Richard -# DSLR_preprocessing v1.3 +# DSLR_preprocessing v1.5 ########### PREPROCESSING SCRIPT ########### # Script for DSLR color camera preprocessing # needs 4 sets of RAW images in the working @@ -35,19 +35,13 @@ #preprocess lights cd lights convertraw light_ -preprocess light_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer +preprocess light_ -dark=../darks/dark_stacked -flat=../flats/pp_flat_stacked -cfa -equalize_cfa -debayer -stretch #align lights register pp_light_ #stack calibrated lights -stack r_pp_light_ rej 3 3 -norm=addscale +stack r_pp_light_ rej 3 3 -norm=addscale -out=../result -#That's a workaround here to save result in another place. -#These lines are not mandatory -#load image in memory -load r_pp_light_stacked -#and save it at root -cd .. -save result +cd .. close \ No newline at end of file diff -Nru siril-0.9.10/src/algos/background_extraction.c siril-0.9.11/src/algos/background_extraction.c --- siril-0.9.10/src/algos/background_extraction.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/algos/background_extraction.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,642 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "core/siril.h" +#include "core/proto.h" +#include "core/undo.h" +#include "io/single_image.h" +#include "algos/statistics.h" +#include "algos/geometry.h" +#include "algos/sorting.h" +#include "gui/callbacks.h" +#include "gui/progress_and_log.h" +#include "gui/message_dialog.h" +#include "registration/registration.h" // for mouse_status +#include "background_extraction.h" + + +#define NPARAM_POLY4 15 // Number of parameters used with 4rd order +#define NPARAM_POLY3 10 // Number of parameters used with 3rd order +#define NPARAM_POLY2 6 // Number of parameters used with 2nd order +#define NPARAM_POLY1 3 // Number of parameters used with 1nd order + +#define SAMPLE_SIZE 25 + +//C contains background function +#define C(i) (gsl_vector_get(c,(i))) + +static double poly_4(gsl_vector *c, double x, double y) { + double value = C(0) * 1.0 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x + + C(5) * y * y + C(6) * x * x * x + C(7) * x * x * y + + C(8) * x * y * y + C(9) * y * y * y + C(10) * x * x * x * x + + C(11) * x * x * x * y + C(12) * x * x * y * y + + C(13) * x * y * y * y + C(14) * y * y * y * y; + + return (value); +} + +static double poly_3(gsl_vector *c, double x, double y) { + double value = C(0) * 1.0 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x + + C(5) * y * y + C(6) * x * x * x + C(7) * x * x * y + C(8) * x * y * y + + C(9) * y * y * y; + + return (value); +} + +static double poly_2(gsl_vector *c, double x, double y) { + double value = C(0) * 1.0 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x + + C(5) * y * y; + + return (value); +} + +static double poly_1(gsl_vector *c, double x, double y) { + double value = C(0) * 1.0 + C(1) * x + C(2) * y; + + return (value); +} + +static double *computeBackground(GSList *list, int channel, size_t width, size_t height, poly_order order, gchar **err) { + size_t n, i, j; + size_t k = 0; + double chisq, pixel; + double row, col; + gsl_matrix *J, *cov; + gsl_vector *y, *w, *c; + GSList *l; + + n = g_slist_length(list); + + int nbParam; + switch (order) { + case POLY_1: + nbParam = NPARAM_POLY1; + break; + case POLY_2: + nbParam = NPARAM_POLY2; + break; + case POLY_3: + nbParam = NPARAM_POLY3; + break; + case POLY_4: + default: + nbParam = NPARAM_POLY4; + } + + if (n < nbParam) { + *err = siril_log_message(_("There are not enough background samples. " + "The background to be extracted cannot be computed.\n")); + return NULL; + } + + // J is the Jacobian + // y contains data (pixel intensity) + J = gsl_matrix_calloc(n, nbParam); + y = gsl_vector_calloc(n); + w = gsl_vector_calloc(n); + c = gsl_vector_calloc(nbParam); + cov = gsl_matrix_calloc(nbParam, nbParam); + + for (l = list; l; l = l->next) { + background_sample *sample = (background_sample *) l->data; + + col = sample->position.x; + row = sample->position.y; + pixel = sample->median[channel]; + // here, it is a bit sketchy in the sense that if there is not value to report in a box (because the threshold is too + // low for example, then I just skip the initialization of J and y. gsl automatically discard the non assigned values + // during the minimization. I tested it with Matlab and it works fine. The results agree. + if (pixel < 0) + continue; + + gsl_matrix_set(J, k, 0, 1.0); + gsl_matrix_set(J, k, 1, col); + gsl_matrix_set(J, k, 2, row); + + if (order != POLY_1) { + gsl_matrix_set(J, k, 3, col * col); + gsl_matrix_set(J, k, 4, col * row); + gsl_matrix_set(J, k, 5, row * row); + } + + if (order == POLY_3 || order == POLY_4) { + gsl_matrix_set(J, k, 6, col * col * col); + gsl_matrix_set(J, k, 7, col * col * row); + gsl_matrix_set(J, k, 8, col * row * row); + gsl_matrix_set(J, k, 9, row * row * row); + } + + if (order == POLY_4) { + gsl_matrix_set(J, k, 10, col * col * col * col); + gsl_matrix_set(J, k, 11, col * col * col * row); + gsl_matrix_set(J, k, 12, col * col * row * row); + gsl_matrix_set(J, k, 13, col * row * row * row); + gsl_matrix_set(J, k, 14, row * row * row * row); + } + + gsl_vector_set(y, k, pixel); + gsl_vector_set(w, k, 1.0); + + k++; + } + + // Must turn off error handler or it aborts on error + gsl_set_error_handler_off(); + + gsl_multifit_linear_workspace *work = gsl_multifit_linear_alloc(n, nbParam); + int status = gsl_multifit_wlinear(J, w, y, c, cov, &chisq, work); + if (status != GSL_SUCCESS) { + *err = siril_log_message("GSL multifit error: %s\n", gsl_strerror(status)); + gsl_matrix_free(J); + gsl_vector_free(y); + gsl_vector_free(w); + gsl_vector_free(c); + gsl_matrix_free(cov); + return NULL; + } + + // Calculation of the background with the same dimension that the input matrix. + double *background = malloc(height * width * sizeof(double)); + if (!background) { + PRINT_ALLOC_ERR; + *err = _("Out of memory - aborting"); + return NULL; + } + + for (i = 0; i < height; i++) { + for (j = 0; j < width; j++) { + switch (order) { + case POLY_1: + pixel = poly_1(c, (double) j, (double) i); + break; + case POLY_2: + pixel = poly_2(c, (double) j, (double) i); + break; + case POLY_3: + pixel = poly_3(c, (double) j, (double) i); + break; + default: + case POLY_4: + pixel = poly_4(c, (double) j, (double) i); + } + background[j + i * width] = pixel; + } + } + + /* free memory */ + gsl_multifit_linear_free(work); + gsl_matrix_free(J); + gsl_vector_free(y); + gsl_vector_free(w); + gsl_vector_free(c); + gsl_matrix_free(cov); + + return background; +} + +static background_sample *get_sample(double *buf, const int xx, + const int yy, const int w, const int h) { + int radius, x, y; + double *data; + size_t size = SAMPLE_SIZE * SAMPLE_SIZE; + background_sample *sample = (background_sample *) g_malloc(sizeof(background_sample)); + + radius = (int) (SAMPLE_SIZE / 2); + + int n = 0; + data = calloc(size, sizeof(double)); + for (y = yy - radius; y <= yy + radius; y ++) { + for (x = xx - radius; x <= xx + radius; x ++) { + if (y >= 0 && y < h) { + if (x >= 0 && x < w) { + data[n++] = buf[x + y * w]; + } + } + } + } + gsl_stats_minmax(&sample->min, &sample->max, data, 1, size); + sample->mean = gsl_stats_mean(data, 1, size); + sample->median[RLAYER] = quickmedian_double(data, size); + sample->median[GLAYER] = sample->median[BLAYER] = sample->median[RLAYER]; + sample->position.x = xx; + sample->position.y = yy; + sample->size = SAMPLE_SIZE; + sample->valid = TRUE; + + free(data); + return sample; +} + +static double get_sample_median(double *buf, const int xx, + const int yy, const int w, const int h) { + int radius, x, y, n; + double *data, median; + size_t size = SAMPLE_SIZE * SAMPLE_SIZE; + + radius = get_sample_radius(); + + n = 0; + data = calloc(size, sizeof(double)); + for (y = yy - radius; y <= yy + radius; y ++) { + for (x = xx - radius; x <= xx + radius; x ++) { + if (y >= 0 && y < h) { + if (x >= 0 && x < w) { + data[n++] = buf[x + y * w]; + } + } + } + } + median = quickmedian_double(data, size); + + free(data); + return median; +} + +static long dither(long max) { + unsigned long + // max <= RAND_MAX < ULONG_MAX, so this is okay. + num_bins = (unsigned long) max + 1, num_rand = (unsigned long) RAND_MAX + 1, + bin_size = num_rand / num_bins, defect = num_rand % num_bins; + + long x; + + do { + x = rand(); + } + // This is carefully written not to overflow + while (num_rand - defect <= (unsigned long) x); + + // Truncated division is intentional + return x / bin_size; +} + +static double *convert_fits_to_img(fits *fit, int channel, gboolean add_dither) { + int i; + double *image = malloc(fit->rx * fit->ry * sizeof(double)); + + if (add_dither) { + /* initialize random seed: */ + srand(time(NULL)); + } + + mirrorx(fit, FALSE); + /* copy data to new array and normalize pixel data */ + for (i = 0; i < fit->rx * fit->ry; i++) { + image[i] = (double) fit->pdata[channel][i] / USHRT_MAX_DOUBLE; + if (add_dither) { + /* add dithering in order to avoid colour banding */ + double dithering = (dither(999) * 1E-7); + image[i] += dithering; + } + } + mirrorx(fit, FALSE); + return image; +} + +static double *convert_fits_to_luminance(fits *fit) { + int nx = fit->rx; + int ny = fit->ry; + int i; + /* allocating memory to image */ + double *image = malloc(nx * ny * sizeof(double)); + + mirrorx(fit, FALSE); + + for (i = 0; i < ny * nx; i++) { + if (fit->naxes[2] > 1) { + double r, g, b; + r = (double) fit->pdata[RLAYER][i] / USHRT_MAX_DOUBLE; + g = (double) fit->pdata[GLAYER][i] / USHRT_MAX_DOUBLE; + b = (double) fit->pdata[BLAYER][i] / USHRT_MAX_DOUBLE; + image[i] = 0.2126 * r + 0.7152 * g + 0.0722 * b; + } else { + image[i] = (double) fit->pdata[RLAYER][i] / USHRT_MAX_DOUBLE; + } + } + + mirrorx(fit, FALSE); + + return image; +} + +static void convert_img_to_fits(double *image, fits *fit, int channel) { + int i; + + mirrorx(fit, FALSE); + + WORD *buf = fit->pdata[channel]; + + for (i = 0; i < fit->rx * fit->ry; i++) { + buf[i] = round_to_WORD(image[i] * USHRT_MAX_DOUBLE); + } + + mirrorx(fit, FALSE); +} + +static double siril_stats_mad(const double data[], const size_t stride, + const size_t n, double work[]) { +#if (GSL_MAJOR_VERSION == 2) && (GSL_MINOR_VERSION < 5) + double median, mad; + size_t i; + + /* copy input data to work */ + for (i = 0; i < n; ++i) + work[i] = (double) data[i * stride]; + + /* compute median of input data using double version */ + median = histogram_median_double(work, n); + + /* compute absolute deviations from median */ + for (i = 0; i < n; ++i) + work[i] = fabs((double) data[i * stride] - median); + + mad = histogram_median_double(work, n); + + return mad; +#else + return gsl_stats_mad0(data, stride, n, work); +#endif +} + +static GSList *generate_samples(fits *fit, int nb_per_line, double tolerance, size_t size) { + int nx = fit->rx; + int ny = fit->ry; + int dist, starty, startx; + int x, y; + double median, mad0, *work; + size_t radius; + GSList *list = NULL; + + double *image = convert_fits_to_luminance(fit); + + work = malloc(nx * ny * sizeof(double)); + + dist = (int) (nx / nb_per_line); + radius = size / 2; + startx = ((nx - size) % dist) / 2; + starty = ((ny - size) % dist) / 2; + mad0 = siril_stats_mad(image, 1, nx * ny, work); + median = histogram_median_double(image, nx * ny); + + for (y = starty; y <= ny - radius; y = y + dist) { + for (x = startx; x <= nx - radius; x = x + dist) { + background_sample *sample = get_sample(image, x, y, nx, ny); + if (sample->median[RLAYER] > 0.0 + && sample->median[RLAYER] <= (mad0 * exp(tolerance)) + median) { + list = g_slist_prepend(list, sample); + } else { + g_free(sample); + } + } + } + list = g_slist_reverse(list); + free(image); + free(work); + + return list; +} + +static GSList *update_median_for_rgb_samples(GSList *orig, fits *fit) { + GSList *list; + int nx = fit->rx; + int ny = fit->ry; + int channel; + double *rgb[3]; + + rgb[RLAYER] = convert_fits_to_img(fit, RLAYER, FALSE); + rgb[GLAYER] = convert_fits_to_img(fit, GLAYER, FALSE); + rgb[BLAYER] = convert_fits_to_img(fit, BLAYER, FALSE); + + for (list = orig; list; list = list->next) { + background_sample *sample = (background_sample *)list->data; + for (channel = 0; channel < fit->naxes[2]; channel++) { + sample->median[channel] = get_sample_median(rgb[channel], + sample->position.x, sample->position.y, nx, ny); + } + } + + free(rgb[RLAYER]); + free(rgb[GLAYER]); + free(rgb[BLAYER]); + + return orig; +} + +static poly_order get_poly_order() { + GtkComboBox *combo_box_poly_order; + + combo_box_poly_order = GTK_COMBO_BOX(lookup_widget("box_background_order")); + return gtk_combo_box_get_active(combo_box_poly_order); +} + +static int get_correction_type() { + GtkComboBox *combo_box_correction; + + combo_box_correction = GTK_COMBO_BOX(lookup_widget("box_background_correction")); + return gtk_combo_box_get_active(combo_box_correction); +} + +static int get_nb_samples_per_line() { + GtkSpinButton *nb_samples = GTK_SPIN_BUTTON(lookup_widget("spin_background_nb_samples")); + + return gtk_spin_button_get_value_as_int(nb_samples); +} + +static double get_tolerance_value() { + GtkRange *tol = GTK_RANGE(lookup_widget("scale_background_nb_samples")); + + return gtk_range_get_value(tol); +} + +static void remove_gradient(double *img, double *background, int ndata, int type) { + int i; + double mean; + + mean = gsl_stats_mean(img, 1, ndata); + + switch (type) { + default: + case 0: // Subtraction + for (i = 0; i < ndata; i++) { + img[i] -= background[i]; + img[i] += mean; + } + break; + case 1: // Division + for (i = 0; i < ndata; i++) { + img[i] /= background[i]; + img[i] *= mean; + } + } +} + +/************* PUBLIC FUNCTIONS *************/ + +int get_sample_radius() { + return (int) (SAMPLE_SIZE / 2); +} + +void free_background_sample_list(GSList *list) { + if (list == NULL) return; + g_slist_free_full(list, g_free); +} + +GSList *add_background_sample(GSList *orig, fits *fit, point pt) { + GSList *list; + int nx = fit->rx; + int ny = fit->ry; + double *image; + + image = convert_fits_to_luminance(fit); + + list = orig; + + background_sample *sample = get_sample(image, pt.x, pt.y, nx, ny); + list = g_slist_append(list, sample); + + free(image); + + return list; +} + +GSList *remove_background_sample(GSList *orig, fits *fit, point pt) { + GSList *list; + double *image; + + image = convert_fits_to_luminance(fit); + + for (list = orig; list; list = list->next) { + background_sample *sample; + double radius; + double dx; + double dy; + + sample = (background_sample *)list->data; + dx = pt.x - sample->position.x; + dy = pt.y - sample->position.y; + radius = sqrt(dx * dx + dy * dy); + + if (radius <= sample->size * 2) { + g_free(sample); + orig = g_slist_remove(orig, sample); + break; + } + } + free(image); + + return orig; +} + +/************* CALLBACKS *************/ + +void on_menuitem_background_extraction_activate(GtkMenuItem *menuitem, + gpointer user_data) { + gtk_widget_show(lookup_widget("background_extraction_dialog")); +} + +void on_background_generate_clicked(GtkButton *button, gpointer user_data) { + set_cursor_waiting(TRUE); + int nb_of_samples; + double tolerance; + + nb_of_samples = get_nb_samples_per_line(); + tolerance = get_tolerance_value(); + free_background_sample_list(com.grad_samples); + com.grad_samples = generate_samples(&gfit, nb_of_samples, tolerance, SAMPLE_SIZE); + if (gfit.naxes[2] > 1) { + com.grad_samples = update_median_for_rgb_samples(com.grad_samples, &gfit); + } + + redraw(com.cvport, REMAP_ALL); + update_used_memory(); + set_cursor_waiting(FALSE); +} + +void on_background_clear_all_clicked(GtkButton *button, gpointer user_data) { + free_background_sample_list(com.grad_samples); + com.grad_samples = NULL; + + redraw(com.cvport, REMAP_ALL); + set_cursor_waiting(FALSE); +} + +void on_background_ok_button_clicked(GtkButton *button, gpointer user_data) { + double *background, *image[3] = {0}; + int correction, channel; + gchar *error; + + if (com.grad_samples == NULL) return; + + set_cursor_waiting(TRUE); + + correction = get_correction_type(); + undo_save_state(&gfit, "Processing: Background extraction (Correction: %s)", + correction ? "Division" : "Subtraction"); + + for (channel = 0; channel < gfit.naxes[2]; channel++) { + /* compute background */ + image[channel] = convert_fits_to_img(&gfit, channel, TRUE); + background = computeBackground(com.grad_samples, channel, gfit.rx, gfit.ry, get_poly_order(), &error); + if (background == NULL) { + if (error) { + siril_message_dialog(GTK_MESSAGE_ERROR, _("Not enough samples."), error); + } + update_used_memory(); + set_cursor_waiting(FALSE); + return; + } + /* remove background */ + remove_gradient(image[channel], background, gfit.rx * gfit.ry, correction); + convert_img_to_fits(image[channel], &gfit, channel); + + /* free memory */ + free(image[channel]); + free(background); + } + + invalidate_stats_from_fit(&gfit); + adjust_cutoff_from_updated_gfit(); + redraw(com.cvport, REMAP_ALL); + update_used_memory(); + set_cursor_waiting(FALSE); +} + +void on_background_close_button_clicked(GtkButton *button, gpointer user_data) { + gtk_widget_hide(lookup_widget("background_extraction_dialog")); +} + +void on_background_extraction_dialog_hide(GtkWidget *widget, gpointer user_data) { + free_background_sample_list(com.grad_samples); + com.grad_samples = NULL; + mouse_status = MOUSE_ACTION_SELECT_REG_AREA; + redraw(com.cvport, REMAP_ALL); +} + +void on_background_extraction_dialog_show(GtkWidget *widget, gpointer user_data) { + mouse_status = MOUSE_ACTION_DRAW_SAMPLES; +} diff -Nru siril-0.9.10/src/algos/background_extraction.h siril-0.9.11/src/algos/background_extraction.h --- siril-0.9.10/src/algos/background_extraction.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/algos/background_extraction.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,20 @@ +#ifndef SRC_ALGOS_BACKGROUND_EXTRACTION_H_ +#define SRC_ALGOS_BACKGROUND_EXTRACTION_H_ + +#include "core/siril.h" + +typedef struct sample { + double median[3]; // median of each channel of the sample (if color) + double mean; // mean of the 3 channel of the sample (if color) + double min, max; + size_t size; + point position; + gboolean valid; +} background_sample; + +int get_sample_radius(); +void free_background_sample_list(GSList *list); +GSList *add_background_sample(GSList *list, fits *fit, point pt); +GSList *remove_background_sample(GSList *orig, fits *fit, point pt); + +#endif /* SRC_ALGOS_BACKGROUND_EXTRACTION_H_ */ diff -Nru siril-0.9.10/src/algos/colors.c siril-0.9.11/src/algos/colors.c --- siril-0.9.10/src/algos/colors.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/colors.c 2019-05-27 09:16:07.000000000 +0000 @@ -674,7 +674,7 @@ static void background_neutralize(fits* fit, rectangle black_selection) { int chan, i; imstats* stats[3]; - int ref = 0; + double ref = 0; assert(fit->naxes[2] == 3); @@ -686,17 +686,14 @@ } ref += stats[chan]->median; } - ref /= 3; + ref /= 3.0; for (chan = 0; chan < 3; chan++) { - int offset = stats[chan]->mean - ref; + double offset = stats[chan]->mean - ref; + WORD *buf = fit->pdata[chan]; for (i = 0; i < fit->rx * fit->ry; i++) { - if (buf[i] < offset) - buf[i] = 0; - else - buf[i] = (buf[i] - offset >= USHRT_MAX ? USHRT_MAX : buf[i] - offset); - + buf[i] = round_to_WORD((double)buf[i] - offset); } free_stats(stats[chan]); } @@ -809,14 +806,14 @@ return; } bg[chan] = stat->median / stat->normValue; - siril_log_message("B%d : %.5e\n", chan, bg[chan]); + siril_log_message("B%d: %.5e\n", chan, bg[chan]); free_stats(stat); } siril_log_message(_("White reference:\n")); for (chan = 0; chan < 3; chan++) { - siril_log_message("W%d : %.5e\n", chan, kw[chan]); + siril_log_message("W%d: %.5e\n", chan, kw[chan]); kw[chan] = fabs(kw[chan] - bg[chan]); } @@ -824,7 +821,7 @@ ((kw[1] > kw[2]) ? 1 : 2); for (chan = 0; chan < 3; chan++) { if (chan == rc) - tmp[chan] = 1; + tmp[chan] = 1.0; else tmp[chan] = kw[rc] / kw[chan]; } @@ -832,13 +829,13 @@ siril_log_message(_("Color calibration factors:\n")); for (chan = 0; chan < 3; chan++) { kw[chan] = tmp[chan]; - siril_log_message("K%d : %5.3lf\n", chan, kw[chan]); + siril_log_message("K%d: %5.3lf\n", chan, kw[chan]); } } static int calibrate(fits *fit, int layer, double kw, double bg, double norm) { WORD *buf; - WORD bgNorm; + double bgNorm; int i; bgNorm = bg * norm; diff -Nru siril-0.9.10/src/algos/cosmetic_correction.c siril-0.9.11/src/algos/cosmetic_correction.c --- siril-0.9.10/src/algos/cosmetic_correction.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/cosmetic_correction.c 2019-05-27 09:16:07.000000000 +0000 @@ -31,7 +31,9 @@ #include "io/ser.h" #include "algos/cosmetic_correction.h" #include "algos/statistics.h" +#include "algos/sorting.h" +/* see also getMedian3x3 in algos/PSF.c */ static WORD getMedian5x5(WORD *buf, const int xx, const int yy, const int w, const int h, gboolean is_cfa) { int step, radius, x, y; @@ -47,22 +49,19 @@ } int n = 0; - int start; value = calloc(24, sizeof(WORD)); for (y = yy - radius; y <= yy + radius; y += step) { for (x = xx - radius; x <= xx + radius; x += step) { - if (y >= 0 && y < h) { - if (x >= 0 && x < w) { - if ((x != xx) || (y != yy)) { - value[n++] = buf[x + y * w]; - } + if (y >= 0 && y < h && x >= 0 && x < w) { + // ^ limit to image bounds ^ + // v exclude centre pixel v + if (x != xx || y != yy) { + value[n++] = buf[x + y * w]; } } } } - start = 24 - n - 1; - quicksort_s(value, 24); - median = round_to_WORD(gsl_stats_ushort_median_from_sorted_data(value + start, 1, n)); + median = round_to_WORD (quickmedian (value, n)); free(value); return median; } @@ -85,11 +84,9 @@ for (y = yy - radius; y <= yy + radius; y += step) { if (y != yy) { // we skip the line for (x = xx - radius; x <= xx + radius; x += step) { - if (y >= 0 && y < h) { - if (x >= 0 && x < w) { - value += (double) buf[x + y * w]; - n++; - } + if (y >= 0 && y < h && x >= 0 && x < w) { + value += (double) buf[x + y * w]; + n++; } } } @@ -163,7 +160,7 @@ *ihot = 0; for (i = 0; i < fit->rx * fit->ry; i++) { if (buf[i] >= thresHot) (*ihot)++; - else if (buf[i] <= thresCold) (*icold)++; + else if (buf[i] < thresCold) (*icold)++; } return (*icold + *ihot); @@ -212,13 +209,17 @@ *ihot = 0; for (i = 0; i < fit->rx * fit->ry; i++) { if (buf[i] >= thresHot) (*ihot)++; - else if (buf[i] <= thresCold) (*icold)++; + else if (buf[i] < thresCold) (*icold)++; } /** Second we store deviant pixels in p*/ int n = (*icold) + (*ihot); if (n <= 0) return NULL; dev = calloc(n, sizeof(deviant_pixel)); + if (!dev) { + PRINT_ALLOC_ERR; + return NULL; + } i = 0; for (y = 0; y < fit->ry; y++) { for (x = 0; x < fit->rx; x++) { @@ -229,7 +230,7 @@ dev[i].type = HOT_PIXEL; i++; } - else if (pixel <= thresCold) { + else if (pixel < thresCold) { dev[i].p.x = x; dev[i].p.y = y; dev[i].type = COLD_PIXEL; @@ -321,7 +322,7 @@ args->seq = cosme_args->seq; args->partial_image = FALSE; args->filtering_criterion = seq_filter_included; - args->nb_filtered_images = com.seq.selnum; + args->nb_filtered_images = cosme_args->seq->selnum; args->prepare_hook = ser_prepare_hook; args->finalize_hook = ser_finalize_hook; args->save_hook = NULL; diff -Nru siril-0.9.10/src/algos/demosaicing.c siril-0.9.11/src/algos/demosaicing.c --- siril-0.9.10/src/algos/demosaicing.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/demosaicing.c 2019-05-27 09:16:07.000000000 +0000 @@ -29,6 +29,11 @@ #include "algos/demosaicing.h" #include "algos/statistics.h" +/** Calculate the bayer pattern color from the row and column **/ +static inline int FC(const size_t row, const size_t col, const uint32_t filters) { + return filters >> (((row << 1 & 14) + (col & 1)) << 1) & 3; +} + /* width and height are sizes of the original image */ static int super_pixel(const WORD *buf, WORD *newbuf, int width, int height, sensor_pattern pattern) { @@ -78,6 +83,8 @@ } return 0; } + + /*************************************************** * * Written by Damien Douxchamps and Frederic Devernay @@ -86,6 +93,30 @@ * * *************************************************/ + +static void ClearBorders(WORD *rgb, int sx, int sy, int w) { + int i, j; + + /* black edges: */ + i = 3 * sx * w - 1; + j = 3 * sx * sy - 1; + while (i >= 0) { + rgb[i--] = 0; + rgb[j--] = 0; + } + + int low = sx * (w - 1) * 3 - 1 + w * 3; + i = low + sx * (sy - w * 2 + 1) * 3; + while (i > low) { + j = 6 * w; + while (j > 0) { + rgb[i--] = 0; + j--; + } + i -= (sx - 2 * w) * 3; + } +} + /* OpenCV's Bayer decoding */ static int bayer_Bilinear(const WORD *bayer, WORD *rgb, int sx, int sy, sensor_pattern tile) { @@ -100,6 +131,7 @@ if ((tile > BAYER_FILTER_MAX) || (tile < BAYER_FILTER_MIN)) return -1; + ClearBorders(rgb, sx, sy, 1); rgb += rgbStep + 3 + 1; height -= 2; width -= 2; @@ -244,46 +276,35 @@ return 0; } -static const signed char bayervng_terms[] = { -2, -2, +0, -1, 0, 0x01, -2, -2, - +0, +0, 1, 0x01, -2, -1, -1, +0, 0, 0x01, -2, -1, +0, -1, 0, 0x02, -2, - -1, +0, +0, 0, 0x03, -2, -1, +0, +1, 1, 0x01, -2, +0, +0, -1, 0, 0x06, - -2, +0, +0, +0, 1, 0x02, -2, +0, +0, +1, 0, 0x03, -2, +1, -1, +0, 0, - 0x04, -2, +1, +0, -1, 1, 0x04, -2, +1, +0, +0, 0, 0x06, -2, +1, +0, +1, - 0, 0x02, -2, +2, +0, +0, 1, 0x04, -2, +2, +0, +1, 0, 0x04, -1, -2, -1, - +0, 0, 0x80, -1, -2, +0, -1, 0, 0x01, -1, -2, +1, -1, 0, 0x01, -1, -2, - +1, +0, 1, 0x01, -1, -1, -1, +1, 0, 0x88, -1, -1, +1, -2, 0, 0x40, -1, - -1, +1, -1, 0, 0x22, -1, -1, +1, +0, 0, 0x33, -1, -1, +1, +1, 1, 0x11, - -1, +0, -1, +2, 0, 0x08, -1, +0, +0, -1, 0, 0x44, -1, +0, +0, +1, 0, - 0x11, -1, +0, +1, -2, 1, 0x40, -1, +0, +1, -1, 0, 0x66, -1, +0, +1, +0, - 1, 0x22, -1, +0, +1, +1, 0, 0x33, -1, +0, +1, +2, 1, 0x10, -1, +1, +1, - -1, 1, 0x44, -1, +1, +1, +0, 0, 0x66, -1, +1, +1, +1, 0, 0x22, -1, +1, - +1, +2, 0, 0x10, -1, +2, +0, +1, 0, 0x04, -1, +2, +1, +0, 1, 0x04, -1, - +2, +1, +1, 0, 0x04, +0, -2, +0, +0, 1, 0x80, +0, -1, +0, +1, 1, 0x88, - +0, -1, +1, -2, 0, 0x40, +0, -1, +1, +0, 0, 0x11, +0, -1, +2, -2, 0, - 0x40, +0, -1, +2, -1, 0, 0x20, +0, -1, +2, +0, 0, 0x30, +0, -1, +2, +1, - 1, 0x10, +0, +0, +0, +2, 1, 0x08, +0, +0, +2, -2, 1, 0x40, +0, +0, +2, - -1, 0, 0x60, +0, +0, +2, +0, 1, 0x20, +0, +0, +2, +1, 0, 0x30, +0, +0, - +2, +2, 1, 0x10, +0, +1, +1, +0, 0, 0x44, +0, +1, +1, +2, 0, 0x10, +0, - +1, +2, -1, 1, 0x40, +0, +1, +2, +0, 0, 0x60, +0, +1, +2, +1, 0, 0x20, - +0, +1, +2, +2, 0, 0x10, +1, -2, +1, +0, 0, 0x80, +1, -1, +1, +1, 0, - 0x88, +1, +0, +1, +2, 0, 0x08, +1, +0, +2, -1, 0, 0x40, +1, +0, +2, +1, - 0, 0x10 }, bayervng_chood[] = { -1, -1, -1, 0, -1, +1, 0, +1, +1, +1, - +1, 0, +1, -1, 0, -1 }; - -#define FORC3 for (c=0; c < 3; c++) -#define LIM(x,min,max) MAX(min,MIN(x,max)) -#define ULIM(x,y,z) ((y) < (z) ? LIM(x,y,z) : LIM(x,z,y)) #define ABSOLU(x) (((int)(x) ^ ((int)(x) >> 31)) - ((int)(x) >> 31)) -#define FC(row,col) \ -(filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3) - -#define CLIP16(in, out, bits)\ -in = in < 0 ? 0 : in;\ -in = in > ((1<> 1); memset(sum, 0, sizeof sum); - color = FC(row, col); + color = FC(row, col, filters); for (num = g = 0; g < 8; g++, ip += 2) { /* Average the neighbors */ if (gval[g] <= thold) { for (c = 0; c < 3; c++) /* [FD] */ @@ -423,6 +444,8 @@ /* AHD interpolation ported from dcraw to libdc1394 by Samuel Audet */ static gboolean ahd_inited = FALSE; /* WARNING: not multi-processor safe */ +#define LIM(x,min,max) MAX(min,MIN(x,max)) +#define ULIM(x,y,z) ((y) < (z) ? LIM(x,y,z) : LIM(x,z,y)) #define CLIPOUT(x) LIM(x,0,255) #define CLIPOUT16(x,bits) LIM(x,0,((1<> 1); @@ -601,10 +624,10 @@ - rix[+TS - 1][1] - rix[+TS + 1][1] + 1) >> 2); rix[0][c] = round_to_WORD((double) val); /* [SA] */ - c = FC(row, col); + c = FC(row, col, filters); rix[0][c] = pix[0][c]; cam_to_cielab(rix[0], flab); - FORC3 + for (c = 0; c < 3; c++) lab[d][row - top][col - left][c] = 64 * flab[c]; } /* Build homogeneity maps from the CIELab images: */ @@ -647,11 +670,11 @@ for (j = tc - 1; j <= tc + 1; j++) hm[d] += homo[d][i][j]; if (hm[0] != hm[1]) - FORC3 + for (c = 0; c < 3; c++) dst[(row * width + col) * 3 + c] = round_to_WORD( rgb[hm[1] > hm[0]][tr][tc][c]); /* [SA] */ else - FORC3 + for (c = 0; c < 3; c++) dst[(row * width + col) * 3 + c] = round_to_WORD( (rgb[0][tr][tc][c] + rgb[1][tr][tc][c]) >> 1); /* [SA] */ @@ -671,7 +694,7 @@ sensor_pattern pattern, int xtrans[6][6]) { uint32_t filters = 9; const int height = sy, width = sx; - int row, col; + int row; /* start - code from border_interpolate(int border) */ { @@ -688,21 +711,22 @@ for (x = col - 1; x != col + 2; x++) if (y < (unsigned int) height && x < (unsigned int) width) { - f = FC(y, x); + f = FC(y, x, filters); sum[f] += dst[(y * width + x) * 3 + f]; /* [SA] */ sum[f + 4]++; } - f = FC(row, col); - FORC3 + f = FC(row, col, filters); + for (c = 0; c < 3; c++) if (c != f && sum[c + 4]) /* [SA] */ dst[(row * width + col) * 3 + c] = sum[c] / sum[c + 4]; /* [SA] */ } } /* end - code from border_interpolate(int border) */ #ifdef _OPENMP -#pragma omp parallel for +#pragma omp parallel for num_threads(com.max_thread) schedule(static) #endif for (row = 1; row < (height - 1); row ++) { + int col; for (col = 1; col < (width - 1); col ++) { float sum[3] = { 0.f }; @@ -856,7 +880,7 @@ return 0; } -int debayer(fits* fit, interpolation_method interpolation) { +int debayer(fits* fit, interpolation_method interpolation, gboolean stretch_cfa) { int i, j; int width = fit->rx; int height = fit->ry; @@ -868,6 +892,15 @@ retrieveXTRANSPattern(fit->bayer_pattern, xtrans); full_stats_invalidation_from_fit(fit); + if (fit->bayer_yoffset == 1) { + buf += width; + height--; + } + + if (fit->bayer_xoffset == 1) { + buf++; + } + newbuf = debayer_buffer(buf, &width, &height, interpolation, com.debayer.bayer_pattern, xtrans); if (newbuf == NULL) { @@ -888,15 +921,21 @@ fit->pdata[BLAYER] = fit->data + npixels * 2; fit->bitpix = fit->orig_bitpix; for (i = 0, j = 0; j < npixels; i += 3, j++) { + double r = (double) newbuf[i + RLAYER]; + double g = (double) newbuf[i + GLAYER]; + double b = (double) newbuf[i + BLAYER]; + if (stretch_cfa && fit->maximum_pixel_value) { + double norm = fit->bitpix == 8 ? UCHAR_MAX_DOUBLE : USHRT_MAX_DOUBLE; + r = (r / (double) fit->maximum_pixel_value) * norm; + g = (g / (double) fit->maximum_pixel_value) * norm; + b = (b / (double) fit->maximum_pixel_value) * norm; + } fit->pdata[RLAYER][j] = - (fit->bitpix == 8) ? - round_to_BYTE(newbuf[i + RLAYER]) : newbuf[i + RLAYER]; + (fit->bitpix == 8) ? round_to_BYTE(r) : round_to_WORD(r); fit->pdata[GLAYER][j] = - (fit->bitpix == 8) ? - round_to_BYTE(newbuf[i + GLAYER]) : newbuf[i + GLAYER]; + (fit->bitpix == 8) ? round_to_BYTE(g) : round_to_WORD(g); fit->pdata[BLAYER][j] = - (fit->bitpix == 8) ? - round_to_BYTE(newbuf[i + BLAYER]) : newbuf[i + BLAYER]; + (fit->bitpix == 8) ? round_to_BYTE(b) : round_to_WORD(b); } free(newbuf); return 0; diff -Nru siril-0.9.10/src/algos/demosaicing.h siril-0.9.11/src/algos/demosaicing.h --- siril-0.9.10/src/algos/demosaicing.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/demosaicing.h 2019-05-27 09:16:07.000000000 +0000 @@ -3,7 +3,7 @@ WORD *debayer_buffer(WORD *buf, int *width, int *height, interpolation_method interpolation, sensor_pattern pattern, int xtrans[6][6]); -int debayer(fits*, interpolation_method); +int debayer(fits*, interpolation_method, gboolean); void get_debayer_area(const rectangle *area, rectangle *debayer_area, const rectangle *image_area, int *debayer_offset_x, int *debayer_offset_y); diff -Nru siril-0.9.10/src/algos/fft.c siril-0.9.11/src/algos/fft.c --- siril-0.9.10/src/algos/fft.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/fft.c 2019-05-27 09:16:07.000000000 +0000 @@ -34,172 +34,197 @@ #include "algos/statistics.h" #include "algos/fft.h" -void fft_to_spectra(fits* fit, fftw_complex *frequency_repr, double *as, - double *ps) { +enum { + TYPE_CENTERED, + TYPE_REGULAR +}; + +static void fft_to_spectra(fftw_complex *frequency_repr, double *as, double *ps, + double *maxi, int nbdata) { unsigned int i; - int nbdata = fit->rx * fit->ry; -#ifdef _OPENMP -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) if(nbdata > 3000) -#endif + *maxi = 0.0; + for (i = 0; i < nbdata; i++) { - as[i] = hypot(creal(frequency_repr[i]), cimag(frequency_repr[i])); - ps[i] = atan2(cimag(frequency_repr[i]), creal(frequency_repr[i])); + double r = creal(frequency_repr[i]); + double im = cimag(frequency_repr[i]); + as[i] = hypot(r, im); + ps[i] = atan2(im, r); + *maxi = max(as[i], *maxi); } } -void fft_to_fr(fits* fit, fftw_complex *frequency_repr, double *as, double *ps) { +static void fft_to_freq(fftw_complex *frequency_repr, double *as, double *ps, + int nbdata) { unsigned int i; - int nbdata = fit->rx * fit->ry; -#ifdef _OPENMP -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) if(nbdata > 3000) -#endif + for (i = 0; i < nbdata; i++) { frequency_repr[i] = as[i] * (cos(ps[i]) + I * sin(ps[i])); } } -void change_symmetry(fits* fit, unsigned int i, unsigned int j, unsigned int *x, - unsigned int *y) { - int width = fit->rx; - int height = fit->ry; - if (i < width / 2 && j < height / 2) { - *x = i + width / 2; - *y = j + height / 2; - } - if (i >= width / 2 && j < height / 2) { - *x = i - width / 2; - *y = j + height / 2; - } - if (i < width / 2 && j >= height / 2) { - *x = i + width / 2; - *y = j - height / 2; - } - if (i >= width / 2 && j >= height / 2) { - *x = i - width / 2; - *y = j - height / 2; +static void change_symmetry_forward(unsigned int width, unsigned int height, + unsigned int i, unsigned int j, unsigned int *x, unsigned int *y) { + + *x = i + width / 2; + if (*x >= width) { + *x = *x - width; + } + *y = j + height / 2; + if (*y >= height) { + *y = *y - height; } } -double normalisation_spectra(fits* fit, double *modulus, double* phase, - WORD *abuf, WORD *pbuf, int type_order) { - unsigned int i, j; - int width = fit->rx; - int height = fit->ry; - double max_m = 0.0; +static void change_symmetry_backward(unsigned int width, unsigned int height, + unsigned int i, unsigned int j, unsigned int *x, unsigned int *y) { + + *x = i + width - width / 2; + if (*x >= width) { + *x = *x - width; + } + *y = j + height - height / 2; + if (*y >= height) { + *y = *y - height; + } +} - for (i = 0; i < width * height; i++) - max_m = max(max_m, modulus[i]); +static void centered(WORD *buf, unsigned int width, unsigned int height, + int type) { + unsigned int i, j; + WORD *temp = malloc(width * height * sizeof(WORD)); for (j = 0; j < height; j++) { for (i = 0; i < width; i++) { unsigned int x = i; unsigned int y = j; + if (type == FFTW_FORWARD) { + change_symmetry_forward(width, height, i, j, &x, &y); + } else { + change_symmetry_backward(width, height, i, j, &x, &y); + } - if (type_order == 0) - change_symmetry(fit, i, j, &x, &y); - pbuf[j * width + i] = round_to_WORD( - ((phase[y * width + x] + M_PI) * USHRT_MAX_DOUBLE - / (2 * M_PI))); - abuf[j * width + i] = round_to_WORD( - (modulus[y * width + x] * USHRT_MAX_DOUBLE / max_m)); + temp[j * width + i] = buf[y * width + x]; } } - return max_m / USHRT_MAX_DOUBLE; + + memcpy(buf, temp, sizeof(WORD) * width * height); + free(temp); +} + +static void normalisation_spectra(unsigned int w, unsigned int h, double *modul, double *phase, + WORD *abuf, WORD *pbuf, double maxi) { + unsigned int i; + + for (i = 0; i < h * w; i++) { + pbuf[i] = round_to_WORD(((phase[i] + M_PI) * USHRT_MAX_DOUBLE / (2 * M_PI))); + abuf[i] = round_to_WORD((modul[i] * USHRT_MAX_DOUBLE / maxi)); + } } -void save_dft_information_in_gfit(fits *fit) { +static void save_dft_information_in_gfit(fits *fit) { int i; strcpy(gfit.dft.ord, fit->dft.type); strcpy(gfit.dft.ord, fit->dft.ord); for (i = 0; i < fit->naxes[2]; i++) gfit.dft.norm[i] = fit->dft.norm[i]; - gfit.dft.rx = fit->dft.rx; - gfit.dft.ry = fit->dft.ry; + } -void FFTD(fits *fit, fits *x, fits *y, int type_order, int layer) { +static void FFTD(fits *fit, fits *x, fits *y, int type_order, int layer) { WORD *xbuf = x->pdata[layer]; WORD *ybuf = y->pdata[layer]; WORD *gbuf = fit->pdata[layer]; unsigned int i; - int width = fit->rx, height = fit->ry; + unsigned int width = fit->rx, height = fit->ry; + double maxi; int nbdata = width * height; - assert(nbdata); - fftw_complex *spatial_repr = (fftw_complex*) fftw_malloc( - sizeof(fftw_complex) * nbdata); - fftw_complex *frequency_repr = (fftw_complex*) fftw_malloc( - sizeof(fftw_complex) * nbdata); + fftw_complex *spatial_repr = fftw_malloc(sizeof(fftw_complex) * nbdata); + if (!spatial_repr) { + return; + } + fftw_complex *frequency_repr = fftw_malloc(sizeof(fftw_complex) * nbdata); + if (!frequency_repr) { + fftw_free(spatial_repr); + return; + } /* copying image selection into the fftw data */ #ifdef _OPENMP #pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) if(nbdata > 15000) #endif - for (i = 0; i < nbdata; i++) + for (i = 0; i < nbdata; i++) { spatial_repr[i] = (double) gbuf[i]; + } /* we run the Fourier Transform */ - fftw_plan p = fftw_plan_dft_2d(width, height, spatial_repr, frequency_repr, + fftw_plan p = fftw_plan_dft_2d(height, width, spatial_repr, frequency_repr, FFTW_FORWARD, FFTW_ESTIMATE); fftw_execute(p); /* we compute modulus and phase */ - double *modulus = calloc(1, nbdata * sizeof(double)); - double *phase = calloc(1, nbdata * sizeof(double)); + double *modul = malloc(nbdata * sizeof(double)); + double *phase = malloc(nbdata * sizeof(double)); - fft_to_spectra(fit, frequency_repr, modulus, phase); + fft_to_spectra(frequency_repr, modul, phase, &maxi, nbdata); //We normalize the modulus and the phase - x->dft.norm[layer] = normalisation_spectra(fit, modulus, phase, xbuf, ybuf, - type_order); - if (type_order == 0) + normalisation_spectra(width, height, modul, phase, xbuf, ybuf, maxi); + if (type_order == TYPE_CENTERED) { strcpy(x->dft.ord, "CENTERED"); - else + centered(xbuf, width, height, FFTW_FORWARD); + centered(ybuf, width, height, FFTW_FORWARD); + } else { strcpy(x->dft.ord, "REGULAR"); + } strcpy(y->dft.ord, x->dft.ord); + x->dft.norm[layer] = maxi / USHRT_MAX_DOUBLE; - free(modulus); + free(modul); free(phase); fftw_destroy_plan(p); fftw_free(spatial_repr); fftw_free(frequency_repr); } -void FFTI(fits *fit, fits *xfit, fits *yfit, int type_order, int layer) { +static void FFTI(fits *fit, fits *xfit, fits *yfit, int type_order, int layer) { WORD *xbuf = xfit->pdata[layer]; WORD *ybuf = yfit->pdata[layer]; WORD *gbuf = fit->pdata[layer]; - unsigned int i, j; - int width = xfit->rx; - int height = xfit->ry; + unsigned int i; + unsigned int width = xfit->rx; + unsigned int height = xfit->ry; int nbdata = width * height; - double *modulus = calloc(1, nbdata * sizeof(double)); + double *modul = calloc(1, nbdata * sizeof(double)); double *phase = calloc(1, nbdata * sizeof(double)); - for (j = 0; j < height; j++) { - for (i = 0; i < width; i++) { - unsigned int x = i; - unsigned int y = j; - if (type_order == 0) - change_symmetry(fit, i, j, &x, &y); - modulus[j * width + i] = (double) xbuf[y * width + x] - * (xfit->dft.norm[layer]); - phase[j * width + i] = (double) ybuf[y * width + x] - * (2 * M_PI / USHRT_MAX_DOUBLE); - phase[j * width + i] -= M_PI; - } + if (type_order == TYPE_CENTERED) { + centered(xbuf, width, height, FFTW_BACKWARD); + centered(ybuf, width, height, FFTW_BACKWARD); } - fftw_complex* spatial_repr = (fftw_complex*) fftw_malloc( - sizeof(fftw_complex) * nbdata); - fftw_complex* frequency_repr = (fftw_complex*) fftw_malloc( - sizeof(fftw_complex) * nbdata); + for (i = 0; i < height * width; i++) { + modul[i] = (double) xbuf[i] * (xfit->dft.norm[layer]); + phase[i] = (double) ybuf[i] * (2 * M_PI / USHRT_MAX_DOUBLE); + phase[i] -= M_PI; + } + + fftw_complex* spatial_repr = fftw_malloc(sizeof(fftw_complex) * nbdata); + if (!spatial_repr) { + return; + } - fft_to_fr(fit, frequency_repr, modulus, phase); + fftw_complex* frequency_repr = fftw_malloc(sizeof(fftw_complex) * nbdata); + if (!frequency_repr) { + fftw_free(spatial_repr); + return; + } + + fft_to_freq(frequency_repr, modul, phase, nbdata); - fftw_plan p = fftw_plan_dft_2d(width, height, frequency_repr, spatial_repr, + fftw_plan p = fftw_plan_dft_2d(height, width, frequency_repr, spatial_repr, FFTW_BACKWARD, FFTW_ESTIMATE); fftw_execute(p); @@ -210,7 +235,7 @@ delete_selected_area(); invalidate_stats_from_fit(fit); - free(modulus); + free(modul); free(phase); fftw_destroy_plan(p); fftw_free(spatial_repr); @@ -218,8 +243,8 @@ } // idle function executed at the end of the fourier_transform processing -gboolean end_fourier_transform(gpointer p) { - struct fft_data *args = (struct fft_data *) p; +static gboolean end_fourier_transform(gpointer p) { + struct fft_data *args = (struct fft_data *)p; stop_processing_thread(); adjust_cutoff_from_updated_gfit(); redraw(com.cvport, REMAP_ALL); @@ -234,50 +259,45 @@ gpointer fourier_transform(gpointer p) { struct fft_data *args = (struct fft_data *) p; - int width = args->fit->rx; - int height = args->fit->ry; - int ndata = width * height, chan; + unsigned int width = args->fit->rx; + unsigned int height = args->fit->ry; + int chan; struct timeval t_start, t_end; - WORD *from[3], *to[3]; fits *tmp = NULL, *tmp1 = NULL, *tmp2 = NULL; siril_log_color_message(_("Fourier Transform: processing...\n"), "red"); gettimeofday(&t_start, NULL); + args->retval = 0; //type must be either "ffti" or "fftd" switch (args->type[3]) { default: case 'd': case 'D': - /* We transform the image in a squared picture */ - if (args->fit->rx != args->fit->ry) { - int size = max(width, height); - if (new_fit_image(&tmp, size, size, args->fit->naxes[2])) - return GINT_TO_POINTER(1); - for (chan = 0; chan < args->fit->naxes[2]; chan++) { - from[chan] = args->fit->pdata[chan]; - to[chan] = tmp->pdata[chan]; - memcpy(to[chan], from[chan], ndata * sizeof(WORD)); - } - copyfits(tmp, args->fit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); + if (new_fit_image(&tmp1, width, height, args->fit->naxes[2]) || + new_fit_image(&tmp2, width, height, args->fit->naxes[2])) { + args->retval = 1; + goto end; } - /* ******************************************* */ - new_fit_image(&tmp1, args->fit->rx, args->fit->ry, - args->fit->naxes[2]); - new_fit_image(&tmp2, args->fit->rx, args->fit->ry, - args->fit->naxes[2]); + for (chan = 0; chan < args->fit->naxes[2]; chan++) FFTD(args->fit, tmp1, tmp2, args->type_order, chan); - /* we save the original size in the FITS HEADER */ - tmp1->dft.rx = tmp2->dft.rx = width; - tmp1->dft.ry = tmp2->dft.ry = height; strcpy(tmp1->dft.type, "SPECTRUM"); - savefits(args->modulus, tmp1); + if (savefits(args->modulus, tmp1)) { + args->retval = 1; + goto end; + } strcpy(tmp2->dft.type, "PHASE"); - savefits(args->phase, tmp2); + if (savefits(args->phase, tmp2)) { + args->retval = 1; + goto end; + } /* We display the modulus on screen */ - copyfits(tmp1, &gfit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); + if (copyfits(tmp1, &gfit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0)) { + args->retval = 1; + goto end; + } /* we copy the header informations */ save_dft_information_in_gfit(tmp1); @@ -285,52 +305,43 @@ case 'i': case 'I': tmp = calloc(1, sizeof(fits)); - if (readfits(args->modulus, tmp, NULL)) { - free(tmp); - siril_add_idle(end_fourier_transform, args); - return GINT_TO_POINTER(1); + if (!tmp || readfits(args->modulus, tmp, NULL)) { + args->retval = 1; + goto end; } tmp1 = calloc(1, sizeof(fits)); - if (readfits(args->phase, tmp1, NULL)) { - free(tmp); - free(tmp1); - siril_add_idle(end_fourier_transform, args); - return GINT_TO_POINTER(1); + if (!tmp1 || readfits(args->phase, tmp1, NULL)) { + args->retval = 1; + goto end; } if (tmp->dft.ord[0] == 'C') // CENTERED - args->type_order = 0; + args->type_order = TYPE_CENTERED; else if (tmp->dft.ord[0] == 'R') // REGULAR - args->type_order = 1; + args->type_order = TYPE_REGULAR; else { - free(tmp); - free(tmp1); + args->retval = 1; siril_log_message(_("There is something wrong in your files\n")); - siril_add_idle(end_fourier_transform, args); - return GINT_TO_POINTER(1); + goto end; } - new_fit_image(&tmp2, tmp->rx, tmp->ry, tmp->naxes[2]); + new_fit_image(&tmp2, width, height, tmp->naxes[2]); for (chan = 0; chan < args->fit->naxes[2]; chan++) FFTI(tmp2, tmp, tmp1, args->type_order, chan); - new_fit_image(&args->fit, tmp->dft.rx, tmp->dft.ry, - tmp->naxes[2]); - for (chan = 0; chan < args->fit->naxes[2]; chan++) { - from[chan] = tmp2->pdata[chan]; - to[chan] = args->fit->pdata[chan]; - memcpy(to[chan], from[chan], - tmp->dft.rx * tmp->dft.ry * sizeof(WORD)); + /* We display the result on screen */ + if (copyfits(tmp2, &gfit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0)) { + args->retval = 1; + goto end; } } + +end: invalidate_stats_from_fit(args->fit); - clearfits(tmp); - clearfits(tmp1); - clearfits(tmp2); - free(tmp); - free(tmp1); - free(tmp2); + if (tmp) { clearfits(tmp); free(tmp); } + if (tmp1) { clearfits(tmp1); free(tmp1); } + if (tmp2) { clearfits(tmp2); free(tmp2); } gettimeofday(&t_end, NULL); show_time(t_start, t_end); siril_add_idle(end_fourier_transform, args); - return GINT_TO_POINTER(0); + return GINT_TO_POINTER(args->retval); } diff -Nru siril-0.9.10/src/algos/fft.h siril-0.9.11/src/algos/fft.h --- siril-0.9.10/src/algos/fft.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/fft.h 2019-05-27 09:16:07.000000000 +0000 @@ -7,15 +7,8 @@ char *type; const char *modulus, *phase; int type_order; + int retval; }; -void fft_to_spectra(fits *, fftw_complex *, double *, double *); -void fft_to_fr(fits *, fftw_complex *, double *, double *); -void change_symmetry(fits *, unsigned int, unsigned int, unsigned int *, - unsigned int *); -double normalisation_spectra(fits *, double *, double *, WORD *, WORD *, int); -void save_dft_information_in_gfit(fits *); -void FFTD(fits *, fits *, fits *, int, int); -void FFTI(fits*, fits*, fits*, int, int); gpointer fourier_transform(gpointer p); #endif diff -Nru siril-0.9.10/src/algos/gradient.c siril-0.9.11/src/algos/gradient.c --- siril-0.9.10/src/algos/gradient.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/gradient.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,528 +0,0 @@ -/* - * This file is part of Siril, an astronomy image processor. - * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) - * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) - * Reference site is https://free-astro.org/index.php/Siril - * - * Siril is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Siril is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Siril. If not, see . - */ - -#include -#include -#include -#include -#include -#include - -#include "core/siril.h" -#include "core/proto.h" -#include "gui/callbacks.h" -#include "gui/progress_and_log.h" -#include "algos/gradient.h" -#include "algos/statistics.h" -#include "registration/registration.h" // for mouse_status - -#define NPARAM_POLY4 15 // Number of parameters used with 4rd order -#define NPARAM_POLY3 10 // Number of parameters used with 3rd order -#define NPARAM_POLY2 6 // Number of parameters used with 2nd order -#define NPARAM_POLY1 3 // Number of parameters used with 1nd order - -//C contains background function -#define C(i) (gsl_vector_get(c,(i))) - -static double poly_4(gsl_vector * c, int x, int y) { - double value = C(0) * 1 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x - + C(5) * y * y + - C(6) * x * x * x + C(7) * x * x * y + C(8) * x * y * y - + C(9) * y * y * y + - C(10) * x * x * x * x + C(11) * x * x * x * y - + C(12) * x * x * y * y + C(13) * x * y * y * y - + C(14) * y * y * y * y; - - return (value < 0 ? 0.0 : value); -} - -static double poly_3(gsl_vector * c, int x, int y) { - double value = C(0) * 1 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x - + C(5) * y * y + - C(6) * x * x * x + C(7) * x * x * y + C(8) * x * y * y - + C(9) * y * y * y; - - return (value < 0 ? 0.0 : value); -} - -static double poly_2(gsl_vector * c, int x, int y) { - double value = C(0) * 1 + C(1) * x + C(2) * y + C(3) * x * x + C(4) * y * x - + C(5) * y * y; - - return (value < 0 ? 0.0 : value); -} - -static double poly_1(gsl_vector * c, int x, int y) { - double value = C(0) * 1 + C(1) * x + C(2) * y; - - return (value < 0 ? 0.0 : value); -} - - -static int buildBoxesAutomatically(gsl_vector *MatR, newBackground *bkg, int layer) { - size_t i, k; - size_t row, col, inc_row, inc_col; - size_t inc = 0; - double tmpRow, tmpCol; - double tolerance = bkg->tolerance; - double deviation = bkg->deviation; - double unbalance = bkg->unbalance; - size_t box = bkg->box, midbox = box * 0.5; - size_t boxPerRow = bkg->boxPerRow; - size_t boxPerCol = bkg->boxPerCol; - size_t height = bkg->row; - size_t width = bkg->col; - - assert(box > 0); - - bkg->NbBoxes = boxPerRow * boxPerCol; - clearSamples(); - com.grad = malloc(bkg->NbBoxes * sizeof(gradient)); - - if (((bkg->order == POLY_1) && (bkg->NbBoxes < NPARAM_POLY1)) - || ((bkg->order == POLY_2) && (bkg->NbBoxes < NPARAM_POLY2)) - || ((bkg->order == POLY_3) && (bkg->NbBoxes < NPARAM_POLY3)) - || ((bkg->order == POLY_4) && (bkg->NbBoxes < NPARAM_POLY4))) { - return -1; - } - gsl_vector *vecRow = gsl_vector_alloc(boxPerCol); - gsl_vector *vecCol = gsl_vector_alloc(boxPerRow); - - tmpRow = (double) midbox - 1.0; - tmpCol = (double) midbox - 1.0; - - for (i = 0; i < boxPerCol; i++) { - gsl_vector_set(vecRow, i, tmpRow); - tmpRow += (double) ((height - 2 * midbox) / (boxPerCol - 1)); - } - for (i = 0; i < boxPerRow; i++) { - gsl_vector_set(vecCol, i, tmpCol); - tmpCol += (double) ((width - 2 * midbox) / (boxPerRow - 1)); - } - - bkg->meshRow = gsl_vector_alloc(bkg->NbBoxes); - bkg->meshCol = gsl_vector_alloc(bkg->NbBoxes); - bkg->meshVal = gsl_vector_alloc(bkg->NbBoxes); - - for (row = 0; row < boxPerCol; row++) { - size_t start_row = round(gsl_vector_get(vecRow, row) - midbox + 1); - for (col = 0; col < boxPerRow; col++) { - double *data_box = calloc(box * box, sizeof(double)); - size_t start_col = round(gsl_vector_get(vecCol, col) - midbox + 1); - for (inc_row = 0, k = 0; inc_row < box; inc_row++) { - for (inc_col = 0; inc_col < box; inc_col++) { - data_box[k++] = gsl_vector_get(MatR, - ((size_t) start_row + inc_row) * width + start_col - + inc_col); - } - } - double sigma = gsl_stats_sd(data_box, 1, k); - gsl_sort(data_box, 1, k); - double median = gsl_stats_median_from_sorted_data(data_box, 1, k); - - for (inc_row = 0, k = 0; inc_row < box; inc_row++) { - for (inc_col = 0; inc_col < box; inc_col++) { - double current_pixel = gsl_vector_get(MatR, - (size_t) (start_row + inc_row) * width + start_col - + inc_col); - if (current_pixel > (tolerance * sigma + median)) { - gsl_vector_set(MatR, - (size_t) (start_row + inc_row) * width - + start_col + inc_col, median); - } - data_box[k++] = gsl_vector_get(MatR, - (size_t) (start_row + inc_row) * width + start_col - + inc_col); - } - } - gsl_sort(data_box, 1, k); - double value = gsl_stats_median_from_sorted_data(data_box, 1, k); - - gsl_vector_set(bkg->meshVal, inc, value); - - /* Drawing boxes */ - com.grad[inc].centre.x = gsl_vector_get(vecCol, col) + midbox; - com.grad[inc].centre.y = height - gsl_vector_get(vecRow, row) - + midbox; - gsl_vector_set(bkg->meshRow, inc, gsl_vector_get(vecRow, row)); - gsl_vector_set(bkg->meshCol, inc, gsl_vector_get(vecCol, col)); - inc++; - free(data_box); - } - } - - double *data = calloc(bkg->NbBoxes, sizeof(double)); - for (i = 0; i < bkg->NbBoxes; i++) - data[i] = gsl_vector_get(bkg->meshVal, i); - - gsl_sort(data, 1, bkg->NbBoxes); - double median = gsl_stats_median_from_sorted_data(data, 1, bkg->NbBoxes); - double sigma = gsl_stats_sd(data, 1, bkg->NbBoxes); - - for (i = 0; i < bkg->NbBoxes; i++) { - double pixel = gsl_vector_get(bkg->meshVal, i); - if (((pixel - median) / sigma > deviation) - || ((median - pixel) / sigma > (deviation * unbalance))) - gsl_vector_set(bkg->meshVal, i, -1); - com.grad[i].boxvalue[layer] = gsl_vector_get(bkg->meshVal, i); - } - free(data); - return 0; -} - -static gsl_matrix *computeBackground(newBackground *bkg) { - size_t n, i, j; - size_t inc = 0; - double chisq, pixel_value, tmpRow, tmpCol; - size_t height = bkg->row; - size_t width = bkg->col; - gsl_matrix *J, *cov; - gsl_vector *y, *w, *c; - - n = bkg->NbBoxes; - - int nbParam; - switch (bkg->order) { - case POLY_1: - nbParam = NPARAM_POLY1; - break; - case POLY_2: - nbParam = NPARAM_POLY2; - break; - case POLY_3: - nbParam = NPARAM_POLY3; - break; - case POLY_4: - default: - nbParam = NPARAM_POLY4; - } - - // J is the Jacobian - // y contains data (pixel intensity) - J = gsl_matrix_calloc(n, nbParam); - y = gsl_vector_calloc(n); - w = gsl_vector_calloc(n); - c = gsl_vector_calloc(nbParam); - cov = gsl_matrix_calloc(nbParam, nbParam); - - for (inc = 0; inc < n; inc++) { - tmpCol = gsl_vector_get(bkg->meshCol, inc); - tmpRow = gsl_vector_get(bkg->meshRow, inc); - pixel_value = gsl_vector_get(bkg->meshVal, inc); - // here, it is a bit sketchy in the sense that if there is not value to report in a box (because the threshold is too - // low for example, then I just skip the initialization of J and y. gsl automatically discard the non assigned values - // during the minimization. I tested it with Matlab and it works fine. The results agree. - if (pixel_value < 0) - continue; - - gsl_matrix_set(J, inc, 0, 1.0); - gsl_matrix_set(J, inc, 1, tmpCol); - gsl_matrix_set(J, inc, 2, tmpRow); - - if (bkg->order != POLY_1) { - gsl_matrix_set(J, inc, 3, tmpCol * tmpCol); - gsl_matrix_set(J, inc, 4, tmpCol * tmpRow); - gsl_matrix_set(J, inc, 5, tmpRow * tmpRow); - } - - if (bkg->order == POLY_3 || bkg->order == POLY_4) { - gsl_matrix_set(J, inc, 6, tmpCol * tmpCol * tmpCol); - gsl_matrix_set(J, inc, 7, tmpCol * tmpCol * tmpRow); - gsl_matrix_set(J, inc, 8, tmpCol * tmpRow * tmpRow); - gsl_matrix_set(J, inc, 9, tmpRow * tmpRow * tmpRow); - } - - if (bkg->order == POLY_4) { - gsl_matrix_set(J, inc, 10, tmpCol * tmpCol * tmpCol * tmpCol); - gsl_matrix_set(J, inc, 11, tmpCol * tmpCol * tmpCol * tmpRow); - gsl_matrix_set(J, inc, 12, tmpCol * tmpCol * tmpRow * tmpRow); - gsl_matrix_set(J, inc, 13, tmpCol * tmpRow * tmpRow * tmpRow); - gsl_matrix_set(J, inc, 14, tmpRow * tmpRow * tmpRow * tmpRow); - } - - gsl_vector_set(y, inc, pixel_value); - gsl_vector_set(w, inc, 1.0); - } - - // Must turn off error handler or it aborts on error - gsl_set_error_handler_off(); - - gsl_multifit_linear_workspace *work = gsl_multifit_linear_alloc(n, nbParam); - int status = gsl_multifit_wlinear(J, w, y, c, cov, &chisq, work); - if (status != GSL_SUCCESS) { - printf("GSL multifit error: %s\n", gsl_strerror(status)); - return NULL; - } - gsl_multifit_linear_free(work); - gsl_matrix_free(J); - gsl_vector_free(y); - gsl_vector_free(w); - gsl_vector_free(bkg->meshVal); - gsl_vector_free(bkg->meshRow); - gsl_vector_free(bkg->meshCol); - -// Calculation of the background with the same dimension that the input matrix. - gsl_matrix *bkgMatrix = gsl_matrix_alloc(height, width); - - for (i = 0; i < height; i++) { - for (j = 0; j < width; j++) { - switch (bkg->order) { - case POLY_1: - pixel_value = poly_1(c, j, i); - break; - case POLY_2: - pixel_value = poly_2(c, j, i); - break; - case POLY_3: - pixel_value = poly_3(c, j, i); - break; - case POLY_4: - default: //default should not happen - pixel_value = poly_4(c, j, i); - } - gsl_matrix_set(bkgMatrix, i, j, pixel_value); - } - } - return bkgMatrix; -} - -static int extractBackgroundAuto(fits *imgfit, fits *bkgfit, newBackground *bkg) { - size_t ndata, i, j; - WORD *buf = imgfit->pdata[bkg->layer]; - - ndata = (size_t) (imgfit->rx * imgfit->ry); - gsl_vector *MatR = gsl_vector_alloc(ndata); - - for (i = 0; i < ndata; i++) { - gsl_vector_set(MatR, i, (double) buf[i]); - } - - com.grad_nb_boxes = bkg->boxPerCol * bkg->boxPerRow; - com.grad_size_boxes = bkg->box; - - if (buildBoxesAutomatically(MatR, bkg, bkg->layer)) - return 1; // not enough samples - gsl_vector_free(MatR); - - gsl_matrix *bkgMatrix = computeBackground(bkg); - if (bkgMatrix == NULL) { - return 1; - } - - WORD *tbuf = bkgfit->pdata[bkg->layer]; - for (i = 0; i < bkg->row; i++) { - for (j = 0; j < bkg->col; j++) - *tbuf++ = (WORD) gsl_matrix_get(bkgMatrix, i, j); - } - - siril_log_message(_("Channel #%d: background extraction done.\n"), bkg->layer); - gsl_matrix_free(bkgMatrix); - invalidate_stats_from_fit(imgfit); - return 0; -} - -static int extractBackgroundManual(fits *imgfit, fits *bkgfit, newBackground *bkg) { - gsl_matrix *bkgMatrix; - size_t i, j; - - int n = bkg->NbBoxes = com.grad_nb_boxes; - - if (((bkg->order == POLY_1) && (n < NPARAM_POLY1)) - || ((bkg->order == POLY_2) && (n < NPARAM_POLY2)) - || ((bkg->order == POLY_3) && (n < NPARAM_POLY3)) - || ((bkg->order == POLY_4) && (n < NPARAM_POLY4))) { - return -1; - } - - bkg->meshRow = gsl_vector_alloc(n); - bkg->meshCol = gsl_vector_alloc(n); - bkg->meshVal = gsl_vector_alloc(n); - - for (i = 0; i < n; i++) { - gsl_vector_set(bkg->meshRow, i, - imgfit->ry - com.grad[i].centre.y + (bkg->box * 0.5)); - gsl_vector_set(bkg->meshCol, i, - com.grad[i].centre.x - (bkg->box * 0.5)); - gsl_vector_set(bkg->meshVal, i, com.grad[i].boxvalue[bkg->layer]); - } - - bkgMatrix = computeBackground(bkg); - if (bkgMatrix == NULL) { - return 1; - } - - WORD *tbuf = bkgfit->pdata[bkg->layer]; - for (i = 0; i < bkg->row; i++) { - for (j = 0; j < bkg->col; j++) - *tbuf++ = (WORD) gsl_matrix_get(bkgMatrix, i, j); - } - - siril_log_message(_("Channel #%d: background extraction done.\n"), bkg->layer); - gsl_matrix_free(bkgMatrix); - invalidate_stats_from_fit(imgfit); - return 0; -} - -void clearSamples() { - if (com.grad) { - free(com.grad); - com.grad = NULL; - } -} - -void bkgExtractBackground(fits *fit, gboolean automatic) { - int layer; - struct timeval t_start, t_end; - GtkComboBox *comboBkgPolyOrder; - GtkSpinButton *spinBkgSizeBox, *spinBkgInterval, *spinBkgTolerance; - GtkSpinButton *spinBkgDeviation, *spinBkgUnbalance; - newBackground bkg; - - comboBkgPolyOrder = GTK_COMBO_BOX(gtk_builder_get_object(builder, "combo_polyorder")); - spinBkgSizeBox = GTK_SPIN_BUTTON(lookup_widget("spinbutton_bkg_sizebox")); - /* Automatic mode */ - spinBkgInterval = GTK_SPIN_BUTTON(lookup_widget("spinbutton_bkg_Box_sep")); - spinBkgTolerance = GTK_SPIN_BUTTON(lookup_widget("spinbutton_bkg_tolerance")); - spinBkgDeviation = GTK_SPIN_BUTTON(lookup_widget("spinbutton_bkg_deviation")); - spinBkgUnbalance = GTK_SPIN_BUTTON(lookup_widget("spinbutton_bkg_unbalance")); - - siril_log_color_message(_("Background extraction: processing...\n"), "red"); - gettimeofday(&t_start, NULL); - - bkg.order = gtk_combo_box_get_active(comboBkgPolyOrder); - bkg.box = (size_t) gtk_spin_button_get_value(spinBkgSizeBox) * 2; - bkg.row = (size_t) gfit.ry; - bkg.col = (size_t) gfit.rx; - - copyfits(&gfit, fit, CP_ALLOC | CP_FORMAT, -1); - - for (layer = 0; layer < com.uniq->nb_layers; layer++) { - bkg.layer = layer; - if (automatic) { - int interval = (size_t) gtk_spin_button_get_value(spinBkgInterval); - - bkg.tolerance = gtk_spin_button_get_value(spinBkgTolerance); - bkg.deviation = gtk_spin_button_get_value(spinBkgDeviation); - bkg.unbalance = gtk_spin_button_get_value(spinBkgUnbalance); - - bkg.boxPerRow = (size_t) ((double) bkg.col / ((double) bkg.box + interval - 1)); - bkg.boxPerCol = (size_t) ((double) bkg.row / ((double) bkg.box + interval - 1)); - - if (extractBackgroundAuto(&gfit, fit, &bkg)) { - siril_log_message(_("Insufficient background samples.\n")); - return; - } - } - else { - if (extractBackgroundManual(&gfit, fit, &bkg)) { - siril_log_message(_("Insufficient background samples.\n")); - return; - } - } - } - gtk_widget_set_sensitive(lookup_widget("frame_bkg_tools"), TRUE); - gtk_widget_set_sensitive(lookup_widget("button_bkg_correct"), TRUE); - - gettimeofday(&t_end, NULL); - show_time(t_start, t_end); -} - -static void remove_pixel(double *arr, int i, int N) { - memmove(&arr[i], &arr[i + 1], (N - i - 1) * sizeof(*arr)); -} - -double get_value_from_box(fits *fit, point box, size_t size, int layer) { - double value = -1.0; - double sigma, median; - int i, j, stridefrom, data; - WORD *from; - rectangle area; - memset(&area, 0, sizeof(rectangle)); - double *databox = calloc(size * size, sizeof(double)); - - area.w = area.h = size; - area.x = box.x - size / 2.0; - area.y = box.y - size / 2.0; - - data = size * size; - - // create the matrix with values from the selected rectangle - from = fit->pdata[layer] + (fit->ry - area.y - area.h) * fit->rx - + area.x; - stridefrom = fit->rx - area.w; - - for (i = 0; i < size; i++) { - for (j = 0; j < size; j++) { - databox[j + i * size] = (double) *from; - from++; - } - from += stridefrom; - } - sigma = gsl_stats_sd(databox, 1, data); - gsl_sort(databox, 1, data); - median = gsl_stats_median_from_sorted_data(databox, 1, data); - - for (i = 0; i < data; i++) { - double tmp = databox[i]; - - if (tmp > (sigma + median) || tmp < (median - sigma)) { - remove_pixel(databox, i, data); - data--; - i--; - } - } - value = gsl_stats_median_from_sorted_data(databox, 1, data); - - free(databox); - return value; -} - -void update_bkg_interface() { - static GtkToggleButton *bgkManButton = NULL; - GtkWidget *frame24 = GTK_WIDGET(lookup_widget("frame24")); - GtkWidget *frame23 = GTK_WIDGET(lookup_widget("frame23")); - GtkWidget *label44 = GTK_WIDGET(lookup_widget("label44")); - GtkWidget *spinSeparation = GTK_WIDGET(lookup_widget("spinbutton_bkg_Box_sep")); - GtkWidget *drawBoxes = GTK_WIDGET(lookup_widget("checkbutton_bkg_boxes")); - gboolean manButton; - - clearSamples(); - - if (bgkManButton == NULL) { - bgkManButton = GTK_TOGGLE_BUTTON(lookup_widget("bkgButtonManual")); - } - manButton = gtk_toggle_button_get_active(bgkManButton); - if (!manButton) { - gtk_widget_set_sensitive(frame23, TRUE); - gtk_widget_set_sensitive(frame24, TRUE); - gtk_widget_set_sensitive(label44, TRUE); - gtk_widget_set_sensitive(spinSeparation, TRUE); - gtk_widget_set_sensitive(drawBoxes, TRUE); - mouse_status = MOUSE_ACTION_SELECT_REG_AREA; - } - else { - gtk_widget_set_sensitive(frame23, FALSE); - gtk_widget_set_sensitive(frame24, FALSE); - gtk_widget_set_sensitive(label44, FALSE); - gtk_widget_set_sensitive(spinSeparation, FALSE); - gtk_widget_set_sensitive(drawBoxes, FALSE); - mouse_status = MOUSE_ACTION_DRAW_SAMPLES; - } -} diff -Nru siril-0.9.10/src/algos/gradient.h siril-0.9.11/src/algos/gradient.h --- siril-0.9.10/src/algos/gradient.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/gradient.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -#ifndef GRAD_H -#define GRAD_H - -#include - -#define NB_MAX_OF_SAMPLES 2000 - -typedef struct { - size_t row, col; - size_t box; - size_t NbBoxes; - size_t boxPerRow; - size_t boxPerCol; - double tolerance; - double deviation; - double unbalance; - gsl_vector *meshVal; /* mean of the pixel intensity in the box. Pixels above threshold are rejected of the mean calcul */ - gsl_vector *meshCol; /* column coordinates of the box center */ - gsl_vector *meshRow; /* row coordinates of the box center */ - poly_order order; - int layer; -} newBackground; - -void clearSamples(); -void bkgExtractBackground(fits *fit, gboolean automatic); -double get_value_from_box(fits *fit, point box, size_t size, int layer); -void update_bkg_interface(); - -#endif diff -Nru siril-0.9.10/src/algos/photometry.c siril-0.9.11/src/algos/photometry.c --- siril-0.9.10/src/algos/photometry.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/photometry.c 2019-05-27 09:16:07.000000000 +0000 @@ -26,6 +26,7 @@ #include "core/proto.h" #include "gui/callbacks.h" #include "gui/progress_and_log.h" +#include "gui/message_dialog.h" #include "algos/PSF.h" #include "algos/photometry.h" @@ -36,14 +37,6 @@ #define epsilon(x) 0.00000001 #define maxit 50 #define min_sky 5 -#define lo_data 0.0 -#define hi_data USHRT_MAX_DOUBLE - -static void initializeParam() { - com.phot_set.inner = 20; - com.phot_set.outer = 30; - com.phot_set.gain = 2.3; -} static double hampel(double x) { if (x >= 0) { @@ -190,10 +183,10 @@ return 0; } -static photometry *phot_alloc(size_t size) { +static photometry *phot_alloc() { photometry *phot; - phot = (photometry*) calloc((unsigned) size * sizeof(photometry), 1); + phot = (photometry*) calloc(sizeof(photometry), 1); if (phot == NULL) { printf("photometry: memory error\n"); } @@ -231,8 +224,16 @@ return fmin(9.999, 1.0857 * sqrt(err1 + err2 + err3) / intensity); } +static int lo_data() { + return com.phot_set.minval; +} + +static int hi_data() { + return com.phot_set.maxval; +} + /* Function that compute all photometric data. The result must be freed */ -photometry *getPhotometryData(gsl_matrix* z, fitted_PSF *psf) { +photometry *getPhotometryData(gsl_matrix* z, fitted_PSF *psf, gboolean verbose) { int width = z->size2; int height = z->size1; int n_sky = 0, ret; @@ -242,17 +243,22 @@ double apmag = 0.0, mean = 0.0, stdev = 0.0, area = 0.0; double signalIntensity; double *data; + gboolean valid = TRUE; photometry *phot; xc = psf->x0 - 1; yc = psf->y0 - 1; + if ((xc <= 0.0) || (yc <= 0.0)) return NULL; + r1 = getInnerRadius(); r2 = getOuterRadius(); - appRadius = sqrt(psf->sx / 2.0) * 2 * sqrt(log(2.0) * 2) + 0.5; + appRadius = psf->sx / 2.0; if (appRadius >= r1) { - /* Translator note: radii is plural for radius */ - siril_log_message(_("Inner and outer radii are too small. Please update values in setting box.\n")); + if (verbose) { + /* Translator note: radii is plural for radius */ + siril_log_message(_("Inner and outer radii are too small. Please update values in setting box.\n")); + } return NULL; } @@ -280,7 +286,7 @@ for (x = x1; x <= x2; ++x) { r = yp + (x - xc) * (x - xc); double pixel = gsl_matrix_get(z, y, x); - if (pixel > lo_data && pixel < hi_data) { + if (pixel > lo_data() && pixel < hi_data()) { double f = (r < rmin_sq ? 1 : appRadius - sqrt(r) + 0.5); if (f >= 0) { area += f; @@ -291,6 +297,8 @@ data[n_sky] = pixel; n_sky++; } + } else { + valid = FALSE; } } } @@ -298,10 +306,11 @@ free(data); return NULL; } - if (n_sky < min_sky) { - siril_log_message(_("Warning: There aren't enough pixels" - " in the sky annulus. You need to make a larger selection.\n")); + if (verbose) { + siril_log_message(_("Warning: There aren't enough pixels" + " in the sky annulus. You need to make a larger selection.\n")); + } free(data); return NULL; } @@ -312,24 +321,62 @@ return NULL; } - phot = phot_alloc(1); + phot = phot_alloc(); if (phot) { signalIntensity = apmag - (area * mean); + phot->mag = getMagnitude(signalIntensity); phot->s_mag = getMagErr(signalIntensity, area, n_sky, stdev); + phot->valid = valid; } free(data); return phot; } +void initialize_photometric_param() { + com.phot_set.inner = 20; + com.phot_set.outer = 30; + com.phot_set.gain = 2.3; + com.phot_set.minval = 0; + com.phot_set.maxval = 65535; +} + void on_button_reset_photometry_clicked(GtkButton *button, gpointer user_data) { double tmp; - initializeParam(); + initialize_photometric_param(); tmp = gfit.cvf; gfit.cvf = 0.0; set_GUI_photometry(); gfit.cvf = tmp; } +void on_spinInner_value_changed(GtkSpinButton *inner, gpointer user_data) { + GtkSpinButton *outer; + double in, out; + + outer = GTK_SPIN_BUTTON(lookup_widget("spinOuter")); + in = gtk_spin_button_get_value(inner); + out = gtk_spin_button_get_value(outer); + + if (in >= out) { + siril_message_dialog(GTK_MESSAGE_ERROR, _("Wrong value"), + _("Inner radius value must be less than outer. Please change the value.")); + } +} + +void on_spinOuter_value_changed(GtkSpinButton *outer, gpointer user_data) { + GtkSpinButton *inner; + double in, out; + + inner = GTK_SPIN_BUTTON(lookup_widget("spinInner")); + in = gtk_spin_button_get_value(inner); + out = gtk_spin_button_get_value(outer); + + if (in >= out) { + siril_message_dialog(GTK_MESSAGE_ERROR, _("Wrong value"), + _("Inner radius value must be less than outer. Please change the value.")); + } +} + diff -Nru siril-0.9.10/src/algos/photometry.h siril-0.9.11/src/algos/photometry.h --- siril-0.9.10/src/algos/photometry.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/photometry.h 2019-05-27 09:16:07.000000000 +0000 @@ -6,9 +6,11 @@ struct photometry_struct { double mag; // magnitude double s_mag; // magnitude uncertainty + gboolean valid; // TRUE if no pixel outside of the range }; typedef struct photometry_struct photometry; -photometry *getPhotometryData(gsl_matrix* z, fitted_PSF *psf); +photometry *getPhotometryData(gsl_matrix* z, fitted_PSF *psf, gboolean verbose); +void initialize_photometric_param(); #endif /* SRC_ALGOS_PHOTOMETRY_H_ */ diff -Nru siril-0.9.10/src/algos/plateSolver.c siril-0.9.11/src/algos/plateSolver.c --- siril-0.9.10/src/algos/plateSolver.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/plateSolver.c 2019-05-27 09:16:07.000000000 +0000 @@ -36,6 +36,7 @@ #include "core/processing.h" #include "gui/callbacks.h" #include "gui/progress_and_log.h" +#include "gui/photometric_cc.h" #ifdef HAVE_LIBCURL @@ -66,6 +67,32 @@ static GtkListStore *list_IPS = NULL; static image_solved is_result; +static void initialize_ips_dialog() { + GtkWidget *button_ips_ok, *button_cc_ok, *catalog_label, *catalog_box, + *catalog_auto, *frame_cc_bkg, *frame_cc_norm; + GtkWindow *parent; + + button_ips_ok = lookup_widget("buttonIPS_ok"); + button_cc_ok = lookup_widget("button_cc_ok"); + catalog_label = lookup_widget("GtkLabelCatalog"); + catalog_box = lookup_widget("ComboBoxIPSCatalog"); + catalog_auto = lookup_widget("GtkCheckButton_OnlineCat"); + frame_cc_bkg = lookup_widget("frame_cc_background"); + frame_cc_norm = lookup_widget("frame_cc_norm"); + + parent = GTK_WINDOW(lookup_widget("ImagePlateSolver_Dial")); + + gtk_widget_set_visible(button_ips_ok, TRUE); + gtk_widget_set_visible(button_cc_ok, FALSE); + gtk_widget_set_visible(catalog_label, TRUE); + gtk_widget_set_visible(catalog_box, TRUE); + gtk_widget_set_visible(catalog_auto, TRUE); + gtk_widget_set_visible(frame_cc_bkg, FALSE); + gtk_widget_set_visible(frame_cc_norm, FALSE); + + gtk_window_set_title(parent, _("Image Plate Solver")); +} + static RA convert_ra(double var) { RA ra; ra.hour = (int)(var / 15.0); @@ -123,7 +150,7 @@ double decS; if (var < 0) { - fprintf(stdout, "fov_in_DHMS: negative value, should not happend\n"); + fprintf(stdout, "fov_in_DHMS: negative value, should not happened\n"); return; } deg = (int) var; @@ -146,16 +173,13 @@ nargs = g_strv_length(token); while (i < nargs) { - if (g_strrstr (token[i], "NED")) { + if (g_strrstr (token[i], "=NED")) { resolver = RESOLVER_NED; - } - else if (g_strrstr (token[i], "Simbad")) { + } else if (g_strrstr (token[i], "=Simbad")) { resolver = RESOLVER_SIMBAD; - } - else if (g_strrstr(token[i], "VizieR")) { + } else if (g_strrstr(token[i], "=VizieR")) { resolver = RESOLVER_VIZIER; - } - else if (g_str_has_prefix (token[i], "%J ")) { + } else if (g_str_has_prefix (token[i], "%J ")) { fields = g_strsplit(token[i], " ", -1); sscanf(fields[1], "%lf", ¢er.x); sscanf(fields[2], "%lf", ¢er.y); @@ -171,8 +195,7 @@ platedObject[resolver].south = (center.y < 0.0); } g_strfreev(fields); - } - else if (g_str_has_prefix (token[i], "%I.0 ")) { + } else if (g_str_has_prefix (token[i], "%I.0 ")) { if (resolver != -1) { gchar *name = g_strstr_len(token[i], strlen(token[i]), "%I.0 "); gchar *realname; @@ -298,7 +321,7 @@ gchar *mag; gchar *fov; - coordinates = g_strdup_printf("%lf+%lf", center.x, center.y); + coordinates = g_strdup_printf("%f+%f", center.x, center.y); mag = g_strdup_printf("%2.2lf", mag_limit); fov = g_strdup_printf("%2.1lf", dfov / 2); @@ -409,7 +432,7 @@ static char *fetch_url(const char *url) { struct ucontent *content = malloc(sizeof(struct ucontent)); - char *result; + char *result, *error; long code; int retries; unsigned int s; @@ -456,7 +479,8 @@ break; default: - printf("Fetch failed with code %ld for URL %s\n", code, url); + error = siril_log_message("Fetch failed with code %ld for URL %s\n", code, url); + siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), error); } } @@ -644,7 +668,7 @@ pixel = gfit.pixel_size_x > gfit.pixel_size_y ? gfit.pixel_size_x : gfit.pixel_size_y; if (pixel > 0.0) { - cpixels = g_strdup_printf("%1.2lf", pixel); + cpixels = g_strdup_printf("%.2lf", pixel); gtk_entry_set_text(entry, cpixels); g_free(cpixels); } @@ -658,7 +682,7 @@ focal = gfit.focal_length; if (focal > 0.0) { - cfocal = g_strdup_printf("%.3lf", focal); + cfocal = g_strdup_printf("%.1lf", focal); gtk_entry_set_text(entry, cfocal); g_free(cfocal); } @@ -693,6 +717,8 @@ gfit.wcs.equinox = 2000; deg_to_HMS(image.ra, "ra", gfit.wcs.objctra); deg_to_HMS(image.dec, "dec", gfit.wcs.objctdec); + gfit.wcs.cdelt1 = gfit.wcs.cdelt2 = image.resolution / 3600.0; + gfit.wcs.crota1 = gfit.wcs.crota2 = image.crota; } static void print_platesolving_results(Homography H, image_solved image) { @@ -703,13 +729,6 @@ char field_x[256] = { 0 }; char field_y[256] = { 0 }; - /* first we do not forget that we read data bottom to up .... - * So we need to do that in order to display data in the right orientation - */ - H.h10 = -H.h10; - H.h11 = -H.h11; - H.h12 = -H.h12; - /* Matching information */ siril_log_message(_("%d pair matches.\n"), H.pair_matched); inliers = 1.0 - ((((double) H.pair_matched - (double) H.Inliers)) / (double) H.pair_matched); @@ -723,17 +742,25 @@ /* rotation */ rotation = atan2(H.h00 + H.h01, H.h10 + H.h11) * 180 / M_PI + 135.0; - det = (H.h00 * H.h11 - H.h01 * H.h10); // determinant of rotation matrix (ac - bd) + det = (H.h00 * H.h11 - H.h01 * H.h10); // determinant of rotation matrix (ad - bc) /* If the determinant of the top-left 2x2 rotation matrix is > 0 * the transformation is orientation-preserving. */ + if (det < 0) rotation = -90 - rotation; - rotation = - rotation; if (rotation < -180) rotation += 360; if (rotation > 180) rotation -= 360; siril_log_message(_("Rotation:%+*.2lf deg %s\n"), 12, rotation, det < 0 ? _("(flipped)") : ""); + + /* set CROTA */ + image.crota = rotation - 180.0; + if (image.crota < -180) + image.crota += 360; + if (image.crota > 180) + image.crota -= 360; + image.focal = RADCONV * image.pixel_size / image.resolution; image.fov.x = get_fov(image.resolution, image.px_size.x); @@ -751,7 +778,7 @@ update_gfit(image); } -static int read_NOMAD_catalog(FILE *catalog, fitted_PSF **cstars, int shift_y) { +static int read_NOMAD_catalog(FILE *catalog, fitted_PSF **cstars) { char line[LINELEN]; fitted_PSF *star; @@ -773,7 +800,7 @@ star = malloc(sizeof(fitted_PSF)); star->xpos = x; - star->ypos = -y + shift_y; // shift_y is here because in get_stars of misc.c we have "image_size.y - s[i]->ypos" + star->ypos = y; star->mag = Vmag; star->BV = n < 5 ? -99.9 : Bmag - Vmag; cstars[i] = star; @@ -785,7 +812,7 @@ return i; } -static int read_TYCHO2_catalog(FILE *catalog, fitted_PSF **cstars, int shift_y) { +static int read_TYCHO2_catalog(FILE *catalog, fitted_PSF **cstars) { char line[LINELEN]; fitted_PSF *star; @@ -807,7 +834,7 @@ star = malloc(sizeof(fitted_PSF)); star->xpos = x; - star->ypos = -y + shift_y; + star->ypos = y; star->mag = Vmag; star->BV = n < 5 ? -99.9 : Bmag - Vmag; cstars[i] = star; @@ -819,7 +846,7 @@ return i; } -static int read_GAIA_catalog(FILE *catalog, fitted_PSF **cstars, int shift_y) { +static int read_GAIA_catalog(FILE *catalog, fitted_PSF **cstars) { char line[LINELEN]; fitted_PSF *star; @@ -841,7 +868,7 @@ star = malloc(sizeof(fitted_PSF)); star->xpos = x; - star->ypos = -y + shift_y; + star->ypos = y; star->mag = Gmag; star->BV = -99.9; cstars[i] = star; @@ -853,7 +880,7 @@ return i; } -static int read_PPMXL_catalog(FILE *catalog, fitted_PSF **cstars, int shift_y) { +static int read_PPMXL_catalog(FILE *catalog, fitted_PSF **cstars) { char line[LINELEN]; fitted_PSF *star; @@ -875,9 +902,9 @@ star = malloc(sizeof(fitted_PSF)); star->xpos = x; - star->ypos = -y + shift_y; + star->ypos = y; star->mag = Jmag; - star->BV = -99; + star->BV = -99.9; cstars[i] = star; cstars[i + 1] = NULL; i++; @@ -887,8 +914,7 @@ return i; } -static int read_BRIGHT_STARS_catalog(FILE *catalog, fitted_PSF **cstars, - int shift_y) { +static int read_BRIGHT_STARS_catalog(FILE *catalog, fitted_PSF **cstars) { char line[LINELEN]; fitted_PSF *star; @@ -910,7 +936,7 @@ star = malloc(sizeof(fitted_PSF)); star->xpos = x; - star->ypos = -y + shift_y; + star->ypos = y; star->mag = Vmag; star->BV = BV; cstars[i] = star; @@ -923,20 +949,19 @@ } -static int read_catalog(FILE *catalog, fitted_PSF **cstars, int shift_y, - int type) { +static int read_catalog(FILE *catalog, fitted_PSF **cstars, int type) { switch (type) { default: case TYCHO2: - return read_TYCHO2_catalog(catalog, cstars, shift_y); + return read_TYCHO2_catalog(catalog, cstars); case NOMAD: - return read_NOMAD_catalog(catalog, cstars, shift_y); + return read_NOMAD_catalog(catalog, cstars); case GAIA: - return read_GAIA_catalog(catalog, cstars, shift_y); + return read_GAIA_catalog(catalog, cstars); case PPMXL: - return read_PPMXL_catalog(catalog, cstars, shift_y); + return read_PPMXL_catalog(catalog, cstars); case BRIGHT_STARS: - return read_BRIGHT_STARS_catalog(catalog, cstars, shift_y); + return read_BRIGHT_STARS_catalog(catalog, cstars); } } @@ -960,10 +985,10 @@ double var1 = fabs(trans.b / trans.f); double var2 = fabs(trans.c / trans.e); - siril_debug_print("abs(b/f)=%lf et abs(c/e)=%lf\n", var1, var2); + siril_debug_print("abs(b/f)=%f et abs(c/e)=%f\n", var1, var2); - if (0.9 < var1 && var1 < 1.1) { - if (0.9 < var2 && var2 < 1.1) { + if (0.8 < var1 && var1 < 1.2) { + if (0.8 < var2 && var2 < 1.2) { ok = TRUE; } } @@ -992,11 +1017,15 @@ DEC Dec; update_image_parameters_GUI(); + set_GUI_CAMERA(); ra = convert_ra(is_result.ra); Dec = convert_dec(is_result.dec); update_coordinates(ra, Dec, is_result.dec < 0.0); control_window_switch_to_tab(OUTPUT_LOGS); + if (args->for_photometry_cc) { + apply_photometric_cc(); + } } g_free(args->catalogStars); g_free(args->message); @@ -1005,11 +1034,11 @@ return FALSE; } -static gpointer match_catalog(gpointer p) { +gpointer match_catalog(gpointer p) { struct plate_solver_data *args = (struct plate_solver_data *) p; FILE *catalog; fitted_PSF **cstars; - int n_fit, n_cat, n, i = 0; + int n_fit = 0, n_cat = 0, n = 0, i = 0; int attempt = 1; point image_size = { args->fit->rx, args->fit->ry }; Homography H = { 0 }; @@ -1025,7 +1054,7 @@ } n_fit = i; } - if (n_fit < AT_MATCH_STARTN_LINEAR) { + if (!com.stars || n_fit < AT_MATCH_STARTN_LINEAR) { args->message = g_strdup_printf(_("There are not enough stars picked in the image. " "At least %d stars are needed."), AT_MATCH_STARTN_LINEAR); siril_log_message("%s\n", args->message); @@ -1036,7 +1065,7 @@ cstars = malloc((MAX_STARS + 1) * sizeof(fitted_PSF *)); if (cstars == NULL) { - printf("Memory allocation failed: peaker\n"); + PRINT_ALLOC_ERR; args->ret = 1; siril_add_idle(end_plate_solver, args); return GINT_TO_POINTER(1); @@ -1045,14 +1074,13 @@ /* open the file */ catalog = g_fopen(args->catalogStars, "r"); if (catalog == NULL) { - fprintf(stderr, "match_catalog: error opening file: %s\n", args->catalogStars); + PRINT_ALLOC_ERR; free(cstars); args->ret = 1; siril_add_idle(end_plate_solver, args); return GINT_TO_POINTER(1); } - - n_cat = read_catalog(catalog, cstars, image_size.y, args->onlineCatalog); + n_cat = read_catalog(catalog, cstars, args->onlineCatalog); /* make sure that arrays are not too small * make sure that the max of stars is BRIGHTEST_STARS */ @@ -1062,7 +1090,7 @@ args->ret = 1; while (args->ret && attempt < NB_OF_MATCHING_TRY){ args->ret = new_star_match(com.stars, cstars, n, nobj, - args->scale - 0.2, args->scale + 0.2, &H, image_size); + args->scale - 0.2, args->scale + 0.2, &H, args->for_photometry_cc); nobj += 50; attempt++; } @@ -1131,7 +1159,7 @@ set_cursor_waiting(TRUE); - name = g_strdup(object); + name = g_utf8_strup(object, -1); /* Removes leading and trailing whitespace */ name = g_strstrip(name); /* replace whitespaces by %20 for html purposes */ @@ -1157,26 +1185,11 @@ } static void start_image_plate_solve() { - struct plate_solver_data *args = malloc(sizeof(struct plate_solver_data)); set_cursor_waiting(TRUE); - double fov, px_size, scale, m; - point catalog_center; - - px_size = get_pixel(); - scale = get_resolution(get_focal(), px_size); - fov = get_fov(scale, gfit.ry > gfit.rx ? gfit.ry : gfit.rx); - m = get_mag_limit(fov); - catalog_center = get_center_of_catalog(); - - /* Filling structure */ - args->onlineCatalog = get_online_catalog(fov, m); - args->catalogStars = download_catalog(args->onlineCatalog, catalog_center, fov, m); - args->scale = scale; - args->pixel_size = px_size; - args->manual = is_detection_manual(); - args->fit = &gfit; + args->for_photometry_cc = FALSE; + fill_plate_solver_structure(args); start_in_new_thread(match_catalog, args); } @@ -1189,8 +1202,34 @@ update_resolution_field(); } +void on_GtkEntry_IPS_insert_text(GtkEntry *entry, const gchar *text, gint length, + gint *position, gpointer data) { + GtkEditable *editable = GTK_EDITABLE(entry); + int i, count = 0; + + gchar *result = g_strndup(text, length); + + for (i = 0; i < length; i++) { + if (!g_ascii_isdigit(text[i]) && text[i] != '.') + continue; + result[count++] = text[i]; + } + + if (count > 0) { + g_signal_handlers_block_by_func(G_OBJECT (editable), + G_CALLBACK (on_GtkEntry_IPS_insert_text), data); + gtk_editable_insert_text(editable, result, count, position); + g_signal_handlers_unblock_by_func(G_OBJECT (editable), + G_CALLBACK (on_GtkEntry_IPS_insert_text), data); + } + g_signal_stop_emission_by_name(G_OBJECT(editable), "insert_text"); + + g_free(result); +} + void on_menuitem_IPS_activate(GtkMenuItem *menuitem, gpointer user_data) { - gtk_widget_show_all(lookup_widget("ImagePlateSolver_Dial")); + initialize_ips_dialog(); + gtk_widget_show(lookup_widget("ImagePlateSolver_Dial")); } void on_buttonIPS_close_clicked(GtkButton *button, gpointer user_data) { @@ -1269,13 +1308,33 @@ combobox = lookup_widget("ComboBoxIPSCatalog"); gtk_widget_set_sensitive(combobox, !gtk_toggle_button_get_active(button)); } -#endif /****** * * Public functions */ +void fill_plate_solver_structure(struct plate_solver_data *args) { + double fov, px_size, scale, m; + point catalog_center; + + px_size = get_pixel(); + scale = get_resolution(get_focal(), px_size); + fov = get_fov(scale, gfit.ry > gfit.rx ? gfit.ry : gfit.rx); + m = get_mag_limit(fov); + catalog_center = get_center_of_catalog(); + + /* Filling structure */ + args->onlineCatalog = args->for_photometry_cc ? NOMAD : get_online_catalog(fov, m); + args->catalogStars = download_catalog(args->onlineCatalog, catalog_center, fov, m); + args->scale = scale; + args->pixel_size = px_size; + args->manual = is_detection_manual(); + args->fit = &gfit; +} + +#endif + gboolean confirm_delete_wcs_keywords(fits *fit) { gboolean erase = TRUE; @@ -1294,6 +1353,10 @@ fit->wcs.crpix2 = 0.0; fit->wcs.crval1 = 0.0; fit->wcs.crval2 = 0.0; + fit->wcs.cdelt1 = 0.0; + fit->wcs.cdelt2 = 0.0; + fit->wcs.crota1 = 0.0; + fit->wcs.crota2 = 0.0; memset(fit->wcs.objctra, 0, FLEN_VALUE); memset(fit->wcs.objctdec, 0, FLEN_VALUE); } diff -Nru siril-0.9.10/src/algos/plateSolver.h siril-0.9.11/src/algos/plateSolver.h --- siril-0.9.10/src/algos/plateSolver.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/plateSolver.h 2019-05-27 09:16:07.000000000 +0000 @@ -4,11 +4,6 @@ #include "core/siril.h" #include "registration/matching/degtorad.h" -/* multiply by this to convert degrees to radians */ -#ifndef PI -#define PI 3.14159265359 -#endif - #define BRIGHTEST_STARS 2500 #define AT_MATCH_CATALOG_NBRIGHT 60 @@ -32,10 +27,10 @@ RESOLVER_NUMBER } resolver; -/* median filter data from GUI */ struct plate_solver_data { online_catalog onlineCatalog; gchar *catalogStars; + gboolean for_photometry_cc; double scale; // scale (resolution) fits *fit; gchar *message; // error message @@ -75,9 +70,14 @@ double x, y; double ra, dec; double resolution, pixel_size, focal; + double crota; }; typedef struct image_solved_struct image_solved; +#ifdef HAVE_LIBCURL +void fill_plate_solver_structure(struct plate_solver_data *args); +gpointer match_catalog(gpointer p); +#endif gboolean confirm_delete_wcs_keywords(fits *fit); void invalidate_WCS_keywords(fits *fit); diff -Nru siril-0.9.10/src/algos/PSF.c siril-0.9.11/src/algos/PSF.c --- siril-0.9.10/src/algos/PSF.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/PSF.c 2019-05-27 09:16:07.000000000 +0000 @@ -37,13 +37,15 @@ #include "gui/progress_and_log.h" #include "algos/PSF.h" #include "algos/photometry.h" +#include "algos/sorting.h" #define MAX_ITER_NO_ANGLE 10 //Number of iteration in the minimization with no angle #define MAX_ITER_ANGLE 10 //Number of iteration in the minimization with angle -#define EPSILON 0.01 +#define EPSILON 0.001 const double radian_conversion = ((3600.0 * 180.0) / M_PI) / 1.0E3; +/* see also getMedian5x5 in algos/cosmetic_correction.c */ static WORD getMedian3x3(gsl_matrix *in, const int xx, const int yy, const int w, const int h) { int step, radius, x, y; @@ -55,19 +57,20 @@ int n = 0; int start; value = calloc(8, sizeof(double)); + for (y = yy - radius; y <= yy + radius; y += step) { for (x = xx - radius; x <= xx + radius; x += step) { - if (y >= 0 && y < h) { - if (x >= 0 && x < w) { - if ((x != xx) || (y != yy)) { - value[n++] = gsl_matrix_get(in, y, x); - } + if (y >= 0 && y < h && x >= 0 && x < w) { + // ^ limit to image bounds ^ + // v exclude centre pixel v + if (x != xx || y != yy) { + value[n++] = gsl_matrix_get(in, y, x); } } } } start = 8 - n - 1; - quicksort_d(value, 8); + quickmedian_double(value, 8); median = gsl_stats_median_from_sorted_data(value + start, 1, n); free(value); return median; @@ -402,6 +405,7 @@ psf->units = "px"; // Magnitude psf->mag = psf_get_mag(z, psf->B); + psf->phot_is_valid = FALSE; // Layer: not fitted psf->layer = layer; // RMSE @@ -430,7 +434,7 @@ * NULL if the number of parameters is => to the pixel number. * This should not happen because this case is already treated by the * minimiz_no_angle function */ -static fitted_PSF *psf_minimiz_angle(gsl_matrix* z, fitted_PSF *psf, gboolean for_photometry) { +static fitted_PSF *psf_minimiz_angle(gsl_matrix* z, fitted_PSF *psf, gboolean for_photometry, gboolean verbose) { size_t i, j; size_t NbRows = z->size1; //characteristics of the selection : height and width size_t NbCols = z->size2; @@ -524,15 +528,21 @@ psf_angle->units = "px"; // Photometry if (for_photometry) - psf_angle->phot = getPhotometryData(z, psf_angle); - else psf_angle->phot = NULL; + psf_angle->phot = getPhotometryData(z, psf_angle, verbose); + else { + psf_angle->phot = NULL; + psf_angle->phot_is_valid = FALSE; + } // Magnitude if (psf_angle->phot != NULL) { psf_angle->mag = psf_angle->phot->mag; psf_angle->s_mag = psf_angle->phot->s_mag; + psf_angle->phot_is_valid = psf_angle->phot->valid; + } else { psf_angle->mag = psf_get_mag(z, psf_angle->B); psf_angle->s_mag = 9.999; + psf_angle->phot_is_valid = FALSE; } //Layer: not fitted psf_angle->layer = psf->layer; @@ -562,7 +572,7 @@ /* Returns the largest FWHM. * The optional output parameter roundness is the ratio between the two axis FWHM */ double psf_get_fwhm(fits *fit, int layer, double *roundness) { - fitted_PSF *result = psf_get_minimisation(fit, layer, &com.selection, FALSE); + fitted_PSF *result = psf_get_minimisation(fit, layer, &com.selection, FALSE, TRUE); if (result == NULL) { *roundness = 0.0; return 0.0; @@ -579,7 +589,7 @@ * Selection rectangle is passed as third argument. * Return value is a structure, type fitted_PSF, that has to be freed after use. */ -fitted_PSF *psf_get_minimisation(fits *fit, int layer, rectangle *area, gboolean for_photometry) { +fitted_PSF *psf_get_minimisation(fits *fit, int layer, rectangle *area, gboolean for_photometry, gboolean verbose) { WORD *from; int stridefrom, i, j; fitted_PSF *result; @@ -600,7 +610,7 @@ } from += stridefrom; } - result = psf_global_minimisation(z, bg, layer, TRUE, for_photometry); + result = psf_global_minimisation(z, bg, layer, TRUE, for_photometry, verbose); if (result) fwhm_to_arcsec_if_needed(fit, &result); gsl_matrix_free(z); @@ -618,7 +628,7 @@ * The function returns NULL if values look bizarre. */ fitted_PSF *psf_global_minimisation(gsl_matrix* z, double bg, int layer, - gboolean fit_angle, gboolean for_photometry) { + gboolean fit_angle, gboolean for_photometry, gboolean verbose) { fitted_PSF *psf; // To compute good starting values, we first compute with no angle @@ -628,20 +638,24 @@ * when sx and sy are too close (star is quite round). * However, in this case we need to compute photometry if needed */ - if ((fabs(psf->sx - psf->sy) >= EPSILON)) { + if ((fabs(psf->sx - psf->sy) < EPSILON)) { // Photometry if (for_photometry) - psf->phot = getPhotometryData(z, psf); - else psf->phot = NULL; + psf->phot = getPhotometryData(z, psf, verbose); + else { + psf->phot = NULL; + psf->phot_is_valid = FALSE; + } // get Magnitude if (psf->phot != NULL) { psf->mag = psf->phot->mag; psf->s_mag = psf->phot->s_mag; + psf->phot_is_valid = psf->phot->valid; } } else { fitted_PSF *tmp_psf; - if ((tmp_psf = psf_minimiz_angle(z, psf, for_photometry)) + if ((tmp_psf = psf_minimiz_angle(z, psf, for_photometry, verbose)) == NULL) { free(psf); return NULL; @@ -652,8 +666,8 @@ } // Solve symmetry problem in order to have Sx>Sy in any case !!! if (psf->sy > psf->sx) { - swap_param(&psf->sx, &psf->sy); - swap_param(&psf->fwhmx, &psf->fwhmy); + SWAP(psf->sx, psf->sy); + SWAP(psf->fwhmx, psf->fwhmy); if (fit_angle && psf->angle != 0.0) { if (psf->angle > 0.0) psf->angle -= 90.0; diff -Nru siril-0.9.10/src/algos/PSF.h siril-0.9.11/src/algos/PSF.h --- siril-0.9.10/src/algos/PSF.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/PSF.h 2019-05-27 09:16:07.000000000 +0000 @@ -16,6 +16,7 @@ double mag; /* magnitude of the star : this parameter is not fitted but calculated with the vector G and the parameter B */ double s_mag; /* error on the magnitude */ photometry *phot; /* photometry data */ + gboolean phot_is_valid; /* valid if computed by photometry and no saturated pixel detected */ double xpos, ypos; /* position of the star in the image, not set by Minimization */ double rmse; /* RMSE of the minimization */ double BV; /* only use in BV calibration */ @@ -40,8 +41,8 @@ }; double psf_get_fwhm(fits *, int, double *); -fitted_PSF *psf_get_minimisation(fits *, int, rectangle *, gboolean); -fitted_PSF *psf_global_minimisation(gsl_matrix *, double, int, gboolean, gboolean); +fitted_PSF *psf_get_minimisation(fits *, int, rectangle *, gboolean, gboolean); +fitted_PSF *psf_global_minimisation(gsl_matrix *, double, int, gboolean, gboolean, gboolean); void psf_display_result(fitted_PSF *, rectangle *); void fwhm_to_arcsec_if_needed(fits*, fitted_PSF**); diff -Nru siril-0.9.10/src/algos/quality.c siril-0.9.11/src/algos/quality.c --- siril-0.9.10/src/algos/quality.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/quality.c 2019-05-27 09:16:07.000000000 +0000 @@ -194,7 +194,7 @@ / (subsample * subsample))); // New scheme } - //printf("dval val : %lf\n", dval); + //printf("dval val : %f\n", dval); do { subsample += QSUBSAMPLE_INC; diff -Nru siril-0.9.10/src/algos/quantize.c siril-0.9.11/src/algos/quantize.c --- siril-0.9.10/src/algos/quantize.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/quantize.c 2019-05-27 09:16:07.000000000 +0000 @@ -30,6 +30,7 @@ #include "core/proto.h" #include "core/siril.h" +#include "sorting.h" /* more than this many standard deviations from the mean is an outlier */ #define SIGMA_CLIP 5. @@ -51,8 +52,6 @@ static int FnCompare_double(const void *, const void *); -static int quick_select_int(int arr[], int n); - /*--------------------------------------------------------------------------*/ int fits_img_stats_ushort(WORD *array, /* 2 dimensional array of image pixels */ long nx, /* number of pixels in each row of the image */ @@ -102,6 +101,7 @@ *noise1 = xnoise; } + /* this following code is not used for now */ if (minvalue || maxvalue || noise2 || noise3 || noise5) { FnNoise5_ushort(array, nx, ny, nullcheck, nullvalue, &ngood, &minval, &maxval, &xnoise2, &xnoise3, &xnoise5, status); @@ -596,14 +596,14 @@ diffs3[nrows] = differences3[0]; diffs5[nrows] = differences5[0]; } else { - /* quick_select returns the median MUCH faster than using qsort */ + // quickmedian returns the median MUCH faster than using quicksort if (nvals2 > 1) { - diffs2[nrows2] = quick_select_int(differences2, nvals); + diffs2[nrows2] = quickmedian_int(differences2, nvals); nrows2++; } - diffs3[nrows] = quick_select_int(differences3, nvals); - diffs5[nrows] = quick_select_int(differences5, nvals); + diffs3[nrows] = quickmedian_int(differences3, nvals); + diffs5[nrows] = quickmedian_int(differences5, nvals); } nrows++; @@ -770,8 +770,7 @@ } else if (nrows == 1) { xnoise = diffs[0]; } else { - quicksort_d(diffs, nrows); - xnoise = (diffs[(nrows - 1) / 2] + diffs[nrows / 2]) / 2.; + xnoise = quickmedian_double (diffs, nrows); } *noise = .70710678 * xnoise; @@ -794,70 +793,3 @@ else return (0); } - -/*--------------------------------------------------------------------------*/ - -#define ELEM_SWAP(a,b) { register int t=(a);(a)=(b);(b)=t; } - -static int quick_select_int(int arr[], int n) { - int low, high; - int median; - int middle, ll, hh; - - low = 0; - high = n - 1; - median = (low + high) / 2; - for (;;) { - if (high <= low) /* One element only */ - return arr[median]; - - if (high == low + 1) { /* Two elements only */ - if (arr[low] > arr[high]) - ELEM_SWAP(arr[low], arr[high]); - return arr[median]; - } - - /* Find median of low, middle and high items; swap into position low */ - middle = (low + high) / 2; - if (arr[middle] > arr[high]) - ELEM_SWAP(arr[middle], arr[high]); - if (arr[low] > arr[high]) - ELEM_SWAP(arr[low], arr[high]); - if (arr[middle] > arr[low]) - ELEM_SWAP(arr[middle], arr[low]); - - /* Swap low item (now in position middle) into position (low+1) */ - ELEM_SWAP(arr[middle], arr[low + 1]); - - /* Nibble from each end towards middle, swapping items when stuck */ - ll = low + 1; - hh = high; - for (;;) { - do - ll++; - while (arr[low] > arr[ll]); - do - hh--; - while (arr[hh] > arr[low]); - - if (hh < ll) - break; - - ELEM_SWAP(arr[ll], arr[hh]); - } - - /* Swap middle item (in position low) back into correct position */ - ELEM_SWAP(arr[low], arr[hh]); - - /* Re-set active partition */ - if (hh <= median) - low = ll; - if (hh >= median) - high = hh - 1; - } - return 0; -} - -#undef ELEM_SWAP - -/*--------------------------------------------------------------------------*/ diff -Nru siril-0.9.10/src/algos/sorting.c siril-0.9.11/src/algos/sorting.c --- siril-0.9.10/src/algos/sorting.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/algos/sorting.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,414 @@ +#include "sorting.h" +#include +#include + +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +/* This files contains all sorting algorithms of siril. + * See src/test/sorting.c for testing and metrics. + */ + +/** + * In-place quick sort of array of double a of size n + * @param a array to sort + * @param n size of the array + */ +void quicksort_d (double *a, int n) { + if (n < 2) + return; + double pivot = a[n / 2]; + double *left = a; + double *right = a + n - 1; + register double t; + + while (left <= right) { + if (*left < pivot) { + left++; + continue; + } + if (*right > pivot) { + right--; + continue; + } + t = *left; + *left++ = *right; + *right-- = t; + } + quicksort_d(a, right - a + 1); + quicksort_d(left, a + n - left); +} + +/** + * In-place quick sort of array of WORD a of size n + * @param a array to sort + * @param n size of the array + */ +void quicksort_s (WORD *a, int n) { + if (n < 2) + return; + WORD pivot = a[n / 2]; + WORD *left = a; + WORD *right = a + n - 1; + register WORD t; + + while (left <= right) { + if (*left < pivot) { + left++; + continue; + } + if (*right > pivot) { + right--; + continue; + } + t = *left; + *left++ = *right; + *right-- = t; + } + quicksort_s(a, right - a + 1); + quicksort_s(left, a + n - left); +} + +/* quickmedian returns the median from array of length n + * Derived from the original quickselect algorithm from Hoare + * warning: data are sorted in place + * non recurssive version modified to return median value + * @param a array of WORD to search + * @param n size of the array + * @return median as double for even size average the middle two elements +*/ +double quickmedian (WORD *a, int n) { + int i; + int k = n / 2; // size to sort + int pindex; // pivot index + int left = 0; // left index + int right = n - 1; // right index + WORD pivot, tmp; + + // Use faster and robust sorting network for small size array + if (n < 9) + return sortnet_median(a, n); + + while (left < right) { //we stop when our indicies have crossed + pindex = (left + right) / 2; // pivot selection, this can be whatever + pivot = a[pindex]; + a[pindex] = a[right]; + a[right] = pivot; // SWAP(pivot,right) + + for (i = pindex = left; i < right; i++) { + if (a[i] < pivot) { // SWAP + tmp = a[pindex]; + a[pindex] = a[i]; + a[i] = tmp; + pindex++; + } + } + a[right] = a[pindex]; + a[pindex] = pivot; // SWAP + + if (pindex < k) + left = pindex + 1; + else + // pindex >= k + right = pindex; + } + return (n % 2 == 0) ? + ((double) a[k - 1] + (double) a[k]) / 2.0 : (double) a[k]; +} + +/* quickmedian_double returns the median from array of length n + * Derived from the original quickselect algorithm from Hoare + * warning: data are sorted in place + * non recurssive version modified to return median value + * @param a array of double to search + * @param n size of the array + * @return median as double for even size average the middle two elements + */ +double quickmedian_double (double *a, int n) { + int i; + int k = n / 2; // size to sort + int pindex; // pivot index + int left = 0; // left index + int right = n - 1; // right index + double pivot, tmp; + + while (left < right) { //we stop when our indicies have crossed + pindex = (left + right) / 2; // pivot selection, this can be whatever + pivot = a[pindex]; + a[pindex] = a[right]; + a[right] = pivot; // SWAP(pivot,right) + + for (i = pindex = left; i < right; i++) { + if (a[i] < pivot) { // SWAP + tmp = a[pindex]; + a[pindex] = a[i]; + a[i] = tmp; + pindex++; + } + } + a[right] = a[pindex]; + a[pindex] = pivot; // SWAP(right,j) + + if (pindex < k) + left = pindex + 1; + else + // pindex >= k + right = pindex; + } + return (n % 2 == 0) ? (a[k - 1] + a[k]) / 2 : a[k]; +} + +/* + * quickmedian_int returns the median from array of int of of length n + * Derived from original quickselect algorithm from Hoare + * @param a array to search + * @param n size of the array + * @return median as double + */ +double quickmedian_int (int *a, int n) { + int i; + int k = n / 2; // size to sort + int pindex; // pivot index + int left = 0; // left index + int right = n - 1; // right index + int pivot, tmp; + + while (left < right) { //we stop when our indicies have crossed + pindex = (left + right) / 2; // pivot selection, this can be whatever + pivot = a[pindex]; + a[pindex] = a[right]; + a[right] = pivot; // SWAP + + for (i = pindex = left; i < right; i++) { + if (a[i] < pivot) { // SWAP + tmp = a[pindex]; + a[pindex] = a[i]; + a[i] = tmp; + pindex++; + } + } + a[right] = a[pindex]; + a[pindex] = pivot; // SWAP + + if (pindex < k) + left = pindex + 1; + else + // pindex >= k + right = pindex; + } + return (n % 2 == 0) ? + ((double) a[k - 1] + (double) a[k]) / 2.0 : (double) a[k]; +} + +/* + * Optimal sorting network array of size [2,9] to retrieve median value + * (C) Emmanuel Brandt 2019-02 + * @param a array of double to sort (warning in place sorting) + * @param n size of the array to sort [2,9] + * warning in-place sorting + */ +#define sw(i,j) if(a[i] > a[j]) { register WORD t=a[i]; a[i]=a[j]; a[j]=t; } +double sortnet_median (WORD *a, int n) { + int k = n / 2; + + switch (n) { + case 1: return a[0]; break; + + case 2: sw(0,1); break; + + case 3: sw(0,1); sw(1,2); sw(0,1); break; + + case 4: sw(0,1); sw(2,3); sw(0,2); sw(1,3); sw(1,2); break; + + case 5: sw(0,1); sw(2,3); sw(1,3); sw(2,4); sw(0,2); + sw(1,4); sw(1,2); sw(3,4); sw(2,3); break; + + case 6: sw(0,1); sw(2,3); sw(4,5); sw(0,2); sw(3,5); + sw(1,4); sw(0,1); sw(2,3); sw(4,5); sw(1,2); sw(3,4); + sw(2,3); break; + + case 7: sw(1,2); sw(3,4); sw(5,6); sw(0,2); sw(4,6); sw(3,5); + sw(2,6); sw(1,5); sw(0,4); sw(2,5); sw(0,3); sw(2,4); + sw(1,3); sw(0,1); sw(2,3); sw(4,5); break; + + case 8: sw(0,1); sw(2,3); sw(4,5); sw(6,7); + sw(0,2); sw(1,3); sw(4,6); sw(5,7); + sw(1,2); sw(5,6); + sw(0,4); sw(1,5); sw(2,6); sw(3,7); + sw(2,4); sw(3,5); + sw(1,2); sw(3,4); sw(5,6); break; + + case 9: sw(1,8); sw(2,7); sw(3,6); sw(4,5); + sw(1,4); sw(5,8); + sw(0,2); sw(6,7); + sw(2,6); sw(7,8); + sw(0,3); sw(4,5); + sw(0,1); sw(3,5); sw(6,7); + sw(2,4); + sw(1,3); sw(5,7); + sw(4,6); + sw(1,2); sw(3,4); sw(5,6); sw(7,8); + sw(2,3); sw(4,5); break; + + default: return 0.0; break; // no sort + } + return (n % 2 == 0) ? (a[k - 1] + a[k]) / 2.0 : a[k]; +} +#undef sw + +/* + * Optimal sorting network [2,9] + * (C) Emmanuel Brandt 2019-02 + * @param a array of double to sort (warning in place sorting) + * @param n size of the array to sort [2,9] + * warning in-place sorting + */ +#define sw(i,j) if(a[i] > a[j]) { register WORD t=a[i]; a[i]=a[j]; a[j]=t; } +void sortnet (WORD *a, int n) { + + switch (n) { + case 2: sw(0,1); break; + + case 3: sw(0,1); sw(1,2); sw(0,1); break; + + case 4: sw(0,1); sw(2,3); sw(0,2); sw(1,3); sw(1,2); break; + + case 5: sw(0,1); sw(2,3); sw(1,3); sw(2,4); sw(0,2); + sw(1,4); sw(1,2); sw(3,4); sw(2,3); break; + + case 6: sw(0,1); sw(2,3); sw(4,5); sw(0,2); sw(3,5); + sw(1,4); sw(0,1); sw(2,3); sw(4,5); sw(1,2); sw(3,4); + sw(2,3); break; + + case 7: sw(1,2); sw(3,4); sw(5,6); sw(0,2); sw(4,6); sw(3,5); + sw(2,6); sw(1,5); sw(0,4); sw(2,5); sw(0,3); sw(2,4); + sw(1,3); sw(0,1); sw(2,3); sw(4,5); break; + + case 8: sw(0,1); sw(2,3); sw(4,5); sw(6,7); + sw(0,2); sw(1,3); sw(4,6); sw(5,7); + sw(1,2); sw(5,6); + sw(0,4); sw(1,5); sw(2,6); sw(3,7); + sw(2,4); sw(3,5); + sw(1,2); sw(3,4); sw(5,6); break; + + case 9: sw(1,8); sw(2,7); sw(3,6); sw(4,5); + sw(1,4); sw(5,8); + sw(0,2); sw(6,7); + sw(2,6); sw(7,8); + sw(0,3); sw(4,5); + sw(0,1); sw(3,5); sw(6,7); + sw(2,4); + sw(1,3); sw(5,7); + sw(4,6); + sw(1,2); sw(3,4); sw(5,6); sw(7,8); + sw(2,3); sw(4,5); break; + + default: break; // no sort + } +} +#undef sw + +/* + * Histogram median for very large array of unsigned short + * (C) Emmanuel Brandt 2019-02 + * @param a array of unsigned short to search + * @param n size of the array + * @return median as a double (for n odd) + * Use temp storage h to build the histogram. Complexity O(2*N) + */ +double histogram_median(WORD *a, int n) { + // For arrays n < 10 histogram is use fast and simple sortnet_median + if (n < 10) + return sortnet_median(a, n); + + unsigned int i, j, k = n / 2; + size_t s = sizeof(unsigned int); + unsigned int *h = (unsigned int *) calloc(USHRT_MAX + 1, s); + + for (i = 0; i < n; i++) + h[a[i]]++; + + i = j = 0; + if (n % 2 == 0) { + for (; h[j] <= k - 1; j++) + h[j + 1] += h[j]; + i = j; + } + + for (; h[i] <= k; i++) + h[i + 1] += h[i]; + + free(h); + return (n % 2 == 0) ? (double) (i + j) / 2.0 : (double) i; +} + +/* + * Histogram median for very large array of double in [0,1] range + * (C) Emmanuel Brandt 2019-02 + * @param a array of unsigned short to search + * @param n size of the array + * @return median as a double (for n odd) + * Use temp storage h for the histogram. Complexity O(2*N) + * faster than quickmedian_double for array > 20000 + */ +double histogram_median_double(double *a, int n) { + unsigned int i, j, k = n / 2, nb_bins = 100000; + size_t s = sizeof(unsigned int); + unsigned int *h = (unsigned int *) calloc(nb_bins + 1, s); + + for (i = 0; i < n; i++) + h[(unsigned int) (a[i] * nb_bins)]++; + + i = j = 0; + if (n % 2 == 0) { + for (; h[j] <= k - 1; j++) + h[j + 1] += h[j]; + i = j; + } + + for (; h[i] <= k; i++) + h[i + 1] += h[i]; + + free(h); + return (n % 2 == 0) ? (double) (i + j) / ( 2.0 * (double) nb_bins) : (double) i / (double) nb_bins; +} + +/** + * Compares a and b like strcmp() + * @param a a gconstpointer + * @param b a gconstpointer + * @return an integer less than, equal to, or greater than zero, if a is than b . + */ +gint strcompare(gconstpointer *a, gconstpointer *b) { + gchar *collate_key1, *collate_key2; + gint result; + + const gchar *s1 = (const gchar *) a; + const gchar *s2 = (const gchar *) b; + + collate_key1 = g_utf8_collate_key_for_filename(s1, strlen(s1)); + collate_key2 = g_utf8_collate_key_for_filename(s2, strlen(s2)); + + result = g_strcmp0(collate_key1, collate_key2); + g_free(collate_key1); + g_free(collate_key2); + + return result; +} diff -Nru siril-0.9.10/src/algos/sorting.h siril-0.9.11/src/algos/sorting.h --- siril-0.9.10/src/algos/sorting.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/algos/sorting.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,25 @@ +#ifndef SORTING_H_ +#define SORTING_H_ + +#include "core/siril.h" // for types + +/* the quicksorts */ +void quicksort_d (double *a, int n); +void quicksort_s (WORD *a, int n); + +/* Quick median based on quick select */ +double quickmedian (WORD *a, int n); +double quickmedian_double(double *a, int n); +double quickmedian_int (int *a, int n); + +/* Histogram median for very large array of unsigned short */ +double histogram_median (WORD *a, int n); +double histogram_median_double (double *a, int n); + +/* Sorting netnork */ +double sortnet_median (WORD *a, int n); +void sortnet (WORD *a, int n); + +gint strcompare(gconstpointer *a, gconstpointer *b); + +#endif diff -Nru siril-0.9.10/src/algos/star_finder.c siril-0.9.11/src/algos/star_finder.c --- siril-0.9.10/src/algos/star_finder.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/star_finder.c 2019-05-27 09:16:07.000000000 +0000 @@ -39,7 +39,7 @@ #define WAVELET_SCALE 3 -static WORD Compute_threshold(fits *fit, double starfinder, int layer, WORD *norm, double *bg) { +static WORD Compute_threshold(fits *fit, double ksigma, int layer, WORD *norm, double *bg) { WORD threshold; imstats *stat; @@ -48,10 +48,12 @@ stat = statistics(NULL, -1, fit, layer, NULL, STATS_BASIC); if (!stat) { siril_log_message(_("Error: statistics computation failed.\n")); + *norm = 0; + *bg = 0.0; return 0; } - threshold = (WORD) stat->median + starfinder * (WORD) stat->sigma; - *norm = (WORD) stat->normValue; + threshold = round_to_WORD(stat->median + ksigma * stat->sigma); + *norm = (WORD)stat->normValue; *bg = stat->median; free_stats(stat); @@ -161,8 +163,8 @@ assert(nx > 0 && ny > 0); results = malloc((MAX_STARS + 1) * sizeof(fitted_PSF *)); - if (results == NULL) { - printf("Memory allocation failed: peaker\n"); + if (!results) { + PRINT_ALLOC_ERR; return NULL; } @@ -171,6 +173,10 @@ results[0] = NULL; threshold = Compute_threshold(fit, sf->sigma, layer, &norm, &bg); + if (norm == 0) { + free(results); + return NULL; + } copyfits(fit, &wave_fit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); get_wavelet_layers(&wave_fit, WAVELET_SCALE, 2, TO_PAVE_BSPLINE, layer); @@ -180,7 +186,7 @@ if (wave_image == NULL) { free(results); clearfits(&wave_fit); - fprintf(stderr, "Memory allocation failed: peaker\n"); + PRINT_ALLOC_ERR; return NULL; } for (k = 0; k < ny; k++) @@ -192,7 +198,7 @@ free(results); free(wave_image); clearfits(&wave_fit); - fprintf(stderr, "Memory allocation failed: peaker\n"); + PRINT_ALLOC_ERR; return NULL; } for (k = 0; k < ny; k++) @@ -246,16 +252,16 @@ * slows down the algorithm too much * To fit the angle, set the 4th parameter to TRUE */ fitted_PSF *cur_star = psf_global_minimisation(z, bg, layer, - FALSE, FALSE); + FALSE, FALSE, FALSE); if (cur_star) { fwhm_to_arcsec_if_needed(fit, &cur_star); if (is_star(cur_star, sf)) { - cur_star->xpos = x + cur_star->x0 - sf->radius - 1; - cur_star->ypos = y + cur_star->y0 - sf->radius; + cur_star->xpos = x + cur_star->x0 - sf->radius - 1.0; + cur_star->ypos = y + cur_star->y0 - sf->radius - 1.0; if (nbstars < MAX_STARS) { results[nbstars] = cur_star; results[nbstars + 1] = NULL; -// printf("%lf\t\t%lf\t\t%lf\n", cur_star->xpos, cur_star->ypos, cur_star->mag); +// printf("%f\t\t%f\t\t%f\n", cur_star->xpos, cur_star->ypos, cur_star->mag); nbstars++; } @@ -298,7 +304,7 @@ gboolean already_found = FALSE; *index = -1; - fitted_PSF * result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE); + fitted_PSF * result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE, TRUE); if (!result) return NULL; /* We do not check if it's matching with the "is_star()" criteria. @@ -316,8 +322,10 @@ } } else { com.stars = malloc((MAX_STARS + 1) * sizeof(fitted_PSF*)); - if (com.stars == NULL) + if (!com.stars) { + PRINT_ALLOC_ERR; return NULL; + } com.star_is_seqdata = FALSE; } @@ -387,13 +395,14 @@ free(stars); } -void FWHM_average(fitted_PSF **stars, float *FWHMx, float *FWHMy, int max) { +void FWHM_average(fitted_PSF **stars, int nb, float *FWHMx, float *FWHMy, char **units) { if (stars && stars[0]) { int i = 0; *FWHMx = 0.0f; *FWHMy = 0.0f; - while (i < max) { + *units = stars[0]->units; + while (i < nb) { *FWHMx += (float) stars[i]->fwhmx; *FWHMy += (float) stars[i]->fwhmy; i++; diff -Nru siril-0.9.10/src/algos/star_finder.h siril-0.9.11/src/algos/star_finder.h --- siril-0.9.10/src/algos/star_finder.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/star_finder.h 2019-05-27 09:16:07.000000000 +0000 @@ -10,6 +10,6 @@ void sort_stars(fitted_PSF **stars, int total); void free_fitted_stars(fitted_PSF **stars); int count_stars(fitted_PSF **stars); -void FWHM_average(fitted_PSF **stars, float *FWHMx, float *FWHMy, int max); +void FWHM_average(fitted_PSF **stars, int nb, float *FWHMx, float *FWHMy, char **units); #endif diff -Nru siril-0.9.10/src/algos/statistics.c siril-0.9.11/src/algos/statistics.c --- siril-0.9.10/src/algos/statistics.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/algos/statistics.c 2019-05-27 09:16:07.000000000 +0000 @@ -40,8 +40,11 @@ #include #include "core/siril.h" #include "core/proto.h" +#include "sorting.h" #include "statistics.h" +static void stats_set_default_values(imstats *stat); + // copies the area of an image into the memory buffer data static void select_area(fits *fit, WORD *data, int layer, rectangle *bounds) { int i, j, k = 0; @@ -59,127 +62,42 @@ } } -/* - * This Quickselect routine is based on the algorithm described in - * "Numerical recipes in C", Second Edition, - * Cambridge University Press, 1992, Section 8.5, ISBN 0-521-43108-5 - * This code by Nicolas Devillard - 1998. Public domain. - */ - -#define ELEM_SWAP_WORD(a,b) { register WORD t=(a);(a)=(b);(b)=t; } - -// warning: data is modified, sorted in-place -// removed from the static list because of the unit test -WORD siril_stats_ushort_median(WORD *arr, int n) { - int low, high; - int median; - int middle, ll, hh; - - low = 0; - high = n - 1; - median = (low + high) / 2; - for (;;) { - if (high <= low) /* One element only */ - return arr[median]; - - if (high == low + 1) { /* Two elements only */ - if (arr[low] > arr[high]) - ELEM_SWAP_WORD(arr[low], arr[high]); - return arr[median]; - } - - /* Find median of low, middle and high items; swap into position low */ - middle = (low + high) / 2; - if (arr[middle] > arr[high]) - ELEM_SWAP_WORD(arr[middle], arr[high]); - if (arr[low] > arr[high]) - ELEM_SWAP_WORD(arr[low], arr[high]); - if (arr[middle] > arr[low]) - ELEM_SWAP_WORD(arr[middle], arr[low]); - - /* Swap low item (now in position middle) into position (low+1) */ - ELEM_SWAP_WORD(arr[middle], arr[low + 1]); - - /* Nibble from each end towards middle, swapping items when stuck */ - ll = low + 1; - hh = high; - for (;;) { - do - ll++; - while (arr[low] > arr[ll]); - do - hh--; - while (arr[hh] > arr[low]); - - if (hh < ll) - break; - - ELEM_SWAP_WORD(arr[ll], arr[hh]); - } - - /* Swap middle item (in position low) back into correct position */ - ELEM_SWAP_WORD(arr[low], arr[hh]); - - /* Re-set active partition */ - if (hh <= median) - low = ll; - if (hh >= median) - high = hh - 1; - } - fprintf(stderr, "error in median, returning 0\n"); - return 0; -} - -#undef ELEM_SWAP_WORD - /* For a univariate data set X1, X2, ..., Xn, the MAD is defined as the median * of the absolute deviations from the data's median: * MAD = median (| Xi − median(X) |) */ - static double siril_stats_ushort_mad(WORD* data, const size_t stride, const size_t n, const double m) { size_t i; - double median; - WORD *tmp; + double mad; + int median = round_to_int(m); // we use it on integer data anyway + WORD *tmp = calloc(n, sizeof(WORD)); - tmp = calloc(n, sizeof(WORD)); - -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) +#pragma omp parallel for num_threads(com.max_thread) if(n > 10000) private(i) schedule(static) for (i = 0; i < n; i++) { - // We should not use floating point for that, median is WORD - const WORD delta = fabs(data[i * stride] - m); - tmp[i] = delta; + int delta = data[i * stride] - median; + tmp[i] = (WORD)abs(delta); } - median = (double)siril_stats_ushort_median(tmp, n); - free(tmp); - return median; + mad = histogram_median (tmp, n); + free(tmp); + return mad; } -/* Here this is a bit tricky. This function computes the median from sorted data - * because this function is called in IKSS where a quick select algorithm for - * finding median is very inefficient. - * However, this function is used in a function where sorting is mandatory. - */ static double siril_stats_double_mad(const double* data, const size_t stride, - const size_t n, const double m) { + const size_t n, const double median) { size_t i; - double median; - double *tmp; + double *tmp = calloc(n, sizeof(double)); + double mad; - tmp = calloc(n, sizeof(double)); - -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) +#pragma omp parallel for num_threads(com.max_thread) if(n > 10000) private(i) schedule(static) for (i = 0; i < n; i++) { - const double delta = fabs(data[i * stride] - m); - tmp[i] = delta; + tmp[i] = fabs(data[i * stride] - median); } - quicksort_d(tmp, n); - median = gsl_stats_median_from_sorted_data(tmp, stride, n); - free(tmp); - return median; + mad = histogram_median_double (tmp, n); + free(tmp); + return mad; } static double siril_stats_ushort_bwmv(const WORD* data, const size_t n, @@ -296,23 +214,25 @@ const WORD data[], const size_t stride, const size_t n) { /* finds the smallest and largest members of a dataset */ - WORD min = data[0 * stride]; - WORD max = data[0 * stride]; - size_t i; + if (n > 0 && data) { + WORD min = data[0]; + WORD max = data[0]; + size_t i; -#pragma omp parallel for num_threads(com.max_thread) schedule(static) reduction(max:max) reduction(min:min) - for (i = 0; i < n; i++) { - WORD xi = data[i * stride]; +#pragma omp parallel for num_threads(com.max_thread) schedule(static) if(n > 10000) reduction(max:max) reduction(min:min) + for (i = 0; i < n; i++) { + WORD xi = data[i * stride]; - if (xi < min) - min = xi; + if (xi < min) + min = xi; - if (xi > max) - max = xi; - } + if (xi > max) + max = xi; + } - *min_out = min; - *max_out = max; + *min_out = min; + *max_out = max; + } } /* this function tries to get the requested stats from the passed stats, @@ -345,16 +265,20 @@ data = fit->pdata[layer]; } stat->total = nx * ny; + if (stat->total == 0L) { + if (stat_is_local) free(stat); + return NULL; + } } /* Calculation of min and max */ if ((option & (STATS_MINMAX | STATS_BASIC)) && (stat->min < 0. || stat->max < 0.)) { // TODO 1.0: change to double - WORD min, max, norm; + WORD min = 0, max = 0, norm = 0; if (!data) return NULL; // not in cache, don't compute siril_debug_print("- stats %p fit %p (%d): computing minmax\n", stat, fit, layer); siril_stats_ushort_minmax(&min, &max, data, 1, stat->total); - if (max <= UCHAR_MAX) + if (fit->bitpix == BYTE_IMG) norm = UCHAR_MAX; else norm = USHRT_MAX; stat->min = (double)min; @@ -398,7 +322,7 @@ if (compute_median && stat->median < 0.) { if (!data) return NULL; // not in cache, don't compute siril_debug_print("- stats %p fit %p (%d): computing median\n", stat, fit, layer); - stat->median = (double)siril_stats_ushort_median(data, stat->ngoodpix); + stat->median = histogram_median(data, stat->ngoodpix); } /* Calculation of average absolute deviation from the median */ @@ -423,17 +347,23 @@ stat->sqrtbwmv = sqrt(bwmv); } - /* Calculation of IKSS. Only used for stacking */ + /* Calculation of IKSS. Only used for stacking normalization */ if ((option & STATS_IKSS) && (stat->location < 0. || stat->scale < 0.)) { if (!data) return NULL; // not in cache siril_debug_print("- stats %p fit %p (%d): computing ikss\n", stat, fit, layer); long i; double *newdata = malloc(stat->ngoodpix * sizeof(double)); + if (!newdata) { + if (stat_is_local) free(stat); + if (free_data) free(data); + PRINT_ALLOC_ERR; + return NULL; + } /* we convert in the [0, 1] range */ #pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) for (i = 0; i < stat->ngoodpix; i++) { - newdata[i] = (double) data[i] / stat->normValue; + newdata[i] = (double)data[i] / stat->normValue; } IKSS(newdata, stat->ngoodpix, &stat->location, &stat->scale); /* go back to the original range */ @@ -474,9 +404,11 @@ stat = statistics_internal(fit, layer, NULL, option, oldstat); if (!stat) { fprintf(stderr, "- stats failed for fit %p (%d)\n", fit, layer); - if (oldstat) - allocate_stats(&oldstat); - return NULL; + if (oldstat) { + stats_set_default_values(oldstat); + oldstat->_nb_refs--; + } + return NULL; } if (!oldstat) add_stats_to_fit(fit, layer, stat); @@ -493,8 +425,10 @@ if (fit) fprintf(stderr, "- stats failed for %d in seq (%d)\n", image_index, layer); - if (oldstat) - allocate_stats(&oldstat); + if (oldstat) { + stats_set_default_values(oldstat); + oldstat->_nb_refs--; + } return NULL; } if (!oldstat) @@ -618,8 +552,8 @@ if (fit->stats) { int layer; for (layer = 0; layer < fit->naxes[2]; layer++) { - free_stats(fit->stats[layer]); siril_debug_print("- stats %p cleared from fit (%d)\n", fit->stats[layer], layer); + free_stats(fit->stats[layer]); fit->stats[layer] = NULL; } } @@ -634,6 +568,12 @@ } } +static void stats_set_default_values(imstats *stat) { + stat->total = -1L; + stat->ngoodpix = -1L; + stat->mean = stat->avgDev = stat->median = stat->sigma = stat->bgnoise = stat->min = stat->max = stat->normValue = stat->mad = stat->sqrtbwmv = stat->location = stat->scale = -1.0; +} + /* allocates an imstat structure and initializes it with default values that * are used by the statistics() function. * Only use free_stats() to free the return value. @@ -642,10 +582,8 @@ if (stat) { if (!*stat) *stat = malloc(sizeof(imstats)); - if (!*stat) return; // OOM - (*stat)->total = -1L; - (*stat)->ngoodpix = -1L; - (*stat)->mean = (*stat)->avgDev = (*stat)->median = (*stat)->sigma = (*stat)->bgnoise = (*stat)->min = (*stat)->max = (*stat)->normValue = (*stat)->mad = (*stat)->sqrtbwmv = (*stat)->location = (*stat)->scale = -1.0; + if (!*stat) { PRINT_ALLOC_ERR; return; } // OOM + stats_set_default_values(*stat); (*stat)->_nb_refs = 1; siril_debug_print("- stats %p allocated\n", *stat); } diff -Nru siril-0.9.10/src/compositing/filters.c siril-0.9.11/src/compositing/filters.c --- siril-0.9.10/src/compositing/filters.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/compositing/filters.c 2019-05-27 09:16:07.000000000 +0000 @@ -32,7 +32,7 @@ }; int get_nb_narrow_filters() { - return sizeof(narrow_band_filters) / sizeof(narrow_filter); + return G_N_ELEMENTS(narrow_band_filters); } /* diff -Nru siril-0.9.10/src/core/command.c siril-0.9.11/src/core/command.c --- siril-0.9.10/src/core/command.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/command.c 2019-05-27 09:16:07.000000000 +0000 @@ -26,6 +26,7 @@ #include #endif #include +#include #include #include #include @@ -36,13 +37,15 @@ #include #include -#include "core/siril.h" -#include "core/command.h" -#include "core/command_def.h" -#include "core/proto.h" -#include "core/undo.h" -#include "core/initfile.h" -#include "core/processing.h" +#include "siril.h" +#include "command.h" +#include "command_def.h" +#include "proto.h" +#include "undo.h" +#include "initfile.h" +#include "preprocess.h" +#include "processing.h" +#include "sequence_filtering.h" #include "io/conversion.h" #include "io/sequence.h" #include "io/single_image.h" @@ -56,12 +59,12 @@ #include "algos/star_finder.h" #include "algos/Def_Math.h" #include "algos/Def_Wavelet.h" -#include "algos/gradient.h" #include "algos/demosaicing.h" #include "algos/fft.h" #include "algos/quality.h" #include "algos/cosmetic_correction.h" #include "algos/statistics.h" +#include "algos/sorting.h" #include "algos/geometry.h" #include "algos/rgradient.h" #include "stacking/stacking.h" @@ -138,7 +141,7 @@ {"offset", 1, "offset value", process_offset, STR_OFFSET, TRUE}, - {"preprocess", 1, "preprocess sequencename [-bias=filename] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-flip] [-equalize_cfa] [-opt]", process_preprocess, STR_PREPROCESS, TRUE}, + {"preprocess", 1, "preprocess sequencename [-bias=filename] [-dark=filename] [-flat=filename] [-cfa] [-debayer] [-stretch] [-flip] [-equalize_cfa] [-opt]", process_preprocess, STR_PREPROCESS, TRUE}, {"psf", 0, "psf", process_psf, STR_PSF, FALSE}, {"register", 1, "register sequence [-norot] [-drizzle]", process_register, STR_REGISTER, TRUE}, @@ -175,9 +178,10 @@ {"setfindstar", 2, "setfindstar sigma roundness", process_set_findstar, STR_SETFINDSTAR, TRUE}, {"setmag", 1, "setmag magnitude", process_set_mag, STR_SETMAG, FALSE}, {"setmagseq", 1, "setmagseq magnitude", process_set_mag_seq, STR_SETMAGSEQ, FALSE}, + {"setmem", 1, "setmem ratio", process_set_mem, STR_SETMEM, TRUE}, {"split", 3, "split R G B", process_split, STR_SPLIT, TRUE}, - {"stack", 1, "stack sequencename [type] [sigma low] [sigma high] [-nonorm, norm=]", process_stackone, STR_STACK, TRUE}, - {"stackall", 0, "stackall [type] [sigma low] [sigma high] [-nonorm, norm=]", process_stackall, STR_STACKALL, TRUE}, + {"stack", 1, "stack sequencename [type] [sigma low] [sigma high] [-nonorm, norm=] [-out=result_filename] [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]]", process_stackone, STR_STACK, TRUE}, + {"stackall", 0, "stackall [type] [sigma low] [sigma high] [-nonorm, norm=] [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]]", process_stackall, STR_STACKALL, TRUE}, {"stat", 0, "stat", process_stat, STR_STAT, TRUE}, {"threshlo", 1, "threshlo level", process_threshlo, STR_THRESHLO, TRUE}, @@ -240,6 +244,7 @@ int process_save(int nb){ char filename[256]; + int retval; if (sequence_is_loaded() && !single_image_is_loaded()) { gfit.hi = com.seq.layers[RLAYER].hi; @@ -254,9 +259,9 @@ sprintf(filename, "%s", word[1]); set_cursor_waiting(TRUE); - savefits(filename, &(gfit)); + retval = savefits(filename, &(gfit)); set_cursor_waiting(FALSE); - return 0; + return retval; } int process_savebmp(int nb){ @@ -300,7 +305,7 @@ strcpy(filename, word[1]); strcat(filename, ".png"); set_cursor_waiting(TRUE); - bytes_per_sample = gfit.orig_bitpix > BYTE_IMG ? 2 : 1; + bytes_per_sample = gfit.orig_bitpix != BYTE_IMG ? 2 : 1; savepng(filename, &gfit, bytes_per_sample, gfit.naxes[2] == 3); set_cursor_waiting(FALSE); return 0; @@ -413,7 +418,7 @@ int process_gauss(int nb){ if (!single_image_is_loaded()) return 1; - unsharp(&(gfit), atof(word[1]), (double)0, TRUE); + unsharp(&(gfit), atof(word[1]), 0.0, TRUE); adjust_cutoff_from_updated_gfit(); redraw(com.cvport, REMAP_ALL); redraw_previews(); @@ -494,7 +499,7 @@ siril_log_message(_("Crop: width and height must be greater than 0.\n")); return 1; } - if (atoi(word[3]) > gfit.rx || atoi(word[4]) > gfit.ry) { + if (atoi(word[1]) + atoi(word[3]) > gfit.rx || atoi(word[2]) + atoi(word[4]) > gfit.ry) { siril_log_message(_("Crop: width and height, respectively, must be less than %d and %d.\n"), gfit.rx,gfit.ry); return 1; } @@ -530,6 +535,9 @@ retval = changedir(filename, NULL); if (!retval) { writeinitfile(); + if (!com.script) { + set_GUI_CWD(); + } } return retval; } @@ -832,7 +840,7 @@ siril_log_message(_("Select an area first\n")); return 1; } - fitted_PSF *result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE); + fitted_PSF *result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE, TRUE); if (result) { com.magOffset = mag - result->mag; siril_log_message(_("Relative magnitude: %.3lf, " @@ -930,7 +938,7 @@ siril_log_message(_("Select an area first\n")); return 1; } - fitted_PSF *result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE); + fitted_PSF *result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE, TRUE); if (result) { psf_display_result(result, &com.selection); free(result); @@ -1014,13 +1022,13 @@ if (!existseq(file)) { if (check_seq(FALSE)) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); return 1; } } seq = readseqfile(file); if (seq == NULL) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); return 1; } if (seq_check_basic_data(seq, FALSE) == -1) { @@ -1100,11 +1108,12 @@ free(clayer); return 1; } - for (i=0; i < USHRT_MAX + 1; i++) + for (i = 0; i < USHRT_MAX + 1; i++) fprintf(f, "%zu %d\n", i, (int) gsl_histogram_get (histo, i)); fclose(f); gsl_histogram_free(histo); siril_log_message(_("The file %s has been created for the %s layer.\n"), name, clayer); + free(clayer); return 0; } @@ -1192,13 +1201,21 @@ if (!height || !width) return 1; close_single_image(); + close_sequence(FALSE); fits *fit = &gfit; if (new_fit_image(&fit, width, height, layers)) return 1; - memset(gfit.data, 0, width*height*layers*sizeof(WORD)); + memset(gfit.data, 0, width * height * layers * sizeof(WORD)); - open_single_image_from_gfit(strdup(_("new empty image"))); + com.seq.current = UNRELATED_IMAGE; + com.uniq = calloc(1, sizeof(single)); + com.uniq->filename = strdup(_("new empty image")); + com.uniq->nb_layers = gfit.naxes[2]; + com.uniq->layers = calloc(com.uniq->nb_layers, sizeof(layer_info)); + com.uniq->fit = &gfit; + + open_single_image_from_gfit(); return 0; } @@ -1250,7 +1267,7 @@ } int process_findstar(int nb){ - int nbstars; + int nbstars = 0; int layer = RLAYER; if (!(single_image_is_loaded() || sequence_is_loaded())) return 1; @@ -1259,7 +1276,8 @@ delete_selected_area(); com.stars = peaker(&gfit, layer, &com.starfinder_conf, &nbstars, NULL, TRUE); siril_log_message(_("Found %d stars in image, channel #%d\n"), nbstars, layer); - refresh_stars_list(com.stars); + if (com.stars) + refresh_stars_list(com.stars); return 0; } @@ -1466,9 +1484,8 @@ } int process_close(int nb) { - free_image_data(); + close_single_image(); close_sequence(FALSE); - undo_flush(); if (!com.script) { hide_rgb_window(); hide_gray_window(); @@ -1619,13 +1636,13 @@ if (!existseq(file)) { if (check_seq(FALSE)) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); return 1; } } seq = readseqfile(file); if (seq == NULL) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); return 1; } if (seq_check_basic_data(seq, FALSE) == -1) { @@ -1674,7 +1691,8 @@ if (i >= com.seq.number) break; if (com.seq.imgparam[i].incl != select) { com.seq.imgparam[i].incl = select; - sequence_list_change_selection_index(i); + if (!com.headless) + sequence_list_change_selection_index(i); if (select) com.seq.selnum++; else com.seq.selnum--; @@ -1683,17 +1701,20 @@ } if (!select && com.seq.reference_image == i) { com.seq.reference_image = -1; - sequence_list_change_reference(); - adjust_refimage(com.seq.current); + if (!com.headless) { + sequence_list_change_reference(); + adjust_refimage(com.seq.current); + } } } - if (current_updated) { - adjust_exclude(com.seq.current, TRUE); + if (!com.headless) { + if (current_updated) { + adjust_exclude(com.seq.current, TRUE); + } + update_reg_interface(FALSE); + adjust_sellabel(); } - - update_reg_interface(FALSE); - adjust_sellabel(); writeseqfile(&com.seq); siril_log_message(_("Selection update finished, %d images are selected in the sequence\n"), com.seq.selnum); @@ -1790,6 +1811,7 @@ if((dir = g_dir_open(com.wd, 0, &error)) == NULL){ siril_log_message(_("Conversion: error opening working directory %s.\n"), com.wd); fprintf (stderr, "Conversion: %s\n", error->message); + g_error_free(error); set_cursor_waiting(FALSE); return 1; } @@ -1856,20 +1878,24 @@ if (!existseq(file)) { if (check_seq(FALSE)) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); + g_free(file); return 1; } } sequence *seq = readseqfile(file); if (seq == NULL) { - siril_log_message(_("No sequence %s found.\n"), file); + siril_log_message(_("No sequence `%s' found.\n"), file); + g_free(file); return 1; } if (seq_check_basic_data(seq, FALSE) == -1) { + g_free(file); free(seq); return 1; } + g_free(file); /* getting the selected registration method */ struct registration_method *reg = malloc(sizeof(struct registration_method)); reg->name = strdup(_("Global Star Alignment (deep-sky)")); @@ -1893,6 +1919,7 @@ reg_args->matchSelection = FALSE; reg_args->translation_only = FALSE; reg_args->x2upscale = FALSE; + reg_args->prefix = "r_"; /* check for options */ for (i = 2; i < 4; i++) { @@ -1904,17 +1931,24 @@ } } } - /* Here we should test available free disk space for Drizzle operation */ - if (reg_args->x2upscale) { - double size = seq_compute_size(reg_args->seq); - double diff = test_available_space(size * 4.0); //FIXME: 4 is only ok for x2 Drizzle - if (diff < 0.0) { - msg = siril_log_message(_("Not enough disk space to " - "perform Drizzle operation!\n")); + + // testing free space + if (reg_args->x2upscale || + (method->method_ptr == register_star_alignment && + !reg_args->translation_only)) { + // first, remove the files that we are about to create + remove_prefixed_sequence_files(reg_args->seq, reg_args->prefix); + + int nb_frames = reg_args->process_all_frames ? reg_args->seq->number : reg_args->seq->selnum; + int64_t size = seq_compute_size(reg_args->seq, nb_frames); + if (reg_args->x2upscale) + size *= 4; + if (test_available_space(size) > 0) { free(reg_args); return 1; } } + /* getting the selected registration layer from the combo box. The value is the index * of the selected line, and they are in the same order than layers so there should be * an exact matching between the two */ @@ -1922,7 +1956,6 @@ reg_args->interpolation = OPENCV_CUBIC; get_the_registration_area(reg_args, method); // sets selection reg_args->run_in_thread = TRUE; - reg_args->prefix = "r_"; reg_args->load_new_sequence = FALSE; // don't load it for command line execution msg = siril_log_color_message( @@ -1937,22 +1970,113 @@ return 0; } -struct _stackall_data { - struct timeval t_start; - const gchar *file; - stack_method method; - double sig[2]; - gboolean force_no_norm; - normalization norm; - int number_of_loaded_sequences; -}; +// parse normalization and filters from the stack command line, starting at word `first' +static int parse_stack_command_line(struct stacking_configuration *arg, int first, gboolean norm_allowed, gboolean out_allowed) { + while (word[first]) { + char *current = word[first], *value; + if (!strcmp(current, "-nonorm") || !strcmp(current, "-no_norm")) + arg->force_no_norm = TRUE; + else if (g_str_has_prefix(current, "-norm=")) { + if (!norm_allowed) { + siril_log_message(_("Normalization options are not allowed in this context, ignoring.\n")); + } else { + value = current+6; + if (!strcmp(value, "add")) + arg->norm = ADDITIVE; + else if (!strcmp(value, "addscale")) + arg->norm = ADDITIVE_SCALING; + else if (!strcmp(value, "mul")) + arg->norm = MULTIPLICATIVE; + else if (!strcmp(value, "mulscale")) + arg->norm = MULTIPLICATIVE_SCALING; + } + } -static int stack_one_seq(struct _stackall_data *arg) { + else if (g_str_has_prefix(current, "-filter-fwhm=")) { + value = strchr(current, '=') + 1; + if (value[0] != '\0') { + char *end; + float val = strtof(value, &end); + if (end == value) { + siril_log_message(_("Could not parse argument `%s' to the filter `%s', aborting.\n"), value, current); + return 1; + } + if (*end == '%') + arg->f_fwhm_p = val; + else arg->f_fwhm = val; + } else { + siril_log_message(_("Missing argument to %s, aborting.\n"), current); + return 1; + } + } + else if (g_str_has_prefix(current, "-filter-round=") || + g_str_has_prefix(current, "-filter-roundness=")) { + value = strchr(current, '=') + 1; + if (value[0] != '\0') { + char *end; + float val = strtof(value, &end); + if (end == value) { + siril_log_message(_("Could not parse argument `%s' to the filter `%s', aborting.\n"), value, current); + return 1; + } + if (*end == '%') + arg->f_round_p = val; + else arg->f_round = val; + } else { + siril_log_message(_("Missing argument to %s, aborting.\n"), current); + return 1; + } + } + else if (g_str_has_prefix(current, "-filter-qual=") || + g_str_has_prefix(current, "-filter-quality=")) { + value = strchr(current, '=') + 1; + if (value[0] != '\0') { + char *end; + float val = strtof(value, &end); + if (end == value) { + siril_log_message(_("Could not parse argument `%s' to the filter `%s', aborting.\n"), value, current); + return 1; + } + if (*end == '%') + arg->f_quality_p = val; + else arg->f_quality = val; + } else { + siril_log_message(_("Missing argument to %s, aborting.\n"), current); + return 1; + } + } + else if (g_str_has_prefix(current, "-filter-incl") || + g_str_has_prefix(current, "-filter-included")) { + arg->filter_included = TRUE; + } + + else if (g_str_has_prefix(current, "-out=")) { + if (out_allowed) { + value = current + 5; + if (value[0] == '\0') { + siril_log_message(_("Missing argument to %s, aborting.\n"), current); + return 1; + } + arg->result_file = strdup(value); + } + else { + siril_log_message(_("Output filename option is not allowed in this context, ignoring.\n")); + } + } + else { + siril_log_message(_("Unexpected argument to stacking `%s', aborting.\n"), current); + return 1; + } + first++; + } + return 0; +} + +static int stack_one_seq(struct stacking_configuration *arg) { int retval = -1; - sequence *seq = readseqfile(arg->file); + sequence *seq = readseqfile(arg->seqfile); if (seq != NULL) { - char filename[256]; - struct stacking_args args; + struct stacking_args args = { 0 }; if (seq_check_basic_data(seq, FALSE) == -1) { free(seq); return 1; @@ -1960,15 +2084,15 @@ siril_log_message(_("Stacking sequence %s\n"), seq->seqname); args.seq = seq; args.ref_image = sequence_find_refimage(seq); - args.filtering_criterion = stack_filter_all; - args.filtering_parameter = 0.0; - args.nb_images_to_stack = seq->number; - args.image_indices = malloc(seq->number * sizeof(int)); - args.max_number_of_rows = stack_get_max_number_of_rows(seq, seq->number); // the three below: used only if method is average w/ rejection - args.sig[0] = arg->sig[0]; - args.sig[1] = arg->sig[1]; - args.type_of_rejection = WINSORIZED; + if (arg->method == stack_mean_with_rejection && (arg->sig[0] != 0.0 || arg->sig[1] != 0.0)) { + args.sig[0] = arg->sig[0]; + args.sig[1] = arg->sig[1]; + args.type_of_rejection = WINSORIZED; + } else { + args.type_of_rejection = NO_REJEC; + siril_log_message(_("Not using rejection for stacking\n")); + } args.coeff.offset = NULL; args.coeff.mul = NULL; args.coeff.scale = NULL; @@ -1980,36 +2104,45 @@ args.force_norm = FALSE; args.norm_to_16 = TRUE; args.reglayer = args.seq->nb_layers == 1 ? 0 : 1; - stack_fill_list_of_unfiltered_images(&args); - char *suffix = ends_with(seq->seqname, "_") ? "" : - (ends_with(com.seq.seqname, "-") ? "" : "_"); - snprintf(filename, 256, "%s%sstacked%s", - seq->seqname, suffix, com.ext); - - // 1. normalization - do_normalization(&args); // does nothing if NO_NORM - // 2. up-scale - upscale_sequence(&args); // does nothing if args->seq->upscale_at_stacking <= 1.05 - // 3. stack - retval = args.retval = arg->method(&args); + // manage filters + if (convert_stack_data_to_filter(arg, &args) || + setup_filtered_data(&args)) { + free_sequence(seq, TRUE); + return 1; + } + args.description = describe_filter(seq, args.filtering_criterion, args.filtering_parameter); + + if (!arg->result_file) { + char filename[256]; + char *suffix = ends_with(seq->seqname, "_") ? "" : + (ends_with(com.seq.seqname, "-") ? "" : "_"); + snprintf(filename, 256, "%s%sstacked%s", + seq->seqname, suffix, com.ext); + arg->result_file = strdup(filename); + } + + main_stack(&args); + retval = args.retval; clean_end_stacking(&args); free_sequence(seq, TRUE); free(args.image_indices); + free(args.description); if (!retval) { struct noise_data noise_args = { .fit = &gfit, .verbose = FALSE, .use_idle = FALSE }; noise(&noise_args); - if (savefits(filename, &gfit)) + if (savefits(arg->result_file, &gfit)) siril_log_color_message(_("Could not save the stacking result %s\n"), - "red", filename); + "red", arg->result_file); + clearfits(&gfit); ++arg->number_of_loaded_sequences; } else if (!get_thread_run()) return -1; } else { - siril_log_message(_("No sequence %s found.\n"), arg->file); + siril_log_message(_("No sequence `%s' found.\n"), arg->seqfile); } return retval; } @@ -2019,24 +2152,25 @@ GError *error = NULL; const gchar *file; struct timeval t_end; - struct _stackall_data *arg = (struct _stackall_data *)garg; + struct stacking_configuration *arg = (struct stacking_configuration *)garg; + gboolean was_in_script = com.script; + com.script = TRUE; - if (!com.script) - control_window_switch_to_tab(OUTPUT_LOGS); siril_log_message(_("Looking for sequences in current working directory...\n")); if (check_seq(FALSE) || (dir = g_dir_open(com.wd, 0, &error)) == NULL) { siril_log_message(_("Error while searching sequences or opening the directory.\n")); - fprintf (stderr, "stackall: %s\n", error->message); + if (error) { + fprintf(stderr, "stackall: %s\n", error->message); + g_error_free(error); + } siril_add_idle(end_generic, NULL); return NULL; } + siril_log_message(_("Starting stacking of found sequences...\n")); - arg->number_of_loaded_sequences = 0; while ((file = g_dir_read_name(dir)) != NULL) { - char *suf; - - if ((suf = strstr(file, ".seq")) && strlen(suf) == 4) { - arg->file = file; + if (ends_with(file, ".seq")) { + arg->seqfile = strdup(file); stack_one_seq(arg); } } @@ -2045,208 +2179,174 @@ gettimeofday(&t_end, NULL); show_time(arg->t_start, t_end); g_dir_close(dir); + g_free(arg->result_file); + g_free(arg->seqfile); free(arg); + com.script = was_in_script; siril_add_idle(end_generic, NULL); return NULL; } int process_stackall(int nb) { - struct _stackall_data *arg = malloc(sizeof (struct _stackall_data)); - arg->force_no_norm = FALSE; - arg->norm = ADDITIVE_SCALING; + struct stacking_configuration *arg; - if (!word[1] || !strcmp(word[1], "sum")) + arg = calloc(1, sizeof(struct stacking_configuration)); + arg->f_fwhm = -1.f; arg->f_fwhm_p = -1.f; arg->f_round = -1.f; + arg->f_round_p = -1.f; arg->f_quality = -1.f; arg->f_quality_p = -1.f; + arg->filter_included = FALSE; arg->norm = NO_NORM; arg->force_no_norm = FALSE; + + // stackall { sum | min | max } [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]] + // stackall { med | median } [-nonorm, norm=] [-filter-incl[uded]] + // stackall { rej | mean } sigma_low sigma_high [-nonorm, norm=] [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]] + if (!word[1]) { arg->method = stack_summing_generic; - else if (!strcmp(word[1], "max")) - arg->method = stack_addmax; - else if (!strcmp(word[1], "min")) - arg->method = stack_addmin; - else if (!strcmp(word[1], "med") || !strcmp(word[1], "median")) { - arg->method = stack_median; - if (word[2] && (!strcmp(word[2], "-nonorm") || !strcmp(word[2], "-no_norm"))) - arg->force_no_norm = TRUE; - else if (word[2] && g_str_has_prefix(word[2], "-norm=")) { - if (!strcmp(word[2], "-norm=add")) { - arg->norm = ADDITIVE; - } else if (!strcmp(word[2], "-norm=addscale")) { - arg->norm = ADDITIVE_SCALING; - } else if (!strcmp(word[2], "-norm=mul")) { - arg->norm = MULTIPLICATIVE; - } else if (!strcmp(word[2], "-norm=mulscale")) { - arg->norm = MULTIPLICATIVE_SCALING; - } - } - } else if (!strcmp(word[1], "rej") || !strcmp(word[1], "mean")) { - if (!word[2] || !word[3] || - (arg->sig[0] = atof(word[2])) < 0.001 || - (arg->sig[1] = atof(word[3])) < 0.001) { - siril_log_message(_("The average stacking with rejection uses the Winsorized " - "rejection here and requires two extra arguments: sigma low and high.\n")); - free(arg); - return 1; + } else { + int start_arg_opt = 2; + gboolean allow_norm = FALSE; + if (!strcmp(word[1], "sum")) { + arg->method = stack_summing_generic; + } else if (!strcmp(word[1], "max")) { + arg->method = stack_addmax; + } else if (!strcmp(word[1], "min")) { + arg->method = stack_addmin; + } else if (!strcmp(word[1], "med") || !strcmp(word[1], "median")) { + arg->method = stack_median; + allow_norm = TRUE; + } else if (!strcmp(word[1], "rej") || !strcmp(word[1], "mean")) { + if (!word[2] || !word[3] || (arg->sig[0] = atof(word[2])) < 0.0 + || (arg->sig[1] = atof(word[3])) < 0.0) { + siril_log_message(_("The average stacking with rejection uses the Winsorized " + "rejection here and requires two extra arguments: sigma low and high.\n")); + goto failure; + } + arg->method = stack_mean_with_rejection; + start_arg_opt = 4; + allow_norm = TRUE; } - arg->method = stack_mean_with_rejection; - if (word[4] && (!strcmp(word[4], "-nonorm") || !strcmp(word[4], "-no_norm"))) - arg->force_no_norm = TRUE; - else if (word[4] && g_str_has_prefix(word[4], "-norm=")) { - if (!strcmp(word[4], "-norm=add")) { - arg->norm = ADDITIVE; - } else if (!strcmp(word[4], "-norm=addscale")) { - arg->norm = ADDITIVE_SCALING; - } else if (!strcmp(word[4], "-norm=mul")) { - arg->norm = MULTIPLICATIVE; - } else if (!strcmp(word[4], "-norm=mulscale")) { - arg->norm = MULTIPLICATIVE_SCALING; - } + else { + siril_log_message(_("Stacking method type '%s' is invalid\n"), word[1]); + goto failure; } + if (parse_stack_command_line(arg, start_arg_opt, allow_norm, FALSE)) + goto failure; } - else { - siril_log_message(_("The provided type of stacking is unknown (%s).\n"), word[1]); - free(arg); - return 1; - } - set_cursor_waiting(TRUE); + if (!com.headless) + control_window_switch_to_tab(OUTPUT_LOGS); gettimeofday(&arg->t_start, NULL); start_in_new_thread(stackall_worker, arg); return 0; + +failure: + g_free(arg->result_file); + g_free(arg->seqfile); + free(arg); + return 1; } static gpointer stackone_worker(gpointer garg) { - char *suf; int retval = 0; struct timeval t_end; + struct stacking_configuration *arg = (struct stacking_configuration *)garg; + gboolean was_in_script = com.script; + com.script = TRUE; - struct _stackall_data *arg = (struct _stackall_data *)garg; - - siril_log_message(_("Looking for sequences in current working directory...\n")); + retval = stack_one_seq(arg); - if ((suf = strstr(arg->file, ".seq")) && strlen(suf) == 4) { - retval = stack_one_seq(arg); - } if (!retval) siril_log_message(_("Stacked sequence successfully.\n")); gettimeofday(&t_end, NULL); show_time(arg->t_start, t_end); + + g_free(arg->result_file); + g_free(arg->seqfile); free(arg); + com.script = was_in_script; siril_add_idle(end_generic, NULL); return NULL; } int process_stackone(int nb) { - struct _stackall_data *arg = malloc(sizeof (struct _stackall_data)); + struct stacking_configuration *arg; gchar *file; - if (word[1][0] == '\0') { - free(arg); - return -1; - } - - arg->force_no_norm = FALSE; + arg = calloc(1, sizeof(struct stacking_configuration)); + arg->f_fwhm = -1.f; arg->f_fwhm_p = -1.f; arg->f_round = -1.f; + arg->f_round_p = -1.f; arg->f_quality = -1.f; arg->f_quality_p = -1.f; + arg->filter_included = FALSE; arg->norm = NO_NORM; arg->force_no_norm = FALSE; file = g_strdup(word[1]); if (!ends_with(file, ".seq")) { - str_append(&file, ".seq"); + str_append(&file, ".seq"); // reallocs file } if (!existseq(file)) { if (check_seq(FALSE)) { - siril_log_message(_("No sequence %s found.\n"), file); - free(arg); - return 1; + siril_log_message(_("No sequence `%s' found.\n"), file); + goto failure; } } - sequence *seq = readseqfile(file); - if (seq == NULL) { - siril_log_message(_("No sequence %s found.\n"), file); - free(arg); - return 1; - } - if (seq_check_basic_data(seq, FALSE) == -1) { - free(seq); - free(arg); - return 1; - } + arg->seqfile = file; - arg->file = file; - if (!word[2] || !strcmp(word[2], "sum")) + // stack seqfilename { sum | min | max } [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]] -out=result_filename + // stack seqfilename { med | median } [-nonorm, norm=] [-filter-incl[uded]] -out=result_filename + // stack seqfilename { rej | mean } sigma_low sigma_high [-nonorm, norm=] [-filter-fwhm=value[%]] [-filter-round=value[%]] [-filter-quality=value[%]] [-filter-incl[uded]] -out=result_filename + if (!word[2]) { arg->method = stack_summing_generic; - else if (!strcmp(word[2], "max")) - arg->method = stack_addmax; - else if (!strcmp(word[2], "min")) - arg->method = stack_addmin; - else if (!strcmp(word[2], "med") || !strcmp(word[2], "median")) { - arg->method = stack_median; - if (word[3] && (!strcmp(word[3], "-nonorm") || !strcmp(word[3], "-no_norm"))) - arg->force_no_norm = TRUE; - else if (word[3] && g_str_has_prefix(word[3], "-norm=")) { - if (!strcmp(word[3], "-norm=add")) { - arg->norm = ADDITIVE; - } else if (!strcmp(word[3], "-norm=addscale")) { - arg->norm = ADDITIVE_SCALING; - } else if (!strcmp(word[3], "-norm=mul")) { - arg->norm = MULTIPLICATIVE; - } else if (!strcmp(word[3], "-norm=mulscale")) { - arg->norm = MULTIPLICATIVE_SCALING; - } - } - } else if (!strcmp(word[2], "rej") || !strcmp(word[2], "mean")) { - if (!word[3] || !word[4] || - (arg->sig[0] = atof(word[3])) < 0.001 || - (arg->sig[1] = atof(word[4])) < 0.001) { - siril_log_message(_("The average stacking with rejection uses the Winsorized " - "rejection here and requires two extra arguments: sigma low and high.\n")); - free(arg); - return 1; + } else { + int start_arg_opt = 3; + gboolean allow_norm = FALSE; + if (!strcmp(word[2], "sum")) { + arg->method = stack_summing_generic; + } else if (!strcmp(word[2], "max")) { + arg->method = stack_addmax; + } else if (!strcmp(word[2], "min")) { + arg->method = stack_addmin; + } else if (!strcmp(word[2], "med") || !strcmp(word[2], "median")) { + arg->method = stack_median; + allow_norm = TRUE; + } else if (!strcmp(word[2], "rej") || !strcmp(word[2], "mean")) { + if (!word[3] || !word[4] || (arg->sig[0] = atof(word[3])) < 0.0 + || (arg->sig[1] = atof(word[4])) < 0.0) { + siril_log_message(_("The average stacking with rejection uses the Winsorized " + "rejection here and requires two extra arguments: sigma low and high.\n")); + goto failure; + } + arg->method = stack_mean_with_rejection; + start_arg_opt = 5; + allow_norm = TRUE; } - arg->method = stack_mean_with_rejection; - if (word[5] && (!strcmp(word[5], "-nonorm") || !strcmp(word[5], "-no_norm"))) - arg->force_no_norm = TRUE; - else if (word[5] && g_str_has_prefix(word[5], "-norm=")) { - if (!strcmp(word[5], "-norm=add")) { - arg->norm = ADDITIVE; - } else if (!strcmp(word[5], "-norm=addscale")) { - arg->norm = ADDITIVE_SCALING; - } else if (!strcmp(word[5], "-norm=mul")) { - arg->norm = MULTIPLICATIVE; - } else if (!strcmp(word[5], "-norm=mulscale")) { - arg->norm = MULTIPLICATIVE_SCALING; - } + else { + siril_log_message(_("Stacking method type '%s' is invalid\n"), word[2]); + goto failure; } + if (parse_stack_command_line(arg, start_arg_opt, allow_norm, TRUE)) + goto failure; } - else { - siril_log_message(_("The provided type of stacking is unknown (%s).\n"), word[2]); - free(arg); - return 1; - } - set_cursor_waiting(TRUE); gettimeofday(&arg->t_start, NULL); + if (!com.headless) + control_window_switch_to_tab(OUTPUT_LOGS); start_in_new_thread(stackone_worker, arg); return 0; + +failure: + g_free(arg->result_file); + g_free(arg->seqfile); + free(arg); + return 1; } -// preprocess sequencename -bias= -dark= -flat= -cfa -debayer int process_preprocess(int nb) { - struct preprocessing_data *args = malloc(sizeof(struct preprocessing_data)); - int nb_command_max = 9; - - com.preprostatus = 0; - gboolean is_cfa = FALSE; - gboolean do_debayer = FALSE; - gboolean flip = FALSE; - gboolean equalize_cfa = FALSE; + struct preprocessing_data *args; + int nb_command_max = 10; gchar *file; - fits *master_bias = NULL; - fits *master_dark = NULL; - fits *master_flat = NULL; int i, retvalue = 0; if (word[1][0] == '\0') { - free(args); return -1; } @@ -2257,114 +2357,91 @@ if (!existseq(file)) { if (check_seq(FALSE)) { - siril_log_message(_("No sequence %s found.\n"), file); - free(args); + siril_log_message(_("No sequence `%s' found.\n"), file); + g_free(file); return 1; } } sequence *seq = readseqfile(file); if (seq == NULL) { - siril_log_message(_("No sequence %s found.\n"), file); - free(args); + siril_log_message(_("No sequence `%s' found.\n"), file); + g_free(file); return 1; } + g_free(file); if (seq_check_basic_data(seq, FALSE) == -1) { free(seq); - free(args); return 1; } + args = calloc(1, sizeof(struct preprocessing_data)); + /* checking for options */ for (i = 2; i < nb_command_max; i++) { if (word[i]) { if (g_str_has_prefix(word[i], "-bias=")) { - master_bias = calloc(1, sizeof(fits)); - if (!readfits(word[i] + 6, master_bias, NULL)) { - com.preprostatus |= USE_OFFSET; - seq->offset = master_bias; + args->bias = calloc(1, sizeof(fits)); + if (!readfits(word[i] + 6, args->bias, NULL)) { + args->use_bias = TRUE; } else { retvalue = 1; + free(args->bias); break; } } else if (g_str_has_prefix(word[i], "-dark=")) { - master_dark = calloc(1, sizeof(fits)); - if (!readfits(word[i] + 6, master_dark, NULL)) { - com.preprostatus |= USE_DARK; - com.preprostatus |= USE_COSME; - seq->dark = master_dark; + args->dark = calloc(1, sizeof(fits)); + if (!readfits(word[i] + 6, args->dark, NULL)) { + args->use_dark = TRUE; + args->use_cosmetic_correction = TRUE; } else { retvalue = 1; + free(args->dark); break; } } else if (g_str_has_prefix(word[i], "-flat=")) { - master_flat = calloc(1, sizeof(fits)); - if (!readfits(word[i] + 6, master_flat, NULL)) { - com.preprostatus |= USE_FLAT; - seq->flat = master_flat; + args->flat = calloc(1, sizeof(fits)); + if (!readfits(word[i] + 6, args->flat, NULL)) { + args->use_flat = TRUE; } else { retvalue = 1; + free(args->flat); break; } } else if (!strcmp(word[i], "-opt")) { - com.preprostatus |= USE_OPTD; + args->use_dark_optim = TRUE; } else if (!strcmp(word[i], "-cfa")) { - is_cfa = TRUE; - } else if (!strcmp(word[i], "-debayer")) { - do_debayer = TRUE; + args->is_cfa = TRUE; + } else if (!strcmp(word[i], "-debayer")) { + args->debayer = TRUE; + } else if (!strcmp(word[i], "-stretch")) { + args->stretch_cfa = TRUE; } else if (!strcmp(word[i], "-flip")) { - flip = TRUE; + args->compatibility = TRUE; } else if (!strcmp(word[i], "-equalize_cfa")) { - equalize_cfa = TRUE; + args->equalize_cfa = TRUE; } } } if (retvalue) { - if (master_bias) free(master_bias); - if (master_dark) free(master_dark); - if (master_flat) free(master_flat); free(args); return -1; } siril_log_color_message(_("Preprocessing...\n"), "red"); gettimeofday(&args->t_start, NULL); - - /* Get parameters */ args->seq = seq; + args->is_sequence = TRUE; args->autolevel = TRUE; args->normalisation = 1.0f; // will be updated anyway - args->sigma[0] = -1.00; /* cold pixels: it is better to deactive it */ - args->sigma[1] = 3.00; /* hot poxels */ - - args->compatibility = flip; - - args->debayer = do_debayer; - args->is_cfa = is_cfa; - args->equalize_cfa = equalize_cfa; - - args->offset = args->seq->offset; - args->dark = args->seq->dark; - args->flat = args->seq->flat; - args->is_sequence = TRUE; - - /****/ - - // sequence, executed in a background thread - args->seq->ppprefix = strdup("pp_"); - - // remove old sequence - char *ppseqname = malloc( - strlen(args->seq->ppprefix) + strlen(args->seq->seqname) + 5); - sprintf(ppseqname, "%s%s.seq", args->seq->ppprefix, args->seq->seqname); - unlink(ppseqname); - free(ppseqname); + args->sigma[1] = 3.00; /* hot pixels */ + args->ppprefix = "pp_"; // start preprocessing set_cursor_waiting(TRUE); - start_in_new_thread(seqpreprocess, args); + start_sequence_preprocessing(args, TRUE); return 0; } @@ -2382,20 +2459,34 @@ } omp_set_num_threads(proc_in); -#ifdef _OPENMP #pragma omp parallel -#endif { proc_out = omp_get_num_threads(); } siril_log_message(_("Using now %d logical processors\n"), proc_out); com.max_thread = proc_out; - update_spinCPU(0); + if (!com.headless) + update_spinCPU(0); return 0; } #endif +int process_set_mem(int nb){ + double ratio = atof(word[1]); + if (ratio < 0.05 || ratio > 2.0) { + siril_log_message(_("The accepted range for the ratio of memory used for stacking is [0.05, 2], with values below the available memory recommended\n")); + return 1; + } + if (ratio > 1.0) { + siril_log_message(_("Setting the ratio of memory used for stacking above 1 will require the use of on-disk memory, which is very slow and unrecommended (%g requested)\n"), ratio); + } + com.stack.memory_percent = ratio; + if (!writeinitfile()) + siril_log_message(_("Usable memory for stacking changed to %g\n"), ratio); + return 0; +} + int process_help(int nb){ command *current = commands; siril_log_message(_("********* LIST OF AVAILABLE COMMANDS *********\n")); @@ -2408,8 +2499,8 @@ } int process_exit(int nb){ - undo_flush(); - exit(EXIT_SUCCESS); + gtk_main_quit(); + return 0; } int process_extract(int nb) { @@ -2466,6 +2557,12 @@ *nb = wordnb; } +static void removeEOL(char *text) { + int i = strlen(text) - 1; + while (i >= 0 && (text[i] == '\n' || text[i] == '\r')) + text[i] = '\0'; +} + static int executeCommand(int wordnb) { int i; // search for the command in the list @@ -2510,11 +2607,13 @@ char *linef, *myline; int line = 0, retval = 0; int wordnb; + int startmem, endmem; struct timeval t_start, t_end; com.script = TRUE; com.stop_script = FALSE; gettimeofday(&t_start, NULL); + startmem = get_available_memory_in_MB(); #if (_POSIX_C_SOURCE < 200809L) linef = calloc(256, sizeof(char)); while (fgets(linef, 256, fp)) { @@ -2539,7 +2638,9 @@ myline = strdup(linef); parseLine(myline, read, &wordnb); if ((retval = executeCommand(wordnb))) { - siril_log_message(_("Error in line %d. Exiting batch processing\n"), line); + removeEOL(linef); + siril_log_message(_("Error in line %d: '%s'.\n"), line, linef); + siril_log_message(_("Exiting batch processing.\n")); free(myline); break; } @@ -2547,6 +2648,9 @@ free(myline); break; // abort script on command failure } + endmem = get_available_memory_in_MB(); + siril_debug_print("End of command %s, memory difference: %d MB\n", word[0], startmem - endmem); + startmem = endmem; memset(word, 0, sizeof word); free(myline); } diff -Nru siril-0.9.10/src/core/command_def.h siril-0.9.11/src/core/command_def.h --- siril-0.9.10/src/core/command_def.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/command_def.h 2019-05-27 09:16:07.000000000 +0000 @@ -17,7 +17,7 @@ #define STR_CONVERT N_("Convert DSLR RAW files into Siril's FITS images. The argument \"basename\" is the basename of the new sequence. The option \"-debayer\" applies demosaicing to images") #define STR_COSME N_("Apply the local mean to a set of pixels on the in-memory image (cosmetic correction). The coordinates of these pixels are in an ASCII file [.lst file]. COSME is adapted to correct residual hot and cold pixels after preprocessing") #define STR_COSME_CFA N_("Same function that COSME but applying to RAW CFA images") -#define STR_CROP N_("Crops the current image within the rectangle previously selected") +#define STR_CROP N_("It can be used with the GUI: if a selection has been made with the mouse, calling the CROP command without arguments crops it on this selection. Otherwise, or in scripts, arguments have to be given, with \"x\" and \"y\" being the coordinates of the top left corner, and \"width\" and \"height\" the size of the selection") #define STR_DDP N_("Performs a DDP (digital development processing) as described first by Kunihiko Okano. This implementation is the one described in IRIS. It combines a linear distribution on low levels (below \"level\") and a non-linear on high levels. It uses a Gaussian filter of sigma \"sigma\" and multiplies the resulting image by \"coef\". The typical values for \"sigma\" are included between 0.7 and 2") @@ -61,7 +61,7 @@ #define STR_OFFSET N_("Adds the constant \"value\" to the current image. This constant can take a negative value. As Siril uses unsigned FITS files, if the intensity of the pixel become negative its value is replaced by 0 and by 65535 (for a 16-bit file) if the pixel intensity overflows") -#define STR_PREPROCESS N_("Preprocesses the sequence \"sequencename\" using bias, dark and flat given in argument. It is possible to specify if images are CFA for cosmetic correction purposes with the option \"-cfa\" and also to demosaic images at the end of the process with \"-debayer\". The \"-flip\" option tells to Siril to read image from up to bottom for demosaicing operation and the \"-equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA flat master. It is also possible to optimize the dark subtraction with \"-opt\".\n\nNote that only hot pixels are corrected in cosmetic correction process") +#define STR_PREPROCESS N_("Preprocesses the sequence \"sequencename\" using bias, dark and flat given in argument. It is possible to specify if images are CFA for cosmetic correction purposes with the option \"-cfa\" and also to demosaic images at the end of the process with \"-debayer\". This option can be associated to \"-stretch\" in order to stretch to 16-bit the image during this operation (works only with images from DSLR). The \"-flip\" option tells to Siril to read image from up to bottom for demosaicing operation and the \"-equalize_cfa\" option equalizes the mean intensity of RGB layers of the CFA flat master. It is also possible to optimize the dark subtraction with \"-opt\".\n\nNote that only hot pixels are corrected in cosmetic correction process") #define STR_PSF N_("Performs a PSF (Point Spread Function) on the selected star") #define STR_REGISTER N_("Performs geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image. The output sequence name starts with the prefix \"r_\". Using stars for registration, this algorithm only works with deepsky images. The option \"-norot\" performs a translation only with no new sequence built while the option \"-drizzle\" applies a x2 drizzle on the images") @@ -90,9 +90,10 @@ #define STR_SETFINDSTAR N_("Defines thresholds above the noise and star roundness for stars detection with FINDSTAR and REGISTER commands. \"Sigma\" must be greater or equal to 0.05 and \"roundness\" between 0 and 0.9") #define STR_SETMAG N_("Calibrates the magnitude by selecting a star and giving the known apparent magnitude. All PSF computations will return the calibrated apparent magnitude afterwards, instead of an apparent magnitude relative to ADU values. To reset the magnitude constant see UNSETMAG") #define STR_SETMAGSEQ N_("This command is only valid after having run SEQPSF or its graphical counterpart (select the area around a star and launch the PSF analysis for the sequence, it will appear in the graphs). This command has the same goal as SETMAG but recomputes the reference magnitude for each image of the sequence where the reference star has been found. When running the command, the last star that has been analysed will be considered as the reference star. Displaying the magnitude plot before typing the command makes it easy to understand. To reset the reference star and magnitude offset, see UNSETMAGSEQ") +#define STR_SETMEM N_("Sets a new ratio of free memory on memory used for stacking. Value should be between 0.05 and 2, depending on other activities of the machine. A higher ratio should allow siril to stack faster, but setting the ratio of memory used for stacking above 1 will require the use of on-disk memory, which is very slow and unrecommended") #define STR_SPLIT N_("Splits the color image into three distincts files (one for each color) and save them in \"r\" \"g\" and \"b\" file") -#define STR_STACK N_("Stacks the \"sequencename\" sequence, using options. The allowed types are: sum, max, min, med or median, and rej or mean that requires the use of additional arguments \"sigma low\" and \"high\" used for the Winsorized sigma clipping rejection algorithm (cannot be changed from here). Different types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" apply same normalisations but with scale operations. If no argument other than the sequence name is provided, sum stacking is assumed") -#define STR_STACKALL N_("Opens all sequences in the CWD and stacks them with the optionally specified stacking type or with sum stacking. See STACK command for options description") +#define STR_STACK N_("Stacks the \"sequencename\" sequence, using options. The allowed types are: sum, max, min, med or median, and rej or mean that requires the use of additional arguments \"sigma low\" and \"high\" used for the Winsorized sigma clipping rejection algorithm (cannot be changed from here).\nDifferent types of normalisation are allowed: \"-norm=add\" for addition, \"-norm=mul\" for multiplicative. Options \"-norm=addscale\" and \"-norm=mulscale\" apply same normalisations but with scale operations.\nIf no argument other than the sequence name is provided, sum stacking is assumed.\nResult image's name can be set with the \"-out=\" option.\nStacked images can be selected based on some filters, like manual selection or best FWHM, with some of the \"-filter-*\" options.\nSee the command reference for the complete documentation on this command") +#define STR_STACKALL N_("Opens all sequences in the CWD and stacks them with the optionally specified stacking type and filtering or with sum stacking. See STACK command for options description") #define STR_STAT N_("Returns global statistics of the current image. If a selection is made, the command returns statistics within the selection") #define STR_THRESHLO N_("Replaces values below \"level\" with \"level\"") diff -Nru siril-0.9.10/src/core/command.h siril-0.9.11/src/core/command.h --- siril-0.9.10/src/core/command.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/command.h 2019-05-27 09:16:07.000000000 +0000 @@ -125,6 +125,7 @@ int process_stat(int nb); int process_stackall(int nb); int process_stackone(int nb); +int process_set_mem(int nb); int process_preprocess(int nb); #ifdef _OPENMP int process_set_cpu(int nb); diff -Nru siril-0.9.10/src/core/initfile.c siril-0.9.11/src/core/initfile.c --- siril-0.9.10/src/core/initfile.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/initfile.c 2019-05-27 09:16:07.000000000 +0000 @@ -59,20 +59,16 @@ return 1; siril_log_message(_("Loading init file: '%s'\n"), com.initfile); + /* Keeping the up-scaled files poses a few problems with sequence + * filtering changing and user comprehension, so for now it can only be + * enabled by uncommenting the following line. */ + //com.cache_upscaled = TRUE; + /* Working directory */ if (config_lookup_string(&config, keywords[WD], &dir)) { - if (changedir(dir, NULL)) { - siril_log_message(_("Reverting current working directory to startup directory, " - "the saved directory is not available anymore\n")); - if (changedir(com.wd, NULL)) { - fprintf(stderr, "Could not change to start-up directory, aborting\n"); - return 1; - } - set_GUI_CWD(); - writeinitfile(); - } + free(com.wd); + com.wd = g_strdup(dir); } - else set_GUI_CWD(); /* Libraw setting */ config_setting_t *raw_setting = config_lookup(&config, keywords[RAW]); @@ -107,6 +103,8 @@ int inter; config_setting_lookup_int(debayer_setting, "inter", &inter); com.debayer.bayer_inter = inter; + config_setting_lookup_bool(debayer_setting, "stretch", + &com.debayer.stretch); } /* Preprocessing settings */ @@ -142,6 +140,8 @@ config_setting_lookup_float(photometry_setting, "gain", &com.phot_set.gain); config_setting_lookup_float(photometry_setting, "inner-radius", &com.phot_set.inner); config_setting_lookup_float(photometry_setting, "outer-radius", &com.phot_set.outer); + config_setting_lookup_int(photometry_setting, "minval", &com.phot_set.minval); + config_setting_lookup_int(photometry_setting, "maxval", &com.phot_set.maxval); } /* Misc setting */ @@ -149,7 +149,7 @@ if (misc_setting) { config_setting_lookup_bool(misc_setting, "confirm", &com.dontShowConfirm); - config_setting_lookup_bool(misc_setting, "darktheme", &com.have_dark_theme); + config_setting_lookup_int(misc_setting, "theme", &com.combo_theme); config_setting_lookup_bool(misc_setting, "remember_winpos", &com.remember_windows); config_setting_lookup_string(misc_setting, "swap_directory", &swap_dir); config_setting_lookup_string(misc_setting, "extension", &extension); @@ -164,9 +164,6 @@ tmp = config_setting_get_string_elem(misc_setting, i); list = g_slist_append(list, g_strdup(tmp)); } - - if (!com.script) - set_GUI_misc(); } misc_setting = config_lookup(&config, "misc-settings.main_w_pos"); if (misc_setting != NULL) { @@ -175,6 +172,7 @@ com.main_w_pos.w = config_setting_get_int_elem(misc_setting, 2); com.main_w_pos.h = config_setting_get_int_elem(misc_setting, 3); } + misc_setting = config_lookup(&config, "misc-settings.rgb_w_pos"); if (misc_setting != NULL) { com.rgb_w_pos.x = config_setting_get_int_elem(misc_setting, 0); @@ -200,6 +198,7 @@ com.ext = strdup(".fit"); } com.script_path = list; + config_destroy(&config); return 0; } @@ -268,6 +267,10 @@ debayer_setting = config_setting_add(debayer_group, "inter", CONFIG_TYPE_INT); config_setting_set_int(debayer_setting, com.debayer.bayer_inter); + + debayer_setting = config_setting_add(debayer_group, "stretch", + CONFIG_TYPE_BOOL); + config_setting_set_bool(debayer_setting, com.debayer.stretch); } static void _save_preprocessing(config_t *config, config_setting_t *root) { @@ -311,16 +314,16 @@ photometry_group = config_setting_add(root, keywords[PTM], CONFIG_TYPE_GROUP); - photometry_setting = config_setting_add(photometry_group, "gain", - CONFIG_TYPE_FLOAT); + photometry_setting = config_setting_add(photometry_group, "gain", CONFIG_TYPE_FLOAT); config_setting_set_float(photometry_setting, com.phot_set.gain); - photometry_setting = config_setting_add(photometry_group, "inner-radius", - CONFIG_TYPE_FLOAT); + photometry_setting = config_setting_add(photometry_group, "inner-radius", CONFIG_TYPE_FLOAT); config_setting_set_float(photometry_setting, com.phot_set.inner); - photometry_setting = config_setting_add(photometry_group, "outer-radius", - CONFIG_TYPE_FLOAT); + photometry_setting = config_setting_add(photometry_group, "outer-radius", CONFIG_TYPE_FLOAT); config_setting_set_float(photometry_setting, com.phot_set.outer); - + photometry_setting = config_setting_add(photometry_group, "minval", CONFIG_TYPE_INT); + config_setting_set_int(photometry_setting, com.phot_set.minval); + photometry_setting = config_setting_add(photometry_group, "maxval", CONFIG_TYPE_INT); + config_setting_set_int(photometry_setting, com.phot_set.maxval); } static void _save_misc(config_t *config, config_setting_t *root) { @@ -340,9 +343,8 @@ misc_setting = config_setting_add(misc_group, "confirm", CONFIG_TYPE_BOOL); config_setting_set_bool(misc_setting, com.dontShowConfirm); - misc_setting = config_setting_add(misc_group, "darktheme", - CONFIG_TYPE_BOOL); - config_setting_set_bool(misc_setting, com.have_dark_theme); + misc_setting = config_setting_add(misc_group, "theme", CONFIG_TYPE_INT); + config_setting_set_int(misc_setting, com.combo_theme); misc_setting = config_setting_add(misc_group, "remember_winpos", CONFIG_TYPE_BOOL); @@ -453,7 +455,6 @@ if (readinitfile()) { // couldn't read it char filename[255]; - set_GUI_CWD(); // if that fails, check and create the default ini file #if (defined(__APPLE__) && defined(__MACH__)) snprintf(filename, 255, "%s", homefolder); @@ -488,5 +489,7 @@ com.ext = strdup(".fit"); return (writeinitfile()); } + g_free(home); + return 0; } diff -Nru siril-0.9.10/src/core/OS_utils.c siril-0.9.11/src/core/OS_utils.c --- siril-0.9.10/src/core/OS_utils.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/OS_utils.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,439 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include +#include + +#ifdef _WIN32 +#include +#include +#include +#include +#else +#include +#endif +#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) +#include // define or not BSD macro +#endif +#if (defined(__APPLE__) && defined(__MACH__)) +#include +#include +#include +#include +#include +#include +#endif +#ifdef HAVE_SYS_STATVFS_H +#include +#endif +#if HAVE_SYS_VFS_H +#include +#elif HAVE_SYS_MOUNT_H +#if HAVE_SYS_PARAM_H +#include +#endif +#include +#endif + +#include "core/siril.h" +#include "core/proto.h" +#include "gui/callbacks.h" +#include "gui/progress_and_log.h" +#include "gui/message_dialog.h" + +/** + * Find the space remaining in a directory, in bytes. + * @param name the path of the directory to be tested + * @return the disk space remaining in bytes, or a negative value if error + */ +#ifdef HAVE_SYS_STATVFS_H +static int64_t find_space(const gchar *name) { + struct statvfs st; + int64_t available; + if (statvfs (name, &st)) + return -1LL; + available = st.f_bavail; // force 64 bits + return available * st.f_frsize; +} +#elif (HAVE_SYS_VFS_H || HAVE_SYS_MOUNT_H) +static int64_t find_space(const gchar *name) { + struct statfs st; + int64_t available; + if (statfs (name, &st)) + return -1LL; + available = st.f_bavail; // force 64 bits + return available * st.f_bsize; +} +#elif defined _WIN32 +static int64_t find_space(const gchar *name) { + ULARGE_INTEGER avail; + int64_t sz; + + gchar *localdir = g_path_get_dirname(name); + wchar_t *wdirname = g_utf8_to_utf16(localdir, -1, NULL, NULL, NULL); + + if (!GetDiskFreeSpaceExW(wdirname, &avail, NULL, NULL)) + sz = -1; + else + sz = avail.QuadPart; + + g_free(localdir); + g_free(wdirname); + return sz; +} +#else +static int64_t find_space(const gchar *name) { + return -1LL; +} +#endif /*HAVE_SYS_STATVFS_H*/ + +#if defined(__linux__) || defined(__CYGWIN__) +static unsigned long update_used_RAM_memory() { + unsigned long size, resident, share, text, lib, data, dt; + static int page_size_in_k = 0; + const char* statm_path = "/proc/self/statm"; + FILE *f = fopen(statm_path, "r"); + + if (page_size_in_k == 0) { + page_size_in_k = getpagesize() / 1024; + } + if (!f) { + perror(statm_path); + return 0UL; + } + if (7 != fscanf(f, "%lu %lu %lu %lu %lu %lu %lu", + &size, &resident, &share, &text, &lib, &data, &dt)) { + perror(statm_path); + fclose(f); + return 0UL; + } + fclose(f); + return (resident * page_size_in_k); +} +#elif (defined(__APPLE__) && defined(__MACH__)) +static unsigned long update_used_RAM_memory() { + struct task_basic_info t_info; + + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; + task_info(current_task(), TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count); + return ((unsigned long) t_info.resident_size / 1024UL); +} +#elif defined(BSD) /* BSD (DragonFly BSD, FreeBSD, OpenBSD, NetBSD). In fact, it could work with linux */ +static unsigned long update_used_RAM_memory() { + struct rusage usage; + + getrusage(RUSAGE_SELF, &usage); + return ((unsigned long) usage.ru_maxrss); +} +#elif defined(_WIN32) /* Windows */ +static unsigned long update_used_RAM_memory() { + PROCESS_MEMORY_COUNTERS memCounter; + + if (GetProcessMemoryInfo(GetCurrentProcess(), &memCounter, sizeof(memCounter))) + return (memCounter.WorkingSetSize / 1024UL); + return 0UL; +} +#else +static unsigned long update_used_RAM_memory() { + return 0UL; +} +#endif + +/** + * Updates RAM memory used by siril, available free disk space + * and displays information on the control window. + */ +void update_used_memory() { + unsigned long ram = update_used_RAM_memory(); + int64_t freeDisk = find_space(com.wd); + + /* update GUI */ + set_GUI_MEM(ram); + set_GUI_DiskSpace((double)freeDisk); +} + +// from a number of bytes in input, returns a string (to be freed) comprehensible by a +// human for this size, for example 1.5G instead of 1500000000 +gchar *pretty_print_memory(int64_t bytes) { + const char *units[] = { "", "k", "M", "G", "T", "P", "E", "Z", "Y" }; + int i = 0; + double mem = (double)bytes; + while (mem >= 1000.0 && i < sizeof units) { + mem = mem / 1024.0; + i++; + } + return g_strdup_printf("%.1f%s", mem, units[i]); +} + +/** + * Test if there is enough free disk space by returning the difference + * in bytes between available free disk space and the size given as parameter + * @param req_size available space to be tested + * @return 0 if there is enough disk space, 1 otherwise, -1 on error. + */ +int test_available_space(int64_t req_size) { + int64_t free_space = find_space(com.wd); + if (free_space < 0 || req_size <= 0) + return -1; + + if (req_size > free_space) { + gchar *avail = pretty_print_memory(free_space); + gchar *required = pretty_print_memory(req_size); + gchar *missing = pretty_print_memory(req_size - free_space); + char *msg = siril_log_message(_("Not enough free disk space to perform this operation: " + "%sB available for %sB needed (missing %sB)\n"), + avail, required, missing); + queue_message_dialog(GTK_MESSAGE_ERROR, _("Not enough disk space"), msg); + free(avail); + free(required); + free(missing); + return 1; + } + return 0; +} + +/** + * Gets available memory for stacking process + * @return available memory in MB, 2048 if it fails. + */ +#if defined(__linux__) || defined(__CYGWIN__) +int get_available_memory_in_MB() { + int mem = 2048; /* this is the default value if we can't retrieve any values */ + FILE* fp = fopen("/proc/meminfo", "r"); + if (fp != NULL) { + size_t bufsize = 1024 * sizeof(char); + gchar *buf = g_new(gchar, bufsize); + long value = -1L; + while (getline(&buf, &bufsize, fp) >= 0) { + if (strncmp(buf, "MemAvailable", 12) != 0) + continue; + sscanf(buf, "%*s%ld", &value); + break; + } + fclose(fp); + g_free(buf); + if (value != -1L) + mem = (int) (value / 1024L); + } + return mem; +} +#elif (defined(__APPLE__) && defined(__MACH__)) +int get_available_memory_in_MB() { + int mem = 2048; /* this is the default value if we can't retrieve any values */ + vm_size_t page_size; + mach_port_t mach_port; + mach_msg_type_number_t count; + vm_statistics64_data_t vm_stats; + + mach_port = mach_host_self(); + count = sizeof(vm_stats) / sizeof(natural_t); + if (KERN_SUCCESS == host_page_size(mach_port, &page_size) && + KERN_SUCCESS == host_statistics64(mach_port, HOST_VM_INFO, + (host_info64_t)&vm_stats, &count)) { + + int64_t unused_memory = ((int64_t)vm_stats.free_count + + (int64_t)vm_stats.inactive_count + + (int64_t)vm_stats.wire_count) * (int64_t)page_size; + + mem = (int) ((unused_memory) / (1024 * 1024)); + } + return mem; +} +#elif defined(BSD) /* BSD (DragonFly BSD, FreeBSD, OpenBSD, NetBSD). ----------- */ +int get_available_memory_in_MB() { + int mem = 2048; /* this is the default value if we can't retrieve any values */ + FILE* fp = fopen("/var/run/dmesg.boot", "r"); + if (fp != NULL) { + size_t bufsize = 1024 * sizeof(char); + gchar *buf = g_new(gchar, bufsize); + long value = -1L; + while (getline(&buf, &bufsize, fp) >= 0) { + if (strncmp(buf, "avail memory", 12) != 0) + continue; + sscanf(buf, "%*s%*s%*s%ld", &value); + break; + } + fclose(fp); + g_free(buf); + if (value != -1L) + mem = (int) (value / 1024L); + } + return mem; +} +#elif defined(_WIN32) /* Windows */ +int get_available_memory_in_MB() { + int mem = 2048; /* this is the default value if we can't retrieve any values */ + MEMORYSTATUSEX memStatusEx = { 0 }; + memStatusEx.dwLength = sizeof(MEMORYSTATUSEX); + if (GlobalMemoryStatusEx(&memStatusEx)) { + mem = (int) (memStatusEx.ullTotalPhys / (1024 * 1024)); + } + return mem; +} +#else +int get_available_memory_in_MB() { + fprintf(stderr, "Siril failed to get available free RAM memory\n"); + return 2048; +} +#endif + +/** + * + * @param filename + * @param size + */ +#ifdef _WIN32 +/* stolen from gimp which in turn stole it from glib 2.35 */ +gchar *get_special_folder(int csidl) { + wchar_t path[MAX_PATH + 1]; + HRESULT hr; + LPITEMIDLIST pidl = NULL; + BOOL b; + gchar *retval = NULL; + + hr = SHGetSpecialFolderLocation(NULL, csidl, &pidl); + if (hr == S_OK) { + b = SHGetPathFromIDListW(pidl, path); + if (b) + retval = g_utf16_to_utf8(path, -1, NULL, NULL, NULL); + CoTaskMemFree(pidl); + } + + return retval; +} +#endif + +/** + * Check how many files a process can have open and try to extend the limit if possible. + * The max files depends of the Operating System and of cfitsio (NMAXFILES) + * @param nb_frames number of file processed + * @param nb_allowed_file the maximum of file that can be opened + * @return TRUE if the system can open all the files, FALSE otherwise + */ +gboolean allow_to_open_files(int nb_frames, int *nb_allowed_file) { + int open_max, maxfile, MAX_NO_FILE_CFITSIO, MAX_NO_FILE; + float version; + + /* get the limit of cfitsio */ + fits_get_version(&version); + MAX_NO_FILE_CFITSIO = (version < 3.45) ? 1000 : 10000; + + /* get the OS limit and extend it if possible */ +#ifdef _WIN32 + MAX_NO_FILE = min(MAX_NO_FILE_CFITSIO, 2048); + open_max = _getmaxstdio(); + if (open_max < MAX_NO_FILE) { + /* extend the limit to 2048 if possible + * 2048 is the maximum on WINDOWS */ + _setmaxstdio(MAX_NO_FILE); + open_max = _getmaxstdio(); + } +#else + struct rlimit rlp; + +/* we first set the limit to the CFITSIO limit */ + MAX_NO_FILE = MAX_NO_FILE_CFITSIO; + if (getrlimit(RLIMIT_NOFILE, &rlp) == 0) { + MAX_NO_FILE = (rlp.rlim_max == RLIM_INFINITY) ? + MAX_NO_FILE_CFITSIO : rlp.rlim_max; + + if (rlp.rlim_cur != RLIM_INFINITY) { + open_max = rlp.rlim_cur; + MAX_NO_FILE = min(MAX_NO_FILE_CFITSIO, MAX_NO_FILE); + if (open_max < MAX_NO_FILE) { + rlp.rlim_cur = MAX_NO_FILE; + /* extend the limit to NMAXFILES if possible */ + int retval = setrlimit(RLIMIT_NOFILE, &rlp); + if (!retval) { + getrlimit(RLIMIT_NOFILE, &rlp); + open_max = rlp.rlim_cur; + } + } + } else { // no soft limits + open_max = MAX_NO_FILE; + } + } else { + open_max = sysconf(_SC_OPEN_MAX); // if no success with getrlimit, try with sysconf + } +#endif // _WIN32 + + maxfile = min(open_max, MAX_NO_FILE); + siril_debug_print("Maximum of files that will be opened=%d\n", maxfile); + *nb_allowed_file = maxfile; + + return nb_frames < maxfile; +} + +SirilWidget *siril_file_chooser_open(GtkWindow *parent, GtkFileChooserAction action) { +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) + return gtk_file_chooser_native_new(_("Open File"), parent, action, + _("_Open"), _("_Cancel")); +#else + return gtk_file_chooser_dialog_new(_("Open File"), parent, action, + _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, + NULL); +#endif +} + +SirilWidget *siril_file_chooser_add(GtkWindow *parent, GtkFileChooserAction action) { +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) + return gtk_file_chooser_native_new(_("Add Files"), parent, action, + _("_Add"), _("_Cancel")); +#else + return gtk_file_chooser_dialog_new(_("Add Files"), parent, action, + _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Add"), GTK_RESPONSE_ACCEPT, + NULL); +#endif +} + +SirilWidget *siril_file_chooser_save(GtkWindow *parent, GtkFileChooserAction action) { +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) + return gtk_file_chooser_native_new(_("Save File"), parent, action, + _("_Save"), _("_Cancel")); +#else + return gtk_file_chooser_dialog_new(_("Save File"), parent, action, + _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_ACCEPT, + NULL); +#endif +} + +gint siril_dialog_run(SirilWidget *widgetdialog) { +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) + return gtk_native_dialog_run(GTK_NATIVE_DIALOG(widgetdialog)); +#else + return gtk_dialog_run(GTK_DIALOG(GTK_FILE_CHOOSER(widgetdialog))); +#endif +} + +void siril_widget_destroy(SirilWidget *widgetdialog) { +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) + g_object_unref(widgetdialog); +#else + gtk_widget_destroy(widgetdialog); +#endif +} diff -Nru siril-0.9.10/src/core/pipe.c siril-0.9.11/src/core/pipe.c --- siril-0.9.10/src/core/pipe.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/pipe.c 2019-05-27 09:16:07.000000000 +0000 @@ -195,7 +195,7 @@ #else if (pipe_fd_w <= 0) return -1; #endif - char *msg; + char *msg = NULL; switch (msgtype) { case PIPE_LOG: @@ -227,11 +227,13 @@ break; } - g_mutex_lock(&write_mutex); - pending_writes = g_list_append(pending_writes, msg); + if (msg) { + g_mutex_lock(&write_mutex); + pending_writes = g_list_append(pending_writes, msg); - g_cond_signal(&write_cond); - g_mutex_unlock(&write_mutex); + g_cond_signal(&write_cond); + g_mutex_unlock(&write_mutex); + } return 0; } diff -Nru siril-0.9.10/src/core/preprocess.c siril-0.9.11/src/core/preprocess.c --- siril-0.9.10/src/core/preprocess.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/preprocess.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,336 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include +#include +#include + +#include "core/preprocess.h" +#include "core/siril.h" +#include "core/proto.h" +#include "core/processing.h" +#include "algos/statistics.h" +#include "algos/cosmetic_correction.h" +#include "gui/progress_and_log.h" +#include "io/sequence.h" +#include "io/conversion.h" +#include "io/ser.h" + +static double evaluateNoiseOfCalibratedImage(fits *fit, fits *dark, double k) { + double noise = 0.0; + fits dark_tmp = { 0 }, fit_tmp = { 0 }; + int chan, ret = 0; + rectangle area = { 0 }; + + /* square of 512x512 in the center of the image */ + int size = 512; + area.x = (fit->rx - size) / 2; + area.y = (fit->ry - size) / 2; + area.w = size; + area.h = size; + + copyfits(dark, &dark_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, -1); + copyfits(fit, &fit_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, -1); + + soper(&dark_tmp, k, OPER_MUL); + ret = imoper(&fit_tmp, &dark_tmp, OPER_SUB); + if (ret) { + clearfits(&dark_tmp); + clearfits(&fit_tmp); + return -1.0; + } + + for (chan = 0; chan < fit->naxes[2]; chan++) { + imstats *stat = statistics(NULL, -1, &fit_tmp, chan, &area, STATS_BASIC); + if (!stat) { + siril_log_message(_("Error: statistics computation failed.\n")); + return 0.0; // not -1? + } + noise += stat->sigma; + free_stats(stat); + } + clearfits(&dark_tmp); + clearfits(&fit_tmp); + + return noise; +} + +#define GR ((sqrt(5.0) - 1.0) / 2.0) + +static double goldenSectionSearch(fits *raw, fits *dark, double a, double b, + double tol) { + double c, d; + double fc, fd; + int iter = 0; + + c = b - GR * (b - a); + d = a + GR * (b - a); + // TODO: check return values of evaluateNoiseOfCalibratedImage + fc = evaluateNoiseOfCalibratedImage(raw, dark, c); + fd = evaluateNoiseOfCalibratedImage(raw, dark, d); + do { + siril_debug_print("Iter: %d (%1.2lf, %1.2lf)\n", ++iter, c, d); + if (fc < 0.0 || fd < 0.0) + return -1.0; + if (fc < fd) { + b = d; + d = c; + fd = fc; + c = b - GR * (b - a); + fc = evaluateNoiseOfCalibratedImage(raw, dark, c); + } else { + a = c; + c = d; + fc = fd; + d = a + GR * (b - a); + fd = evaluateNoiseOfCalibratedImage(raw, dark, d); + + } + } while (fabs(c - d) > tol); + return ((b + a) / 2.0); +} + + +static int preprocess(fits *raw, struct preprocessing_data *args) { + int ret = 0; + if (args->use_bias) { + ret = imoper(raw, args->bias, OPER_SUB); + } + + /* if dark optimization, the master-dark has already been subtracted */ + if (!ret && args->use_dark && !args->use_dark_optim) { + ret = imoper(raw, args->dark, OPER_SUB); + } + + if (!ret && args->use_flat) { + // return value is an error if there is an overflow, but it is usual + // for now, so don't treat as error + /*ret =*/ siril_fdiv(raw, args->flat, args->normalisation); + } + + return ret; +} + +static int darkOptimization(fits *raw, fits *dark, fits *offset) { + double k0; + double lo = 0.0, up = 2.0; + int ret = 0; + fits dark_tmp = { 0 }; + + if (raw->rx != dark->rx || raw->ry != dark->ry) { + fprintf(stderr, "image size mismatch\n"); + return -1; + } + + if (copyfits(dark, &dark_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, 0)) + return 1; + + /* Minimization of background noise to find better k */ + invalidate_stats_from_fit(raw); + k0 = goldenSectionSearch(raw, &dark_tmp, lo, up, 1E-3); + if (k0 < 0.0) { + ret = -1; + } else { + siril_log_message(_("Dark optimization: k0=%.3lf\n"), k0); + /* Multiply coefficient to master-dark */ + soper(&dark_tmp, k0, OPER_MUL); + ret = imoper(raw, &dark_tmp, OPER_SUB); + } + clearfits(&dark_tmp); + return ret; +} + +static int prepro_prepare_hook(struct generic_seq_args *args) { + struct preprocessing_data *prepro = args->user; + + if (prepro->seq) { + // checking disk space: removing old sequence and computing free space + remove_prefixed_sequence_files(args->seq, prepro->ppprefix); + + int64_t size = seq_compute_size(args->seq, args->seq->number); + if (prepro->debayer) + size *= 3; + if (test_available_space(size)) + return 1; + + // handling SER + if (ser_prepare_hook(args)) + return 1; + } + + // precompute flat levels + if (prepro->use_flat) { + if (prepro->equalize_cfa) { + compute_grey_flat(prepro->flat); + } + if (prepro->autolevel) { + imstats *stat = statistics(NULL, -1, prepro->flat, RLAYER, NULL, STATS_BASIC); + if (!stat) { + siril_log_message(_("Error: statistics computation failed.\n")); + return 1; + } + prepro->normalisation = stat->mean; + siril_log_message(_("Normalisation value auto evaluated: %.2lf\n"), + prepro->normalisation); + free_stats(stat); + } + } + + // proceed to cosmetic correction + if (prepro->use_cosmetic_correction && prepro->use_dark) { + if (prepro->dark->naxes[2] == 1) { + prepro->dev = find_deviant_pixels(prepro->dark, prepro->sigma, + &(prepro->icold), &(prepro->ihot)); + siril_log_message(_("%ld pixels corrected (%ld + %ld)\n"), + prepro->icold + prepro->ihot, prepro->icold, prepro->ihot); + } else + siril_log_message(_("Darkmap cosmetic correction " + "is only supported with single channel images\n")); + } + return 0; +} + +static int prepro_image_hook(struct generic_seq_args *args, int out_index, int in_index, fits *fit, rectangle *_) { + struct preprocessing_data *prepro = args->user; + if (prepro->use_dark_optim && prepro->use_dark) { + if (darkOptimization(fit, prepro->dark, prepro->bias)) + return 1; + } + + if (preprocess(fit, prepro)) + return 1; + + if (prepro->use_cosmetic_correction && prepro->use_dark && prepro->dark->naxes[2] == 1) + cosmeticCorrection(fit, prepro->dev, prepro->icold + prepro->ihot, prepro->is_cfa); + + if (prepro->debayer) { + if (!prepro->seq || prepro->seq->type == SEQ_REGULAR) { + // not for SER because it is done on-the-fly + debayer_if_needed(TYPEFITS, fit, + prepro->compatibility, TRUE, prepro->stretch_cfa); + } + } + + return 0; +} + +static void clear_preprocessing_data(struct preprocessing_data *prepro) { + if (prepro->use_bias && prepro->bias) + clearfits(prepro->bias); + if (prepro->use_dark && prepro->dark) + clearfits(prepro->dark); + if (prepro->use_flat && prepro->flat) + clearfits(prepro->flat); +} + +static int prepro_finalize_hook(struct generic_seq_args *args) { + int retval = ser_finalize_hook(args); + struct preprocessing_data *prepro = args->user; + clear_preprocessing_data(prepro); + free(args->user); + return retval; +} + +gpointer prepro_worker(gpointer p) { + gpointer retval = generic_sequence_worker(p); + + struct generic_seq_args *args = (struct generic_seq_args *)p; + free_sequence(args->seq, TRUE); + free(args); + return retval; +} + +void start_sequence_preprocessing(struct preprocessing_data *prepro, gboolean from_script) { + struct generic_seq_args *args = malloc(sizeof(struct generic_seq_args)); + args->seq = prepro->seq; + args->partial_image = FALSE; + args->filtering_criterion = seq_filter_all; + args->nb_filtered_images = prepro->seq->number; + args->prepare_hook = prepro_prepare_hook; + args->image_hook = prepro_image_hook; + args->save_hook = NULL; + args->finalize_hook = prepro_finalize_hook; + args->idle_function = NULL; + args->stop_on_error = TRUE; + args->description = _("Preprocessing"); + args->has_output = TRUE; + args->new_seq_prefix = prepro->ppprefix; + args->load_new_sequence = TRUE; + args->force_ser_output = FALSE; + args->parallel = TRUE; + args->user = prepro; + + if (from_script) { + args->already_in_a_thread = TRUE; + start_in_new_thread(prepro_worker, args); + } else { + args->already_in_a_thread = FALSE; + start_in_new_thread(generic_sequence_worker, args); + } +} + +/********** SINGLE IMAGE ************/ +int preprocess_single_image(struct preprocessing_data *args) { + gchar *dest_filename, *msg; + fits fit = { 0 }; + int ret = 0; + + msg = g_strdup_printf(_("Pre-processing image %s"), com.uniq->filename); + set_progress_bar_data(msg, 0.5); + g_free(msg); + struct generic_seq_args generic = { .user = args }; + + copyfits(com.uniq->fit, &fit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); + copy_fits_metadata(com.uniq->fit, &fit); + + ret = prepro_prepare_hook(&generic); + if (!ret) + ret = prepro_image_hook(&generic, 0, 0, &fit, NULL); + clear_preprocessing_data(args); + + if (!ret) { + gchar *filename = g_path_get_basename(com.uniq->filename); + char *filename_noext = remove_ext_from_filename(filename); + g_free(filename); + dest_filename = g_strdup_printf("%s%s%s", args->ppprefix, filename_noext, com.ext); + msg = g_strdup_printf(_("Saving image %s"), filename_noext); + set_progress_bar_data(msg, PROGRESS_NONE); + ret = savefits(dest_filename, &fit); + + if (!ret) { + // open the new image? + copyfits(&fit, com.uniq->fit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); + if (com.uniq->nb_layers != fit.naxes[2]) { + com.uniq->nb_layers = fit.naxes[2]; + com.uniq->layers = realloc(com.uniq->layers, com.uniq->nb_layers * sizeof(layer_info)); + } + if (com.uniq->filename) + free(com.uniq->filename); + com.uniq->filename = strdup(dest_filename); + } + + clearfits(&fit); + free(filename_noext); + g_free(dest_filename); + g_free(msg); + } + + return ret; +} diff -Nru siril-0.9.10/src/core/preprocess.h siril-0.9.11/src/core/preprocess.h --- siril-0.9.10/src/core/preprocess.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/preprocess.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,32 @@ +#ifndef _PREPRO_H_ +#define _PREPRO_H_ + +#include "siril.h" +#include "algos/cosmetic_correction.h" + +/* preprocessing data from GUI */ +struct preprocessing_data { + struct timeval t_start; + gboolean use_bias, use_dark, use_flat; + fits *bias, *dark, *flat; + gboolean use_dark_optim, use_cosmetic_correction; + gboolean is_sequence; + sequence *seq; + gboolean autolevel; + double sigma[2]; + long icold, ihot; + deviant_pixel *dev; + gboolean is_cfa; + gboolean debayer; + gboolean compatibility; + gboolean stretch_cfa; + gboolean equalize_cfa; + float normalisation; + int retval; + const char *ppprefix; // prefix for output files +}; + +int preprocess_single_image(struct preprocessing_data *args); +void start_sequence_preprocessing(struct preprocessing_data *prepro, gboolean from_script); + +#endif diff -Nru siril-0.9.10/src/core/processing.c siril-0.9.11/src/core/processing.c --- siril-0.9.10/src/core/processing.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/processing.c 2019-05-27 09:16:07.000000000 +0000 @@ -24,6 +24,7 @@ #include "siril.h" #include "processing.h" +#include "sequence_filtering.h" #include "proto.h" #include "gui/callbacks.h" #include "gui/progress_and_log.h" @@ -43,7 +44,6 @@ float nb_framesf; int abort = 0; // variable for breaking out of loop GString *desc; // temporary string description for logs - gchar *msg; // final string description for logs fits fit = { 0 }; assert(args); @@ -54,7 +54,15 @@ if (args->nb_filtered_images > 0) // XXX can it be zero? nb_frames = args->nb_filtered_images; - else nb_frames = args->seq->number; + else { + nb_frames = compute_nb_filtered_images(args->seq, args->filtering_criterion, args->filtering_parameter); + args->nb_filtered_images = nb_frames; + if (nb_frames <= 0) { + siril_log_message(_("No image selected for processing, aborting\n")); + args->retval = 1; + goto the_end; + } + } nb_framesf = (float)nb_frames + 0.3f; // leave margin for rounding errors and post processing args->retval = 0; @@ -87,13 +95,20 @@ } } + if (args->has_output && !args->partial_image) { // TODO partial + int64_t size = seq_compute_size(args->seq, nb_frames); + if (test_available_space(size)) { + args->retval = 1; + goto the_end; + } + } + /* Output print of algorithm description */ desc = g_string_new(args->description); if (desc) { desc = g_string_append(desc, _(": processing...\n")); - msg = g_string_free(desc, FALSE); - siril_log_color_message(msg, "red"); - g_free(msg); + siril_log_color_message(desc->str, "red"); + g_string_free(desc, TRUE); } #ifdef _OPENMP @@ -148,6 +163,7 @@ sprintf(tmpfn, "/tmp/partial_%d.fit", input_idx); savefits(tmpfn, &fit);*/ } else { + // image is obtained bottom to top here, while it's in natural order for partial images! if (seq_read_frame(args->seq, input_idx, &fit)) { abort = 1; clearfits(&fit); @@ -257,21 +273,21 @@ } int ser_prepare_hook(struct generic_seq_args *args) { - char dest[256]; - const char *ptr; - if (args->force_ser_output || args->seq->type == SEQ_SER) { - ptr = strrchr(args->seq->seqname, G_DIR_SEPARATOR); + gchar *dest; + const char *ptr = strrchr(args->seq->seqname, G_DIR_SEPARATOR); if (ptr) - snprintf(dest, 255, "%s%s.ser", args->new_seq_prefix, ptr + 1); - else snprintf(dest, 255, "%s%s.ser", args->new_seq_prefix, args->seq->seqname); + dest = g_strdup_printf("%s%s.ser", args->new_seq_prefix, ptr + 1); + else dest = g_strdup_printf("%s%s.ser", args->new_seq_prefix, args->seq->seqname); args->new_ser = malloc(sizeof(struct ser_struct)); if (ser_create_file(dest, args->new_ser, TRUE, args->seq->ser_file)) { free(args->new_ser); args->new_ser = NULL; + g_free(dest); return 1; } + g_free(dest); } return 0; } @@ -290,19 +306,15 @@ * input file number all along (in_index is the index in the sequence, not the name). */ int generic_save(struct generic_seq_args *args, int out_index, int in_index, fits *fit) { - char dest[256]; - if (args->force_ser_output || args->seq->type == SEQ_SER) { return ser_write_frame_from_fit(args->new_ser, fit, out_index); } else { - char format[16]; - sprintf(format, "%%s%%s%%0%dd%%s", args->seq->fixed); - snprintf(dest, 256, format, args->new_seq_prefix, - args->seq->seqname, - args->seq->imgparam[in_index].filenum, - /*in_index,*/ com.ext); + char *dest = fit_sequence_get_image_filename_prefixed(args->seq, + args->new_seq_prefix, in_index); fit->bitpix = fit->orig_bitpix; - return savefits(dest, fit); + int retval = savefits(dest, fit); + free(dest); + return retval; } } @@ -328,6 +340,20 @@ com.thread = g_thread_new("processing", f, p); } +void start_in_reserved_thread(gpointer (*f)(gpointer), gpointer p) { + g_mutex_lock(&com.mutex); + if (com.thread) { + fprintf(stderr, "The processing thread is busy, stop it first.\n"); + g_mutex_unlock(&com.mutex); + free(p); + return; + } + + com.run_thread = TRUE; + g_mutex_unlock(&com.mutex); + com.thread = g_thread_new("processing", f, p); +} + gpointer waiting_for_thread() { gpointer retval = NULL; if (com.thread) { @@ -365,6 +391,21 @@ return retval; } +// equivalent to atomic get and set if not running +gboolean reserve_thread() { + gboolean retval; + g_mutex_lock(&com.mutex); + retval = !com.run_thread; + if (retval) + com.run_thread = TRUE; + g_mutex_unlock(&com.mutex); + return retval; +} + +void unreserve_thread() { + set_thread_run(FALSE); +} + /* should be called in a threaded function if nothing special has to be done at the end. * siril_add_idle(end_generic, NULL); */ @@ -396,12 +437,3 @@ stop_processing_thread(); wait_for_script_thread(); } - -int seq_filter_all(sequence *seq, int nb_img, double any) { - return 1; -} - -int seq_filter_included(sequence *seq, int nb_img, double any) { - return (seq->imgparam[nb_img].incl); -} - diff -Nru siril-0.9.10/src/core/processing.h siril-0.9.11/src/core/processing.h --- siril-0.9.10/src/core/processing.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/processing.h 2019-05-27 09:16:07.000000000 +0000 @@ -1,6 +1,8 @@ #ifndef _PROCESSING_H_ #define _PROCESSING_H_ +#include "sequence_filtering.h" + /** * * \file processing.h @@ -8,9 +10,6 @@ * */ -/** the dynamic image selection, based on various possible criteria */ -typedef int (*seq_image_filter)(sequence *seq, int nb_img, double param); - /** Main structure of the generic function */ struct generic_seq_args { /** sequence that will be processed */ @@ -76,7 +75,9 @@ /** user data: pointer to operation-specific data */ void *user; - /** do not run the sequence processing in a new thread */ + /** if the generic sequence processing is run from an existing thread, + * the idle function is not executed in the GTK+ main thread but in this + * same thread. If this is false, the generic idle function is run. */ gboolean already_in_a_thread; /** activate parallel execution */ gboolean parallel; @@ -93,15 +94,16 @@ int ser_finalize_hook(struct generic_seq_args *args); int generic_save(struct generic_seq_args *, int, int, fits *); -int seq_filter_all(sequence *seq, int nb_img, double any); -int seq_filter_included(sequence *seq, int nb_img, double any); - void start_in_new_thread(gpointer(*f)(gpointer p), gpointer p); gpointer waiting_for_thread(); void stop_processing_thread(); void set_thread_run(gboolean b); gboolean get_thread_run(); +void start_in_reserved_thread(gpointer (*f)(gpointer), gpointer p); +gboolean reserve_thread(); +void unreserve_thread(); + gboolean end_generic(gpointer arg); guint siril_add_idle(GSourceFunc idle_function, gpointer data); diff -Nru siril-0.9.10/src/core/proto.h siril-0.9.11/src/core/proto.h --- siril-0.9.10/src/core/proto.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/proto.h 2019-05-27 09:16:07.000000000 +0000 @@ -56,8 +56,8 @@ unsigned short nbplane; unsigned short hi; unsigned short lo; - char *date; - char *time; + char *date; + char *time; // internal stuff FILE *file; @@ -103,27 +103,31 @@ int changedir(const char *dir, gchar **err); gchar *get_locale_filename(const gchar *path); int update_sequences_list(const char *sequence_name_to_select); -void update_used_memory(); -double test_available_space(double seq_size); -int get_available_memory_in_MB(); -#ifdef _WIN32 -gchar *get_special_folder(int csidl); -#endif void expand_home_in_filename(char *filename, int size); WORD get_normalized_value(fits*); void read_and_show_textfile(char*, char*); void swap_param(double *, double *); -void quicksort_d (double *a, int n); -void quicksort_s (WORD *a, int n); char* remove_ext_from_filename(const char *basename); char* str_append(char** data, const char* newdata); char* format_basename(char *root); float computePente(WORD *lo, WORD *hi); -void load_css_style_sheet (char *path); +void load_css_style_sheet(); double encodeJD(dateTime dt); -gint strcompare(gconstpointer *a, gconstpointer *b); gboolean allow_to_open_files(int nb_frames, int *nb_allowed_file); -GtkWindow *siril_get_active_window(); + +/**************** OS_utils.h *****************/ +void update_used_memory(); +gchar *pretty_print_memory(int64_t bytes); +int test_available_space(int64_t req_size); +int get_available_memory_in_MB(); +#ifdef _WIN32 +gchar *get_special_folder(int csidl); +#endif +SirilWidget *siril_file_chooser_open(GtkWindow *parent, GtkFileChooserAction action); +SirilWidget *siril_file_chooser_add(GtkWindow *parent, GtkFileChooserAction action); +SirilWidget *siril_file_chooser_save(GtkWindow *parent, GtkFileChooserAction action); +gint siril_dialog_run(SirilWidget *widgetdialog); +void siril_widget_destroy(SirilWidget *widgetdialog); /****************** quantize.h ***************/ int fits_img_stats_ushort(WORD *array, long nx, long ny, int nullcheck, @@ -187,7 +191,6 @@ int nozero(fits *fit, int level); int soper(fits *a, double scalar, char oper); int imoper(fits *a, fits *b, char oper); -int sub_background(fits* image, fits* background, int layer); int addmax(fits *a, fits *b); int siril_fdiv(fits *a, fits *b, float scalar); int siril_ndiv(fits *a, fits *b); @@ -202,8 +205,6 @@ int fill(fits *fit, int level, rectangle *arearg); int off(fits *a, int level); int lrgb(fits *l, fits *r, fits *g, fits *b, fits *lrgb); -gpointer seqpreprocess(gpointer empty); -void initialize_preprocessing(); double background(fits* fit, int reqlayer, rectangle *selection); int backgroundnoise(fits* fit, double sigma[]); void show_FITS_header(fits *); diff -Nru siril-0.9.10/src/core/sequence_filtering.c siril-0.9.11/src/core/sequence_filtering.c --- siril-0.9.10/src/core/sequence_filtering.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/sequence_filtering.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,410 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include +#include +#include // DBL_MIN, DBL_MAX +#include +#include +#include +#include "sequence_filtering.h" +#include "proto.h" // is_readable_file() +#include "registration/registration.h" +#include "io/sequence.h" +#include "stacking/stacking.h" +#include "gui/progress_and_log.h" +#include "algos/sorting.h" + +#define MAX_FILTERS 5 + +/******************* IMAGE FILTERING CRITERIA *******************/ + +/* a criterion exists for each image filtering method, and is called in a + * processing to verify if an image should be included or not. + * These functions have the same signature, defined in stacking.h as + * seq_filter, and return 1 if the tested image will be included and 0 if not. + * Several filters can be applied at the same time, using the multiple filter + * that executes a list of filter functions (seq_filter_multiple()). + */ + +int seq_filter_all(sequence *seq, int nb_img, double any) { + return 1; +} + +int seq_filter_included(sequence *seq, int nb_img, double any) { + return (seq->imgparam[nb_img].incl); +} + +/* filter for deep-sky */ +int seq_filter_fwhm(sequence *seq, int nb_img, double max_fwhm) { + int layer; + if (!seq->regparam) return 0; + layer = get_registration_layer(seq); + if (layer == -1) return 0; + if (!seq->regparam[layer]) return 0; + if (seq->regparam[layer][nb_img].fwhm > 0.0f) + return seq->regparam[layer][nb_img].fwhm <= max_fwhm; + else return 0; +} + +int seq_filter_roundness(sequence *seq, int nb_img, double min_rnd) { + int layer; + if (!seq->regparam) return 0; + layer = get_registration_layer(seq); + if (layer == -1) return 0; + if (!seq->regparam[layer]) return 0; + if (seq->regparam[layer][nb_img].roundness > 0.0f) + return seq->regparam[layer][nb_img].roundness >= min_rnd; + else return 0; +} + +/* filter for planetary */ +int seq_filter_quality(sequence *seq, int nb_img, double max_quality) { + int layer; + if (!seq->regparam) return 0; + layer = get_registration_layer(seq); + if (layer == -1) return 0; + if (!seq->regparam[layer]) return 0; + if (seq->regparam[layer][nb_img].quality > 0.0) + return seq->regparam[layer][nb_img].quality >= max_quality; + else return 0; +} + +/* browse the images to konw how many fit the criterion, from global data */ +// ensure that com.seq is loaded before passing it as seq: sequence_is_loaded() +int compute_nb_filtered_images(sequence *seq, seq_image_filter filtering_criterion, double filtering_parameter) { + int i, count = 0; + for (i = 0; i < seq->number; i++) { + if (filtering_criterion(seq, i, filtering_parameter)) + count++; + } + fprintf(stdout, "number of filtered-in images: %d\n", count); + return count; +} + +/************** The funny existing file sequence filtering function *****************/ + +static const char *_filter_prefix; + +static int seq_filter_output_doesnt_already_exists(sequence *seq, int in_index, double any) { + if (!_filter_prefix) + fprintf(stderr, "USING FILTER PREFIX WITHOUT INITIALIZATION\n"); + if (seq->type != SEQ_REGULAR || !_filter_prefix) + return 0; + char *dest = fit_sequence_get_image_filename_prefixed(seq, _filter_prefix, in_index); + int retval = is_readable_file(dest); + //fprintf(stdout, "file %s exists: %d\n", dest, retval); + free(dest); + return !retval; +} + +/* in C, there's no dynamic function creation, like lambda functions, so we + * simulate that by keeping the captured variables in a static field. The + * returned function is simply the regular function above, which is kept + * private in order to avoid its uninitialized use. The limitation with this + * static field is that it can be used once at a time. + */ +seq_image_filter create_filter_prefixed_nonexisting_output(const char *prefix) { + _filter_prefix = prefix; + fprintf(stdout, "created filter for prefixed output `%s'\n", prefix); + return seq_filter_output_doesnt_already_exists; +} + +/****************** MULTIPLE FILTERING ********************/ + +static struct filtering_tuple _filters[MAX_FILTERS]; + +static int seq_filter_multiple(sequence *seq, int img_index, double any) { + int f = 0; + while (f < MAX_FILTERS && _filters[f].filter) { + if (!_filters[f].filter(seq, img_index, _filters[f].param)) + return 0; + f++; + } + return 1; +} + +/* configure the multiple filter */ +seq_image_filter create_multiple_filter(seq_image_filter filter1, double fparam1, ...) { + va_list args; + int nb_filters = 1; + _filters[0].filter = filter1; + _filters[0].param = fparam1; + va_start(args, fparam1); + seq_image_filter f; + do { + _filters[nb_filters].filter = NULL; + f = va_arg(args, seq_image_filter); + if (f) { + assert(f == seq_filter_multiple); // no multiple of multiple + _filters[nb_filters].filter = f; + _filters[nb_filters].param = va_arg(args, double); + nb_filters++; + } + } while (f && nb_filters < MAX_FILTERS); + fprintf(stdout, "created multiple filter (%d filters)\n", nb_filters); + va_end(args); + return seq_filter_multiple; +} + +seq_image_filter create_multiple_filter_from_list(struct filtering_tuple *filters) { + int nb_filters = 0; + while (nb_filters < MAX_FILTERS && filters[nb_filters].filter) { + assert(filters[nb_filters].filter != seq_filter_multiple); // no multiple of multiple + _filters[nb_filters].filter = filters[nb_filters].filter; + _filters[nb_filters].param = filters[nb_filters].param; + nb_filters++; + } + if (nb_filters < MAX_FILTERS) + _filters[nb_filters].filter = NULL; + fprintf(stdout, "created multiple filter (%d filters)\n", nb_filters); + return seq_filter_multiple; +} + +/******************* filtering set-up **********************/ + +// creates the filtering criterion from a stacking configuration +// raises an error if the configuration has duplicates +// at least two images to be selected +int convert_stack_data_to_filter(struct stacking_configuration *arg, struct stacking_args *stackargs) { + int nb_filters = 0; + int layer = get_registration_layer(stackargs->seq); + struct filtering_tuple filters[5] = { { NULL, 0.0 } }; + + if ((arg->f_fwhm_p > 0.0f && arg->f_fwhm > 0.0f) || + (arg->f_round_p > 0.0f && arg->f_round > 0.0f) || + (arg->f_quality_p > 0.0f && arg->f_quality > 0.0f)) { + siril_log_message(_("Sequence filter: values can only be either literal or percent\n")); + return 1; + } + if (arg->filter_included) { + filters[nb_filters].filter = seq_filter_included; + filters[nb_filters].param = stackargs->seq->selnum; + siril_log_message(_("Using selected images filter (%d/%d of the sequence)\n"), + stackargs->seq->selnum, stackargs->seq->number); + nb_filters++; + } + if (arg->f_fwhm_p > 0.0f || arg->f_fwhm > 0.0f) { + filters[nb_filters].filter = seq_filter_fwhm; + filters[nb_filters].param = arg->f_fwhm > 0.f ? arg->f_fwhm : + compute_highest_accepted_fwhm(stackargs->seq, layer, arg->f_fwhm_p); + siril_log_message(_("Using star FWHM images filter (below %f)\n"), + filters[nb_filters].param); + nb_filters++; + } + if (arg->f_round_p > 0.0f || arg->f_round > 0.0f) { + filters[nb_filters].filter = seq_filter_roundness; + filters[nb_filters].param = arg->f_round > 0.f ? arg->f_round : + compute_lowest_accepted_roundness(stackargs->seq, layer, arg->f_round_p); + siril_log_message(_("Using star roundness images filter (above %f)\n"), + filters[nb_filters].param); + nb_filters++; + } + if (arg->f_quality_p > 0.0f || arg->f_quality > 0.0f) { + filters[nb_filters].filter = seq_filter_quality; + filters[nb_filters].param = arg->f_quality > 0.f ? arg->f_quality : + compute_lowest_accepted_quality(stackargs->seq, layer, arg->f_quality_p); + siril_log_message(_("Using image quality filter (below %f)\n"), + filters[nb_filters].param); + nb_filters++; + } + filters[nb_filters].filter = NULL; + + if (nb_filters == 0) { + stackargs->filtering_criterion = seq_filter_all; + stackargs->filtering_parameter = 0.0; + } + else if (nb_filters == 1) { + stackargs->filtering_criterion = filters[0].filter; + stackargs->filtering_parameter = filters[0].param; + } + else { + stackargs->filtering_criterion = create_multiple_filter_from_list(filters); + stackargs->filtering_parameter = -1.0; + } + return 0; +} + +// have to be set or init before calling: +// seq, filtering_criterion, filtering_parameter, image_indices +int setup_filtered_data(struct stacking_args *args) { + args->nb_images_to_stack = compute_nb_filtered_images(args->seq, + args->filtering_criterion, args->filtering_parameter); + if (args->nb_images_to_stack < 2) { + siril_log_message(_("Provided filtering options do not allow at least two images to be processed.\n")); + return 1; + } + if (args->image_indices) + free(args->image_indices); + return stack_fill_list_of_unfiltered_images(args); +} + +/* fill the image_indices mapping for the args->image_indices array. + * args->image_indices will be allocated to nb_images_to_stack. */ +int stack_fill_list_of_unfiltered_images(struct stacking_args *args) { + int i, j; + if (args->image_indices) { + int *newptr = realloc(args->image_indices, args->nb_images_to_stack * sizeof(int)); + if (!newptr) { + PRINT_ALLOC_ERR; + free(args->image_indices); + args->image_indices = NULL; + return 1; + } + args->image_indices = newptr; + } else { + args->image_indices = malloc(args->nb_images_to_stack * sizeof(int)); + } + + for (i = 0, j = 0; i < args->seq->number; i++) { + if (args->filtering_criterion( + args->seq, i, + args->filtering_parameter)) { + args->image_indices[j] = i; + j++; + } + else if (i == args->ref_image) { + siril_log_color_message(_("The reference image is not in the selected set of images. " + "To avoid issues, please change it or change the filtering parameters.\n"), "red"); + args->ref_image = -1; + } + } + if (args->ref_image == -1) { + args->ref_image = args->image_indices[0]; + siril_log_message(_("Using image %d as temporary reference image\n"), args->ref_image); + } + return j != args->nb_images_to_stack; +} + +typedef double (*regdata_selector)(regdata *reg); + +static double regdata_fwhm(regdata *reg) { return reg->fwhm; } +static double regdata_roundness(regdata *reg) { return reg->roundness; } +static double regdata_quality(regdata *reg) { return reg->quality; } + +/* from a percentage, find the lowest or highest accepted registration property + * value for image filtering in sequences. */ +static double generic_compute_accepted_value(sequence *seq, int layer, double percent, gboolean lower_is_better, regdata_selector datasel) { + int i, number_images_with_data; + double threshold, *val; + double extreme_value = lower_is_better ? DBL_MAX : DBL_MIN; + if (layer < 0 || !seq->regparam || !seq->regparam[layer]) { + return 0.0; + } + val = malloc(seq->number * sizeof(double)); + if (!val) return 0.0; + + // copy values + for (i = 0; i < seq->number; i++) { + double data = datasel(&seq->regparam[layer][i]); + val[i] = data <= 0.0f ? extreme_value : data; + } + + //sort values + quicksort_d(val, seq->number); + + if (val[seq->number-1] != extreme_value) { + number_images_with_data = seq->number; + } else { + for (i = 0; i < seq->number; i++) + if (val[i] == extreme_value) + break; + number_images_with_data = i; + siril_log_message(_("Warning: some images don't have information available for best " + "images selection, using only available data (%d images on %d).\n"), + number_images_with_data, seq->number); + } + + // get highest or lowest accepted (threshold) + double images_number = (double)(number_images_with_data - 1); + if (lower_is_better) { + threshold = val[(int)(percent * images_number / 100.0)]; + if (threshold == extreme_value) + threshold = 0.0; + } else { + threshold = val[(int)((100.0 - percent) * images_number / 100.0)]; + } + + free(val); + return threshold; +} + +double compute_highest_accepted_fwhm(sequence *seq, int layer, double percent) { + return generic_compute_accepted_value(seq, layer, percent, TRUE, regdata_fwhm); +} + +double compute_lowest_accepted_quality(sequence *seq, int layer, double percent) { + return generic_compute_accepted_value(seq, layer, percent, FALSE, regdata_quality); +} + +double compute_lowest_accepted_roundness(sequence *seq, int layer, double percent) { + return generic_compute_accepted_value(seq, layer, percent, FALSE, regdata_roundness); +} + +char *describe_filter(sequence *seq, seq_image_filter filtering_criterion, double filtering_parameter) { + GString *str = g_string_sized_new(100); + int nb_images_to_stack = compute_nb_filtered_images(seq, + filtering_criterion, filtering_parameter); + + if (filtering_criterion == seq_filter_all) { + g_string_printf(str, _("Processing all images in the sequence (%d)\n"), seq->number); + } + else if (filtering_criterion == seq_filter_included) { + g_string_printf(str, _("Processing only selected images in the sequence (%d)\n"), seq->selnum); + } + else if (filtering_criterion == seq_filter_fwhm) { + g_string_printf(str, _("Processing images of the sequence " + "with a FWHM lower or equal than %g (%d)\n"), + filtering_parameter, nb_images_to_stack); + } + else if (filtering_criterion == seq_filter_roundness) { + g_string_printf(str, _("Processing images of the sequence " + "with a roundness higher or equal than %g (%d)\n"), + filtering_parameter, nb_images_to_stack); + } + else if (filtering_criterion == seq_filter_quality) { + g_string_printf(str, _("Processing images of the sequence " + "with a quality higher or equal than %g (%d)\n"), + filtering_parameter, nb_images_to_stack); + } + else if (filtering_criterion == seq_filter_output_doesnt_already_exists) { + g_string_printf(str, _("Processing images whose output don't already exist (%d)"), + nb_images_to_stack); + } + else if (filtering_criterion == seq_filter_multiple) { + int f = 0; + while (f < MAX_FILTERS && _filters[f].filter) { + struct filtering_tuple *filter = _filters + f; + char *descr = describe_filter(seq, filter->filter, filter->param); + if (descr && descr[0] != '\0') { + descr[strlen(descr)-1] = '\0'; // remove the new line + if (f) descr[0] = tolower(descr[0]); + } + g_string_append(str, descr); + g_string_append(str, ", "); + g_free(descr); + f++; + } + g_string_append_printf(str, _("for a total of images processed of %d)\n"), + nb_images_to_stack); + } + //fprintf(stdout, "FILTERING DECRIPTION: %s", str->str); + return g_string_free(str, FALSE); +} diff -Nru siril-0.9.10/src/core/sequence_filtering.h siril-0.9.11/src/core/sequence_filtering.h --- siril-0.9.10/src/core/sequence_filtering.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/sequence_filtering.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,39 @@ +#ifndef _SEQ_FILTERING_H_ +#define _SEQ_FILTERING_H_ + +#include "core/siril.h" + +struct stacking_args; +struct stacking_configuration; + +typedef int (*seq_image_filter)(sequence *seq, int img_index, double param); + +struct filtering_tuple { + seq_image_filter filter; + double param; +}; + +int seq_filter_all(sequence *seq, int nb_img, double any); +int seq_filter_included(sequence *seq, int nb_img, double any); +int seq_filter_fwhm(sequence *seq, int nb_img, double max_fwhm); +int seq_filter_quality(sequence *seq, int nb_img, double max_quality); +int seq_filter_roundness(sequence *seq, int nb_img, double min_rnd); + +int compute_nb_filtered_images(sequence *seq, seq_image_filter filtering_criterion, double filtering_parameter); + +seq_image_filter create_filter_prefixed_nonexisting_output(const char *prefix); + +seq_image_filter create_multiple_filter(seq_image_filter filter1, double fparam1, ...); +seq_image_filter create_multiple_filter_from_list(struct filtering_tuple *filters); + +int convert_stack_data_to_filter(struct stacking_configuration *arg, struct stacking_args *stackargs); +int setup_filtered_data(struct stacking_args *args); + +int stack_fill_list_of_unfiltered_images(struct stacking_args *args); +double compute_highest_accepted_fwhm(sequence *seq, int layer, double percent); +double compute_lowest_accepted_quality(sequence *seq, int layer, double percent); +double compute_lowest_accepted_roundness(sequence *seq, int layer, double percent); + +char *describe_filter(sequence *seq, seq_image_filter filtering_criterion, double filtering_parameter); + +#endif diff -Nru siril-0.9.10/src/core/siril.c siril-0.9.11/src/core/siril.c --- siril-0.9.10/src/core/siril.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/siril.c 2019-05-27 09:16:07.000000000 +0000 @@ -19,9 +19,6 @@ */ #include -#ifdef MAC_INTEGRATION -#include -#endif #include #include #include @@ -53,12 +50,12 @@ #include "io/sequence.h" #include "io/single_image.h" #include "io/ser.h" -#include "algos/gradient.h" #include "algos/colors.h" #include "algos/Def_Math.h" #include "algos/Def_Wavelet.h" #include "algos/cosmetic_correction.h" #include "algos/statistics.h" +#include "algos/sorting.h" #include "algos/plateSolver.h" #include "opencv/opencv.h" @@ -168,77 +165,30 @@ for (layer = 0; layer < a->naxes[2]; ++layer) { WORD *buf = b->pdata[layer]; WORD *gbuf = a->pdata[layer]; - int n = a->rx * a->ry; - switch (oper) { - case OPER_ADD: - for (i = 0; i < n; ++i) { - gbuf[i] = round_to_WORD(gbuf[i] + buf[i]); - } - break; - case OPER_SUB: - for (i = 0; i < n; ++i) { - gbuf[i] = round_to_WORD(gbuf[i] - buf[i]); - } - break; - case OPER_MUL: - for (i = 0; i < n; ++i) { - gbuf[i] = round_to_WORD(gbuf[i] * buf[i]); - } - break; - case OPER_DIV: - for (i = 0; i < n; ++i) { - gbuf[i] = (buf[i] == 0) ? 0 : round_to_WORD(gbuf[i] / buf[i]); + double dbuf, dgbuf; + for (i = 0; i < a->rx * a->ry; ++i) { + dbuf = (double) buf[i]; + dgbuf = (double) gbuf[i]; + switch (oper) { + case OPER_ADD: + gbuf[i] = round_to_WORD(dgbuf + dbuf); + break; + case OPER_SUB: + gbuf[i] = round_to_WORD(dgbuf - dbuf); + break; + case OPER_MUL: + gbuf[i] = round_to_WORD(dgbuf * dbuf); + break; + case OPER_DIV: + gbuf[i] = (buf[i] == 0) ? 0 : round_to_WORD(dgbuf / dbuf); + break; } - break; } } invalidate_stats_from_fit(a); return 0; } -/* This function applies a subtraction but contrary to Sub in imoper - * it will use double type format. - */ -int sub_background(fits* image, fits* background, int layer) { - double *pxl_image, *pxl_bkg; - WORD *image_buf = image->pdata[layer]; - WORD *bkg_buf = background->pdata[layer]; - size_t i, ndata; - double median; - - if ((image->rx) != (background->rx) || ((image->ry) != (background->ry))) { - char *msg = siril_log_message( - _("Images don't have the same size (w = %d|%d, h = %d|%d)\n"), - image->rx, background->rx, image->ry, background->ry); - siril_message_dialog( GTK_MESSAGE_ERROR, _("Error"), msg); - return 1; - } - ndata = image->rx * image->ry; - - /* First step we convert data, apply the subtraction, normalize with median, - * and re-convert data to USHORT - */ - imstats *stat = statistics(NULL, -1, image, layer, NULL, STATS_BASIC); - median = stat->median / USHRT_MAX_DOUBLE; - pxl_image = malloc(sizeof(double) * ndata); - pxl_bkg = malloc(sizeof(double) * ndata); - - for (i = 0; i < ndata; i++) { - pxl_image[i] = (double) image_buf[i] / USHRT_MAX_DOUBLE; - pxl_bkg[i] = (double) bkg_buf[i] / USHRT_MAX_DOUBLE; - pxl_image[i] -= pxl_bkg[i]; - pxl_image[i] += median; - image_buf[i] = round_to_WORD(pxl_image[i] * USHRT_MAX_DOUBLE); - } - - invalidate_stats_from_fit(image); - // We free memory - free_stats(stat); - free(pxl_image); - free(pxl_bkg); - return 0; -} - int addmax(fits *a, fits *b) { WORD *gbuf[3] = { a->pdata[RLAYER], a->pdata[GLAYER], a->pdata[BLAYER] }; WORD *buf[3] = { b->pdata[RLAYER], b->pdata[GLAYER], b->pdata[BLAYER] }; @@ -280,8 +230,10 @@ if (buf[i] == 0) buf[i] = 1; // avoid division by 0 temp = ((double) coef * ((double) gbuf[i] / (double) buf[i])); - if (temp > USHRT_MAX_DOUBLE) + if (temp > USHRT_MAX_DOUBLE) { + siril_debug_print("OVERFLOW in FDIV: %lf\n", temp); retvalue = 1; + } gbuf[i] = round_to_WORD(temp); } } @@ -639,374 +591,6 @@ return 0; } -static double evaluateNoiseOfCalibratedImage(fits *fit, fits *dark, double k) { - double noise = 0.0; - fits dark_tmp = { 0 }, fit_tmp = { 0 }; - int chan, ret = 0; - rectangle area = { 0 }; - - /* square of 512x512 in the center of the image */ - int size = 512; - area.x = (fit->rx - size) / 2; - area.y = (fit->ry - size) / 2; - area.w = size; - area.h = size; - - copyfits(dark, &dark_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, -1); - copyfits(fit, &fit_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, -1); - - soper(&dark_tmp, k, OPER_MUL); - ret = imoper(&fit_tmp, &dark_tmp, OPER_SUB); - if (ret) { - clearfits(&dark_tmp); - clearfits(&fit_tmp); - return -1.0; - } - - for (chan = 0; chan < fit->naxes[2]; chan++) { - imstats *stat = statistics(NULL, -1, &fit_tmp, chan, &area, STATS_BASIC); - if (!stat) { - siril_log_message(_("Error: statistics computation failed.\n")); - return 0.0; - } - noise += stat->sigma; - free_stats(stat); - } - clearfits(&dark_tmp); - clearfits(&fit_tmp); - - return noise; -} - -#define GR ((sqrt(5) - 1) / 2) - -static double goldenSectionSearch(fits *brut, fits *dark, double a, double b, - double tol) { - double c, d; - double fc, fd; - int iter = 0; - - c = b - GR * (b - a); - d = a + GR * (b - a); - do { - siril_debug_print("Iter: %d (%1.2lf, %1.2lf)\n", ++iter, c, d); - fc = evaluateNoiseOfCalibratedImage(brut, dark, c); - fd = evaluateNoiseOfCalibratedImage(brut, dark, d); - if (fc < 0.0 || fd < 0.0) - return -1.0; - if (fc < fd) { - b = d; - d = c; - c = b - GR * (b - a); - } else { - a = c; - c = d; - d = a + GR * (b - a); - } - } while (fabs(c - d) > tol); - return ((b + a) / 2.0); -} - -static int preprocess(fits *brut, fits *offset, fits *dark, fits *flat, float level) { - int ret = 0; - - if (com.preprostatus & USE_OFFSET) { - ret = imoper(brut, offset, OPER_SUB); - if (ret) - return ret; - } - - /* if dark optimization, the master-dark has already been subtracted */ - if ((com.preprostatus & USE_DARK) && !(com.preprostatus & USE_OPTD)) { - ret = imoper(brut, dark, OPER_SUB); - if (ret) - return ret; - } - - if (com.preprostatus & USE_FLAT) { - siril_fdiv(brut, flat, level); - } - - return 0; -} - -static int darkOptimization(fits *brut, fits *dark, fits *offset) { - double k0; - double lo = 0.0; - double up = 2.0; - int ret = 0; - fits dark_tmp = { 0 }; - - if (brut->rx != dark->rx || - brut->ry != dark->ry) { - return -1; - } - - copyfits(dark, &dark_tmp, CP_ALLOC | CP_COPYA | CP_FORMAT, 0); - - /* Minimization of background noise to find better k */ - invalidate_stats_from_fit(brut); - k0 = goldenSectionSearch(brut, &dark_tmp, lo, up, 1E-3); - if (k0 < 0.0) - return -1; - - siril_log_message(_("Dark optimization: k0=%1.3lf\n"), k0); - /* Multiply coefficient to master-dark */ - if (com.preprostatus & USE_OFFSET) { - ret = imoper(&dark_tmp, offset, OPER_SUB); - if (ret) { - clearfits(&dark_tmp); - return ret; - } - } - soper(&dark_tmp, k0, OPER_MUL); - ret = imoper(brut, &dark_tmp, OPER_SUB); - - clearfits(&dark_tmp); - return ret; -} - -// idle function executed at the end of the sequence preprocessing -static gboolean end_sequence_prepro(gpointer p) { - struct preprocessing_data *args = (struct preprocessing_data *) p; - struct timeval t_end; - fprintf(stdout, "Ending sequence prepro idle function, retval=%d\n", - args->retval); - stop_processing_thread();// can it be done here in case there is no thread? - set_cursor_waiting(FALSE); - gettimeofday(&t_end, NULL); - show_time(args->t_start, t_end); - update_used_memory(); - if (args->is_sequence) { - if (!args->retval) { - // load the new sequence - char *ppseqname = malloc( - strlen(args->seq->ppprefix) + strlen(args->seq->seqname) + 5); - sprintf(ppseqname, "%s%s.seq", args->seq->ppprefix, - args->seq->seqname); - check_seq(0); - update_sequences_list(ppseqname); - free(ppseqname); - } - sequence_free_preprocessing_data(args->seq); - free(args->seq->ppprefix); - } -#ifdef MAC_INTEGRATION - GtkosxApplication *osx_app = gtkosx_application_get(); - gtkosx_application_attention_request(osx_app, INFO_REQUEST); - g_object_unref (osx_app); -#endif - free(args); - return FALSE; -} - -/* doing the preprocessing. No unprotected GTK+ calls can go there. - * returns 1 on error */ -gpointer seqpreprocess(gpointer p) { - char dest_filename[256], msg[256]; - fits *dark, *offset, *flat, *fit = NULL; - int ret = 0; - struct preprocessing_data *args = (struct preprocessing_data *) p; - - dark = args->dark; - offset = args->offset; - flat = args->flat; - args->retval = 0; - - // remove old sequence - if (args->is_sequence) { - char *ppseqname = malloc( - strlen(args->seq->ppprefix) + strlen(args->seq->seqname) + 5); - sprintf(ppseqname, "%s%s.seq", args->seq->ppprefix, args->seq->seqname); - unlink(ppseqname); - free(ppseqname); - } - - if (com.preprostatus & USE_FLAT) { - if (args->equalize_cfa) { - compute_grey_flat(flat); - } - if (args->autolevel) { - imstats *stat = statistics(NULL, -1, flat, RLAYER, NULL, STATS_BASIC); - if (!stat) { - siril_log_message(_("Error: statistics computation failed.\n")); - return GINT_TO_POINTER(1); - } - args->normalisation = stat->mean; - siril_log_message(_("Normalisation value auto evaluated: %.2lf\n"), - args->normalisation); - free_stats(stat); - } - } - - if (!args->is_sequence) { - snprintf(msg, 255, _("Pre-processing image %s"), com.uniq->filename); - msg[255] = '\0'; - set_progress_bar_data(msg, 0.5); - - if (new_fit_image(&fit, com.uniq->fit->rx, com.uniq->fit->ry, - com.uniq->fit->naxes[2])) - return GINT_TO_POINTER(1); - copyfits(com.uniq->fit, fit, CP_ALLOC | CP_FORMAT | CP_COPYA, 0); - copy_fits_metadata(com.uniq->fit, fit); - - if ((com.preprostatus & USE_OPTD) && (com.preprostatus & USE_DARK)) { - ret = darkOptimization(fit, dark, offset); - if (ret) { - set_progress_bar_data(msg, PROGRESS_NONE); - clearfits(fit); - free(fit); - return(GINT_TO_POINTER(1)); - } - } - - ret = preprocess(fit, offset, dark, flat, args->normalisation); - if (ret) { - set_progress_bar_data(msg, PROGRESS_NONE); - clearfits(fit); - free(fit); - return(GINT_TO_POINTER(1)); - } - - if ((com.preprostatus & USE_COSME) && (com.preprostatus & USE_DARK)) { - if (dark->naxes[2] == 1) { - /* Cosmetic correction */ - long icold, ihot; - deviant_pixel *dev = find_deviant_pixels(dark, args->sigma, &icold, &ihot); - siril_log_message(_("%ld pixels corrected (%ld + %ld)\n"), - icold + ihot, icold, ihot); - cosmeticCorrection(fit, dev, icold + ihot, args->is_cfa); - if (dev) - free(dev); - } - else - siril_log_message(_("Darkmap cosmetic correction " - "is only supported with single channel images\n")); - } - - if (args->debayer) { - debayer_if_needed(TYPEFITS, fit, args->compatibility, TRUE); - } - - gchar *filename = g_path_get_basename(com.uniq->filename); - char *filename_noext = remove_ext_from_filename(filename); - snprintf(dest_filename, 255, "%s%s", com.uniq->ppprefix, filename_noext); - dest_filename[255] = '\0'; - snprintf(msg, 255, _("Saving image %s"), filename_noext); - msg[255] = '\0'; - set_progress_bar_data(msg, PROGRESS_NONE); - savefits(dest_filename, fit); - clearfits(fit); - free(fit); - g_free(filename); - free(filename_noext); - } else { // sequence - struct ser_struct *new_ser_file = NULL; - char source_filename[256]; - int i; - long icold = 0L, ihot = 0L; - deviant_pixel *dev = NULL; - - // creating a SER file if the input data is SER - if (args->seq->type == SEQ_SER) { - char new_ser_filename[256]; - new_ser_file = calloc(1, sizeof(struct ser_struct)); - snprintf(new_ser_filename, 255, "%s%s", args->seq->ppprefix, args->seq->ser_file->filename); - if (ser_create_file(new_ser_filename, new_ser_file, TRUE, args->seq->ser_file)) { - free(new_ser_file); - new_ser_file = NULL; - return GINT_TO_POINTER(1); - } - } - - if ((com.preprostatus & USE_COSME) && (com.preprostatus & USE_DARK)) { - if (dark->naxes[2] == 1) { - dev = find_deviant_pixels(dark, args->sigma, &icold, &ihot); - siril_log_message(_("%ld pixels corrected (%ld + %ld)\n"), - icold + ihot, icold, ihot); - } else - siril_log_message(_("Darkmap cosmetic correction " - "is only supported with single channel images\n")); - } - - /* allocating memory to new fits */ - fit = calloc(1, sizeof(fits)); - if (!fit) { - fprintf(stderr, "Error: allocating memory to fit.\n"); - siril_add_idle(end_sequence_prepro, args); - return GINT_TO_POINTER(1); - } - - for (i = 0; i < args->seq->number; i++) { - if (!get_thread_run()) - break; - seq_get_image_filename(args->seq, i, source_filename); - snprintf(msg, 255, _("Loading and pre-processing image %d/%d (%s)"), - i + 1, args->seq->number, source_filename); - msg[255] = '\0'; - set_progress_bar_data(msg, - (double) (i + 1) / (double) args->seq->number); - if (seq_read_frame(args->seq, i, fit)) { - snprintf(msg, 255, _("Could not read one of the raw files: %s." - " Aborting preprocessing."), source_filename); - msg[255] = '\0'; - set_progress_bar_data(msg, PROGRESS_RESET); - args->retval = 1; - break; - } - if ((com.preprostatus & USE_OPTD) && (com.preprostatus & USE_DARK)) { - ret = darkOptimization(fit, dark, offset); - if (ret) { - set_progress_bar_data(msg, PROGRESS_NONE); - clearfits(fit); - free(fit); - siril_add_idle(end_sequence_prepro, args); - return GINT_TO_POINTER(ret); - } - } - - ret = preprocess(fit, offset, dark, flat, args->normalisation); - if (ret) { - set_progress_bar_data(msg, PROGRESS_NONE); - clearfits(fit); - free(fit); - siril_add_idle(end_sequence_prepro, args); - return GINT_TO_POINTER(ret); - } - - if ((com.preprostatus & USE_COSME) && (com.preprostatus & USE_DARK) && (dark->naxes[2] == 1)) - cosmeticCorrection(fit, dev, icold + ihot, args->is_cfa); - - if (args->debayer && args->seq->type == SEQ_REGULAR) { - debayer_if_needed(TYPEFITS, fit, args->compatibility, TRUE); - } - - snprintf(dest_filename, 255, "%s%s", args->seq->ppprefix, - source_filename); - dest_filename[255] = '\0'; - snprintf(msg, 255, "Saving image %d/%d (%s)", i + 1, args->seq->number, - dest_filename); - if (args->seq->type == SEQ_SER) { - ser_write_frame_from_fit(new_ser_file, fit, i); - } else { - savefits(dest_filename, fit); - } - clearfits(fit); - } - free(fit); - // closing SER file if it applies - if (args->seq->type == SEQ_SER && (new_ser_file != NULL)) { - ser_write_and_close(new_ser_file); - free(new_ser_file); - new_ser_file = NULL; - } - set_progress_bar_data(PROGRESS_TEXT_RESET, PROGRESS_RESET); - if (dev) free(dev); - } - siril_add_idle(end_sequence_prepro, args); - return GINT_TO_POINTER(args->retval); -} - /* computes the background value using the histogram and/or median value. * The argument layer can be -1 for automatic setting (= green for RGB) */ double background(fits* fit, int reqlayer, rectangle *selection) { @@ -1087,7 +671,8 @@ snprintf(msg, 256, _("Extracting %s..."), filename); set_progress_bar_data(msg, (float)i / Nbr_Plan); get_wavelet_layers(fit, Nbr_Plan, i, Type, -1); - savefits(filename, fit); + if (savefits(filename, fit)) + break; } set_progress_bar_data(PROGRESS_TEXT_RESET, PROGRESS_DONE); return 0; @@ -1119,6 +704,7 @@ int nx = args->fit->rx; int ny = args->fit->ry; int radius = (args->ksize - 1) / 2; + int ksize_squared = args->ksize * args->ksize; double norm = (double) get_normalized_value(args->fit); double cur = 0.0, total; assert(nx > 0 && ny > 0); @@ -1130,6 +716,14 @@ set_progress_bar_data(msg, PROGRESS_RESET); gettimeofday(&t_start, NULL); + WORD *data = calloc(ksize_squared, sizeof(WORD)); + if (data == NULL) { + printf("median filter: error allocating data\n"); + siril_add_idle(end_median_filter, args); + set_progress_bar_data(_("Median filter failed"), PROGRESS_DONE); + return GINT_TO_POINTER(1); + } + do { for (layer = 0; layer < args->fit->naxes[2]; layer++) { /* FILL image upside-down */ @@ -1150,27 +744,18 @@ set_progress_bar_data(NULL, cur / total); cur++; for (x = 0; x < nx; x++) { - WORD *data = calloc(args->ksize * args->ksize, - sizeof(WORD)); - if (data == NULL) { - printf("median filter: error allocating data\n"); - free(image); - siril_add_idle(end_median_filter, args); - set_progress_bar_data(_("Median filter failed"), PROGRESS_DONE); - return GINT_TO_POINTER(1); - } i = 0; for (yy = y - radius; yy <= y + radius; yy++) { for (xx = x - radius; xx <= x + radius; xx++) { WORD tmp; if (xx < 0 && yy >= 0) { if (yy >= ny) - tmp = image[ny - 1][00]; + tmp = image[ny - 1][0]; else tmp = image[yy][0]; } else if (xx > 0 && yy <= 0) { if (xx >= nx) - tmp = image[00][nx - 1]; + tmp = image[0][nx - 1]; else tmp = image[0][xx]; } else if (xx <= 0 && yy <= 0) { @@ -1188,13 +773,11 @@ data[i++] = tmp; } } - quicksort_s(data, args->ksize * args->ksize); - WORD median = round_to_WORD(gsl_stats_ushort_median_from_sorted_data(data, 1, args->ksize * args->ksize)); + WORD median = round_to_WORD(quickmedian(data,ksize_squared)); double pixel = args->amount * (median / norm); pixel += (1.0 - args->amount) * ((double) image[y][x] / norm); image[y][x] = round_to_WORD(pixel * norm); - free(data); } } free(image); @@ -1202,6 +785,7 @@ iter++; } while (iter < args->iterations && get_thread_run()); invalidate_stats_from_fit(args->fit); + free(data); gettimeofday(&t_end, NULL); show_time(t_start, t_end); set_progress_bar_data(_("Median filter applied"), PROGRESS_DONE); @@ -1335,8 +919,9 @@ } memcpy(cpyline, line, fit->rx * sizeof(WORD)); int n = fit->rx; - quicksort_s(cpyline, n); + double median; if (protect_highlights) { + quicksort_s(cpyline, n); WORD reject = round_to_WORD( background + invsigma * globalsigma); for (i = fit->rx - 1; i >= 0; i--) { @@ -1344,9 +929,11 @@ break; n--; } + median = gsl_stats_ushort_median_from_sorted_data(cpyline, 1, n); + } else { + median = round_to_WORD(quickmedian(cpyline, n)); } - double median = gsl_stats_ushort_median_from_sorted_data(cpyline, 1, n); rowvalue[row] = background - median; minimum = min(minimum, rowvalue[row]); free(cpyline); @@ -1565,7 +1152,7 @@ config = 1; } - /* apllies coefficients to cfa image */ + /* applies coefficients to cfa image */ equalize_cfa_fit_with_coeffs(fit, coeff1, coeff2, config); } diff -Nru siril-0.9.10/src/core/siril.h siril-0.9.11/src/core/siril.h --- siril-0.9.10/src/core/siril.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/siril.h 2019-05-27 09:16:07.000000000 +0000 @@ -26,8 +26,11 @@ #define DEBUG_TEST 0 #endif +/* https://stackoverflow.com/questions/1644868/define-macro-for-debug-printing-in-c */ #define siril_debug_print(fmt, ...) \ - do { if (DEBUG_TEST) fprintf(stderr, fmt, __VA_ARGS__); } while (0) + do { if (DEBUG_TEST) fprintf(stdout, fmt, ##__VA_ARGS__); } while (0) + +#define PRINT_ALLOC_ERR fprintf(stderr, "Out of memory in %s (%s:%d) - aborting\n", __func__, __FILE__, __LINE__) #undef max #define max(a,b) \ @@ -41,6 +44,8 @@ __typeof__ (b) _b = (b); \ _a < _b ? _a : _b; }) +#define SWAP(a,b) { double temp = (a); (a) = (b); (b) = temp; } + #define SQR(x) ((x)*(x)) #define USHRT_MAX_DOUBLE ((double)USHRT_MAX) @@ -48,6 +53,8 @@ #define UCHAR_MAX_DOUBLE ((double)UCHAR_MAX) #define UCHAR_MAX_SINGLE ((float)UCHAR_MAX) +#define BYTES_IN_A_MB 1048576 // 1024� + #define SEQUENCE_DEFAULT_INCLUDE TRUE // select images by default typedef unsigned char BYTE; // default type for image display data @@ -77,6 +84,15 @@ #define SN_NORM 1.1926 #define QN_NORM 2.2191 +/* used for open and savedialog */ +#if (defined _WIN32) || (defined(__APPLE__) && defined(__MACH__)) +#define SirilWidget GtkFileChooserNative +#define SIRIL_EOL "\r\n" +#else +#define SirilWidget GtkWidget +#define SIRIL_EOL "\n" +#endif + /* when requesting an image redraw, it can be asked to remap its data before redrawing it. * REMAP_NONE doesn't remaps the data, * REMAP_ONLY remaps only the current viewport (color channel) and the mixed (RGB) image @@ -86,16 +102,10 @@ #define REMAP_ONLY 1 #define REMAP_ALL 2 -enum { - COLUMN_FILENAME, // string - COLUMN_DATE, // string - N_COLUMNS_CONVERT -}; - typedef enum { - TYPEUNDEF=(1 << 1), - TYPEFITS= (1 << 2), - TYPETIFF= (1 << 3), + TYPEUNDEF = (1 << 1), + TYPEFITS = (1 << 2), + TYPETIFF = (1 << 3), TYPEBMP = (1 << 4), TYPEPNG = (1 << 5), TYPEJPG = (1 << 6), @@ -105,24 +115,9 @@ TYPEAVI = (1 << 10), TYPESER = (1 << 11), TYPEMP4 = (1 << 12), - TYPEWEBM= (1 << 13), + TYPEWEBM = (1 << 13), } image_type; -#define USE_DARK 0x01 -#define USE_FLAT 0x02 -#define USE_OFFSET 0x04 -#define USE_COSME 0x08 /* cosmetic correction */ -#define USE_OPTD 0x10 /* dark optimization */ - -/* cookies for the file chooser */ -#define OD_NULL 0 -#define OD_FLAT 1 -#define OD_DARK 2 -#define OD_OFFSET 3 -#define OD_CWD 4 -#define OD_OPEN 5 -#define OD_CONVERT 6 - /* indices of the image data layers */ #define BW_LAYER 0 #define RLAYER 0 @@ -197,7 +192,7 @@ typedef struct image_stats imstats; typedef struct rectangle_struct rectangle; typedef struct point_struct point; -typedef struct gradient_struct gradient; +//typedef struct gradient_struct gradient; typedef struct historic_struct historic; typedef struct dateTime_struct dateTime; typedef struct fwhm_struct fitted_PSF; @@ -297,22 +292,6 @@ char *date_obs; /* date of the observation, processed and copied from the header */ }; -/* preprocessing data from GUI */ -struct preprocessing_data { - struct timeval t_start; - fits *dark, *offset, *flat; - gboolean is_sequence; - sequence *seq; - gboolean autolevel; - double sigma[2]; - gboolean is_cfa; - gboolean debayer; - gboolean compatibility; - gboolean equalize_cfa; - float normalisation; - int retval; -}; - /* registration data, exists once for each image and each layer */ struct registration_data { float shiftx, shifty; // we could have a subpixel precision, but is it needed? saved @@ -362,10 +341,6 @@ omp_lock_t *fd_lock; // locks for open-mode threaded operations #endif - fits *offset; // the image containing offset data - fits *dark; // the image containing dark data - fits *flat; // the image containing flat data - char *ppprefix; // prefix for filename output of preprocessing int current; // file number currently loaded in gfit (or displayed) /* registration previsualisation and manual alignment data */ @@ -389,18 +364,14 @@ int nb_layers; // number of layers embedded in each image file layer_info *layers; // info about layers fits *fit; // the fits is still gfit, but a reference doesn't hurt - - /* enabling pre-processing on a single image */ - fits *offset; // the image containing offset data - fits *dark; // the image containing dark data - fits *flat; // the image containing flat data - char *ppprefix; // prefix for filename output of preprocessing }; struct wcs_struct { unsigned int equinox; double crpix1, crpix2; double crval1, crval2; + double cdelt1, cdelt2; + double crota1, crota2; char objctra[FLEN_VALUE]; char objctdec[FLEN_VALUE]; }; @@ -409,7 +380,6 @@ double norm[3]; // Normalization value char type[FLEN_VALUE]; // spectrum, phase char ord[FLEN_VALUE]; // regular, centered - unsigned int rx, ry; // padding: original value of picture size }; struct ffit { @@ -434,9 +404,11 @@ * */ /* data obtained from the FITS file */ + char *header; // entire header of the FITS file. NULL for non-FITS file. WORD lo; // MIPS-LO key in FITS file, which is "Lower visualization cutoff" WORD hi; // MIPS-HI key in FITS file, which is "Upper visualization cutoff" double data_max; // used to check if 32b float is between 0 and 1 + unsigned int maximum_pixel_value; // value obtained from libraw, Maximum pixel value. Calculated from the data for most cameras, hardcoded for others. float pixel_size_x, pixel_size_y; // XPIXSZ and YPIXSZ keys unsigned int binning_x, binning_y; // XBINNING and YBINNING keys gboolean unbinned; @@ -446,6 +418,7 @@ char telescop[FLEN_VALUE]; // TELESCOP key char observer[FLEN_VALUE]; // OBSERVER key char bayer_pattern[FLEN_VALUE]; // BAYERPAT key Bayer Pattern if available + int bayer_xoffset, bayer_yoffset; /* data obtained from FITS or RAW files */ double focal_length, iso_speed, exposure, aperture, ccd_temp; double cvf; // Conversion factor (e-/adu) @@ -463,7 +436,8 @@ fitsfile *fptr; // file descriptor. Only used for file read and write. WORD *data; // 16-bit image data (depending on image type) WORD *pdata[3]; // pointers on data, per layer data access (RGB) - char *header; // entire header of the FITS file. NULL for non-FITS file. + + gboolean top_down; // image data is stored top-down, normally false for FITS, true for SER GSList *history; // Former HISTORY comments of FITS file }; @@ -484,6 +458,7 @@ double gain; // A/D converter gain in electrons per ADU double inner; // Inner radius of the annulus used to measure local background. double outer; // Outer radius of the annulus used to measure local background. + int minval, maxval; }; struct debayer_config { @@ -492,6 +467,7 @@ sensor_pattern bayer_pattern; // user-defined Bayer pattern interpolation_method bayer_inter; // interpolation method for non-libraw debayer gboolean compatibility; // ensure KSTARS compatibility if TRUE + gboolean stretch; // stretch DSLR CFA data to 16-bit if wanted }; struct stack_config { @@ -557,7 +533,6 @@ GtkAdjustment *hadj[MAXVPORT]; // adjustments of vport scrollbars GtkAdjustment *vadj[MAXVPORT]; // adjustments of vport scrollbars sliders_mode sliders; // 0: min/max, 1: MIPS-LO/HI, 2: user - int preprostatus; gboolean prepro_cfa; // Use to save type of sensor for cosmetic correction in preprocessing gboolean prepro_equalize_cfa; // Use to save if flat will be equalized in preprocessing gboolean show_excluded; // show excluded images in sequences @@ -571,6 +546,7 @@ /* selection rectangle for registration, FWHM, PSF */ gboolean drawing; // true if the rectangle is being set (clicked motion) gint startX, startY; // where the mouse was originally clicked to + gboolean freezeX, freezeY; rectangle selection; // coordinates of the selection rectangle /* alignment preview data */ @@ -581,7 +557,8 @@ cairo_surface_t *refimage_surface; gchar *wd; // working directory, where images and sequences are - gchar *initfile; // the path of the init file + gchar *initfile; // the path of the init file + gchar *app_path; // the path of the application char *ext; // FITS extension used in SIRIL @@ -589,9 +566,13 @@ gboolean dontShowConfirm; - gboolean have_dark_theme; // we have a dark theme, use bright colours + gboolean have_dark_theme; // global theme is dark + gint combo_theme; // value of the combobox theme + gboolean want_dark; // User want dark theme for siril stackconf stack; + + gboolean cache_upscaled; // keep up-scaled files for 'drizzle' (only used by developers) int filter; // file extension filter for open/save dialogs @@ -627,9 +608,7 @@ int selected_star; // current selected star in the GtkListStore double magOffset; // offset to reduce the real magnitude, single image - gradient *grad; - int grad_nb_boxes, grad_size_boxes; - gboolean grad_boxes_drawn; + GSList *grad_samples; int max_thread; // maximum of thread used for parallel execution diff -Nru siril-0.9.10/src/core/siril_log.c siril-0.9.11/src/core/siril_log.c --- siril-0.9.10/src/core/siril_log.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/core/siril_log.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,116 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include "core/siril.h" +#include "core/proto.h" +#include "core/command.h" +#include "gui/callbacks.h" + +static gchar *build_timestamp() { + GTimeVal time; + + g_get_current_time(&time); + return g_time_val_to_iso8601(&time); +} + +static void replace_not_valid_char(gchar *str, gchar c, gchar n) { + gchar *s = str; + while (*s) { + if (*s == c) { + *s = n; + } + s++; + } +} + +static void save_log_file(gchar *filename) { + GtkTextBuffer *log; + GtkTextView *tv; + GtkTextIter start, end; + gchar *str, **token; + guint nargs, i; + FILE *f; + + tv = GTK_TEXT_VIEW(lookup_widget("output")); + log = gtk_text_view_get_buffer(tv); + gtk_text_buffer_get_bounds(log, &start, &end); + str = gtk_text_buffer_get_text(log, &start, &end, FALSE); + + token = g_strsplit(str, "\n", -1); + nargs = g_strv_length(token); + + f = g_fopen(filename, "w"); + + for (i = 0; i < nargs; i++) { + fprintf(f, "%s%s", token[i], SIRIL_EOL); + } + + fclose(f); + g_free(str); + g_strfreev(token); +} + +static void set_filter(GtkFileChooser *dialog) { + GtkFileFilter *f = gtk_file_filter_new(); + gtk_file_filter_set_name(f, _("Log files (*.log)")); + gtk_file_filter_add_pattern(f, "*.log"); + gtk_file_chooser_add_filter(dialog, f); + gtk_file_chooser_set_filter(dialog, f); +} + +static void save_log_dialog() { + SirilWidget *widgetdialog; + GtkFileChooser *dialog = NULL; + GtkWindow *control_window = GTK_WINDOW(lookup_widget("control_window")); + gint res; + gchar *filename; + + filename = build_timestamp(); + replace_not_valid_char(filename, ':', '.'); + filename = str_append(&filename, ".log"); + + widgetdialog = siril_file_chooser_save(control_window, GTK_FILE_CHOOSER_ACTION_SAVE); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, FALSE); + gtk_file_chooser_set_do_overwrite_confirmation(dialog, TRUE); + gtk_file_chooser_set_current_name(dialog, filename); + set_filter(dialog); + + res = siril_dialog_run(widgetdialog); + if (res == GTK_RESPONSE_ACCEPT) { + gchar *file = gtk_file_chooser_get_filename(dialog); + save_log_file(file); + + g_free(file); + } + siril_widget_destroy(widgetdialog); + g_free(filename); +} + +/************** Callbacks function ***********/ + +void on_clear_log_button_clicked(GtkButton *button, gpointer user_data) { + process_clear(0); +} + +void on_export_log_button_clicked(GtkButton *button, gpointer user_data) { + save_log_dialog(); +} diff -Nru siril-0.9.10/src/core/undo.c siril-0.9.11/src/core/undo.c --- siril-0.9.10/src/core/undo.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/undo.c 2019-05-27 09:16:07.000000000 +0000 @@ -205,20 +205,20 @@ } com.hist_display--; undo_get_data(&gfit, com.history[com.hist_display]); - update_gfit_histogram_if_needed(); + invalidate_gfit_histogram(); invalidate_stats_from_fit(&gfit); + update_gfit_histogram_if_needed(); redraw(com.cvport, REMAP_ALL); - redraw_previews(); } break; case REDO: if (is_redo_available()) { com.hist_display++; undo_get_data(&gfit, com.history[com.hist_display]); - update_gfit_histogram_if_needed(); + invalidate_gfit_histogram(); invalidate_stats_from_fit(&gfit); + update_gfit_histogram_if_needed(); redraw(com.cvport, REMAP_ALL); - redraw_previews(); } break; default: diff -Nru siril-0.9.10/src/core/utils.c siril-0.9.11/src/core/utils.c --- siril-0.9.10/src/core/utils.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/core/utils.c 2019-05-27 09:16:07.000000000 +0000 @@ -25,40 +25,14 @@ * */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif - #include -#include -#include #include -#include -#include #include -#include +#include +#include #ifdef _WIN32 #include -#include -#include -#include -#else -#include -#endif -#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) -#include // define or not BSD macro #endif -#if (defined(__APPLE__) && defined(__MACH__)) -#include -#include -#include -#include -#include -#include -#endif -#include -#include -#include #include "core/siril.h" #include "core/proto.h" @@ -68,18 +42,6 @@ #include "gui/progress_and_log.h" #include "io/single_image.h" -#ifdef HAVE_SYS_STATVFS_H -#include -#endif -#if HAVE_SYS_VFS_H -#include -#elif HAVE_SYS_MOUNT_H -#if HAVE_SYS_PARAM_H -#include -#endif -#include -#endif - /** * Round double value to an integer * @param x value to round @@ -156,23 +118,6 @@ } /** - * Converts a string which is in the encoding used by GLib for filenames into a UTF-8 string. - * Note that on Windows GLib uses UTF-8 for filenames; on other platforms, - * this function indirectly depends on the current locale. - * g_free the result when not needed anymore. - * @param filename input filename - * @return The converted string, or "" on an error. - */ -char *f2utf8(const char *filename) { - char *utf8; - - if (!(utf8 = g_filename_to_utf8(filename, -1, NULL, NULL, NULL))) - utf8 = g_strdup(""); - - return (utf8); -} - -/** * Looks whether the string str ends with ending. This is case insensitive * @param str the string to check * @param ending the suffix to look for @@ -237,11 +182,13 @@ */ int is_readable_file(const char *filename) { GStatBuf sts; - if (g_stat(filename, &sts)) + if (g_lstat(filename, &sts)) return 0; if (S_ISREG (sts.st_mode) #ifndef _WIN32 || S_ISLNK(sts.st_mode) +#else + || (GetFileAttributesA(filename) & FILE_ATTRIBUTE_REPARSE_POINT ) #endif ) return 1; @@ -370,15 +317,10 @@ update_sequence_list();*/ g_free(com.wd); com.wd = g_get_current_dir(); - siril_log_message(_("Setting CWD (Current " - "Working Directory) to '%s'\n"), com.wd); - if (!com.script) - set_GUI_CWD(); - update_used_memory(); + siril_log_message(_("Setting CWD (Current Working Directory) to '%s'\n"), com.wd); retval = 0; } else { - error = siril_log_message(_("Could not change " - "directory to '%s'.\n"), dir); + error = siril_log_message(_("Could not change directory to '%s'.\n"), dir); retval = 1; } } @@ -531,257 +473,6 @@ } /** - * Find the space remaining in a directory, in bytes. A double for >32bit - * problem avoidance. <0 for error. - * @param name the path of the directory to be tested - * @return the disk space remaining in bytes, or a value less than 0 if error - */ -#ifdef HAVE_SYS_STATVFS_H -static double find_space(const gchar *name) { - struct statvfs st; - double sz; - - if (statvfs (name, &st)) - /* Set to error value. - */ - sz = -1; - else - sz = (double) st.f_frsize * st.f_bavail; - - return (sz); -} -#elif (HAVE_SYS_VFS_H || HAVE_SYS_MOUNT_H) -static double find_space(const gchar *name) { - struct statfs st; - double sz; - - if (statfs (name, &st)) - sz = -1; - else - sz = (double) st.f_bsize * st.f_bavail; - - return (sz); -} -#elif defined _WIN32 -static double find_space(const gchar *name) { - ULARGE_INTEGER avail; - double sz; - - gchar *localdir = g_path_get_dirname(name); - wchar_t *wdirname = g_utf8_to_utf16(localdir, -1, NULL, NULL, NULL); - - if (!GetDiskFreeSpaceExW(wdirname, &avail, NULL, NULL)) - sz = -1; - else - sz = (double) avail.QuadPart; - - g_free(localdir); - g_free(wdirname); - return (sz); -} -#else -static double find_space(const gchar *name) { - return (-1); -} -#endif /*HAVE_SYS_STATVFS_H*/ - -#if defined(__linux__) || defined(__CYGWIN__) -static unsigned long update_used_RAM_memory() { - unsigned long size, resident, share, text, lib, data, dt; - static int page_size_in_k = 0; - const char* statm_path = "/proc/self/statm"; - FILE *f = fopen(statm_path, "r"); - - if (page_size_in_k == 0) { - page_size_in_k = getpagesize() / 1024; - } - if (!f) { - perror(statm_path); - return 0UL; - } - if (7 != fscanf(f, "%lu %lu %lu %lu %lu %lu %lu", - &size, &resident, &share, &text, &lib, &data, &dt)) { - perror(statm_path); - fclose(f); - return 0UL; - } - fclose(f); - return (resident * page_size_in_k); -} -#elif (defined(__APPLE__) && defined(__MACH__)) -static unsigned long update_used_RAM_memory() { - struct task_basic_info t_info; - - mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; - task_info(current_task(), TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count); - return ((unsigned long) t_info.resident_size / 1024UL); -} -#elif defined(BSD) /* BSD (DragonFly BSD, FreeBSD, OpenBSD, NetBSD). In fact, it could work with linux */ -static unsigned long update_used_RAM_memory() { - struct rusage usage; - - getrusage(RUSAGE_SELF, &usage); - return ((unsigned long) usage.ru_maxrss); -} -#elif defined(_WIN32) /* Windows */ -static unsigned long update_used_RAM_memory() { - PROCESS_MEMORY_COUNTERS memCounter; - - if (GetProcessMemoryInfo(GetCurrentProcess(), &memCounter, sizeof(memCounter))) - return (memCounter.WorkingSetSize / 1024UL); - return 0UL; -} -#else -static unsigned long update_used_RAM_memory() { - return 0UL; -} -#endif - -/** - * Updates RAM memory used by siril, available free disk space - * and displays information on the control window. - */ -void update_used_memory() { - unsigned long ram; - double freeDisk; - - ram = update_used_RAM_memory(); - freeDisk = find_space(com.wd); - /* update GUI */ - set_GUI_MEM(ram); - set_GUI_DiskSpace(freeDisk); -} - -/** - * Test if there is enough free disk space by returning the difference - * between available free disk space and the size given in parameters - * @param seq_size size to be tested - * @return a value greater than 0 if there is enough disk space, a value - * less than 0 otherwise. The function returns -1 if an error occurs. - */ -double test_available_space(double seq_size) { - double freeDisk; - - freeDisk = find_space(com.wd); - if ((freeDisk < 0) || (seq_size < 0)) { - return -1; - } - return (freeDisk - seq_size); -} - -/** - * Gets available memory for stacking process - * @return available memory in MB, 2048 if it fails. - */ -#if defined(__linux__) || defined(__CYGWIN__) -int get_available_memory_in_MB() { - int mem = 2048; /* this is the default value if we can't retrieve any values */ - FILE* fp = fopen("/proc/meminfo", "r"); - if (fp != NULL) { - size_t bufsize = 1024 * sizeof(char); - gchar *buf = g_new(gchar, bufsize); - long value = -1L; - while (getline(&buf, &bufsize, fp) >= 0) { - if (strncmp(buf, "MemAvailable", 12) != 0) - continue; - sscanf(buf, "%*s%ld", &value); - break; - } - fclose(fp); - g_free(buf); - if (value != -1L) - mem = (int) (value / 1024L); - } - return mem; -} -#elif (defined(__APPLE__) && defined(__MACH__)) -int get_available_memory_in_MB() { - int mem = 2048; /* this is the default value if we can't retrieve any values */ - vm_size_t page_size; - mach_port_t mach_port; - mach_msg_type_number_t count; - vm_statistics64_data_t vm_stats; - - mach_port = mach_host_self(); - count = sizeof(vm_stats) / sizeof(natural_t); - if (KERN_SUCCESS == host_page_size(mach_port, &page_size) && - KERN_SUCCESS == host_statistics64(mach_port, HOST_VM_INFO, - (host_info64_t)&vm_stats, &count)) { - - int64_t unused_memory = ((int64_t)vm_stats.free_count + - (int64_t)vm_stats.inactive_count + - (int64_t)vm_stats.wire_count) * (int64_t)page_size; - - mem = (int) ((unused_memory) / (1024 * 1024)); - } - return mem; -} -#elif defined(BSD) /* BSD (DragonFly BSD, FreeBSD, OpenBSD, NetBSD). ----------- */ -int get_available_memory_in_MB() { - int mem = 2048; /* this is the default value if we can't retrieve any values */ - FILE* fp = fopen("/var/run/dmesg.boot", "r"); - if (fp != NULL) { - size_t bufsize = 1024 * sizeof(char); - gchar *buf = g_new(gchar, bufsize); - long value = -1L; - while (getline(&buf, &bufsize, fp) >= 0) { - if (strncmp(buf, "avail memory", 12) != 0) - continue; - sscanf(buf, "%*s%*s%*s%ld", &value); - break; - } - fclose(fp); - g_free(buf); - if (value != -1L) - mem = (int) (value / 1024L); - } - return mem; -} -#elif defined(_WIN32) /* Windows */ -int get_available_memory_in_MB() { - int mem = 2048; /* this is the default value if we can't retrieve any values */ - MEMORYSTATUSEX memStatusEx = {0}; - memStatusEx.dwLength = sizeof(MEMORYSTATUSEX); - const DWORD dwMBFactor = 1024 * 1024; - DWORDLONG dwTotalPhys = memStatusEx.ullTotalPhys / dwMBFactor; - if (dwTotalPhys > 0) - mem = (int) dwTotalPhys; - return mem; -} -#else -int get_available_memory_in_MB() { - fprintf(stderr, "Siril failed to get available free RAM memory\n"); - return 2048; -} -#endif - -/** - * - * @param filename - * @param size - */ -#ifdef _WIN32 -/* stolen from gimp which in turn stole from glib 2.35 */ -gchar *get_special_folder(int csidl) { - wchar_t path[MAX_PATH + 1]; - HRESULT hr; - LPITEMIDLIST pidl = NULL; - BOOL b; - gchar *retval = NULL; - - hr = SHGetSpecialFolderLocation(NULL, csidl, &pidl); - if (hr == S_OK) { - b = SHGetPathFromIDListW(pidl, path); - if (b) - retval = g_utf16_to_utf8(path, -1, NULL, NULL, NULL); - CoTaskMemFree(pidl); - } - - return retval; -} -#endif - -/** * Expands the ~ in filenames * @param[in] filename input filename * @param[in] size maximum size of the filename @@ -821,111 +512,6 @@ } /** - * Switch the two parameters of the function: - * Useful in Dynamic PSF (PSF.c) - * @param a first parameter to switch - * @param b second parameter to switch - */ -void swap_param(double *a, double *b) { - double tmp; - tmp = *a; - *a = *b; - *b = tmp; -} - -/** - * In-place quick sort of array of double a of size n - * @param a array to sort - * @param n size of the array - */ -void quicksort_d(double *a, int n) { - if (n < 2) - return; - double p = a[n / 2]; - double *l = a; - double *r = a + n - 1; - while (l <= r) { - if (*l < p) { - l++; - continue; - } - if (*r > p) { - r--; - continue; // we need to check the condition (l <= r) every time we change the value of l or r - } - double t = *l; - *l++ = *r; - *r-- = t; - } - quicksort_d(a, r - a + 1); - quicksort_d(l, a + n - l); -} - -/** - * In-place quick sort of array of WORD a of size n - * @param a array to sort - * @param n size of the array - */ -void quicksort_s(WORD *a, int n) { - if (n < 2) - return; - WORD p = a[n / 2]; - WORD *l = a; - WORD *r = a + n - 1; - while (l <= r) { - if (*l < p) { - l++; - continue; - } - if (*r > p) { - r--; - continue; // we need to check the condition (l <= r) every time we change the value of l or r - } - WORD t = *l; - *l++ = *r; - *r-- = t; - } - quicksort_s(a, r - a + 1); - quicksort_s(l, a + n - l); -} - -/** - * quickselect returns the k-th smallest item in array a of length len - * @param a array to search - * @param n size of the array - * @param k index of the smallest element to search for - * @return kth smallest element in array a - */ -#define SWAP(i, j) { tmp = a[i]; a[i] = a[j]; a[j] = tmp; } -WORD quickselect_s(WORD *a, int n, int k) { - int i; - int pindex; // pivot index - int left = 0; // left index - int right = n - 1; // right index - WORD pivot, tmp; // pivot and temporary value - - while (left < right) { - pivot = a[k]; - SWAP(k, right); - - for (i = pindex = left; i < right; i++) { - if (a[i] < pivot) { - SWAP(i, pindex); - pindex++; - } - } - - SWAP(right, pindex); - - if (pindex == k) break; - if (pindex < k) left = pindex + 1; - else right = pindex - 1; - } - - return a[k]; -} - -/** * Removes extension of the filename * @param filename file path with extension * @return newly allocated filename without extension @@ -993,7 +579,7 @@ } /** - * Computes slop using low and high values + * Computes slope using low and high values * @param lo low value * @param hi high value * @return the computed slope @@ -1017,9 +603,9 @@ static const gchar *checking_css_filename() { printf(_("Checking GTK version ... GTK-%d.%d\n"), GTK_MAJOR_VERSION, GTK_MINOR_VERSION); - if ((GTK_MAJOR_VERSION >= 3) && (GTK_MINOR_VERSION >= 20)) + if ((GTK_MAJOR_VERSION >= 3) && (GTK_MINOR_VERSION >= 18)) return "gtk.css"; - else if ((GTK_MAJOR_VERSION >= 3) && (GTK_MINOR_VERSION < 20)) + else if ((GTK_MAJOR_VERSION >= 3) && (GTK_MINOR_VERSION < 18)) return "gtk_old.css"; else { return NULL; @@ -1028,9 +614,8 @@ /** * Loads the css sheet - * @param path path of the file being loaded */ -void load_css_style_sheet (char *path) { +void load_css_style_sheet () { GtkCssProvider *css_provider; GdkDisplay *display; GdkScreen *screen; @@ -1043,7 +628,7 @@ exit(1); } - CSSFile = g_build_filename (path, css_filename, NULL); + CSSFile = g_build_filename (com.app_path, css_filename, NULL); if (!g_file_test (CSSFile, G_FILE_TEST_EXISTS)) { g_error (_("Unable to load CSS style sheet file: %s. Please reinstall %s\n"), CSSFile, PACKAGE); } @@ -1112,108 +697,3 @@ return jd1 + 2 - (dt.year / 100) + (dt.year / 400); } } - -/** - * Compares a and b like strcmp() - * @param a a gconstpointer - * @param b a gconstpointer - * @return an integer less than, equal to, or greater than zero, if a is than b . - */ -gint strcompare(gconstpointer *a, gconstpointer *b) { - gchar *collate_key1, *collate_key2; - gint result; - - const gchar *s1 = (const gchar *)a; - const gchar *s2 = (const gchar *)b; - - collate_key1 = g_utf8_collate_key_for_filename(s1, strlen(s1)); - collate_key2 = g_utf8_collate_key_for_filename(s2, strlen(s2)); - - result = g_strcmp0(collate_key1, collate_key2); - g_free(collate_key1); - g_free(collate_key2); - - return result; -} - -/** - * Check how many files a process can have open and try to extend the limit if possible. - * The max files depends of the Operating System and of cfitsio (NMAXFILES) - * @param nb_frames number of file processed - * @param nb_allowed_file the maximum of file that can be opened - * @return TRUE if the system can open all the files, FALSE otherwise - */ -gboolean allow_to_open_files(int nb_frames, int *nb_allowed_file) { - int open_max, maxfile, MAX_NO_FILE_CFITSIO, MAX_NO_FILE; - float version; - - /* get the limit of cfitsio */ - fits_get_version(&version); - MAX_NO_FILE_CFITSIO = (version < 3.45) ? 1000 : 10000; - - /* get the OS limit and extend it if possible */ -#ifdef _WIN32 - MAX_NO_FILE = min(MAX_NO_FILE_CFITSIO, 2048); - open_max = _getmaxstdio(); - if (open_max < MAX_NO_FILE) { - /* extend the limit to 2048 if possible - * 2048 is the maximum on WINDOWS */ - _setmaxstdio(MAX_NO_FILE); - open_max = _getmaxstdio(); - } -#else - struct rlimit rlp; - -/* we first set the limit to the CFITSIO limit */ - MAX_NO_FILE = MAX_NO_FILE_CFITSIO; - if (getrlimit(RLIMIT_NOFILE, &rlp) == 0) { - MAX_NO_FILE = (rlp.rlim_max == RLIM_INFINITY) ? - MAX_NO_FILE_CFITSIO : rlp.rlim_max; - - if (rlp.rlim_cur != RLIM_INFINITY) { - open_max = rlp.rlim_cur; - MAX_NO_FILE = min(MAX_NO_FILE_CFITSIO, MAX_NO_FILE); - if (open_max < MAX_NO_FILE) { - rlp.rlim_cur = MAX_NO_FILE; - /* extend the limit to NMAXFILES if possible */ - int retval = setrlimit(RLIMIT_NOFILE, &rlp); - if (!retval) { - getrlimit(RLIMIT_NOFILE, &rlp); - open_max = rlp.rlim_cur; - } - } - } else { // no soft limits - open_max = MAX_NO_FILE; - } - } else { - open_max = sysconf(_SC_OPEN_MAX); // if no success with getrlimit, try with sysconf - } -#endif // _WIN32 - - maxfile = min(open_max, MAX_NO_FILE); - siril_debug_print("Maximum of files that will be opened=%d\n", maxfile); - *nb_allowed_file = maxfile; - - return nb_frames < maxfile; -} - -/** - * Get the active window on toplevels - * @return the GtkWindow activated - */ -GtkWindow *siril_get_active_window() { - GtkWindow *win = NULL; - GList *list, *l; - - list = gtk_window_list_toplevels(); - - for (l = list; l; l = l->next) { - if (gtk_window_is_active((GtkWindow *) l->data)) { - win = (GtkWindow *) l->data; - break; - } - } - - g_list_free(list); - return win; -} diff -Nru siril-0.9.10/src/gui/about_dialog.c siril-0.9.11/src/gui/about_dialog.c --- siril-0.9.10/src/gui/about_dialog.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/about_dialog.c 2019-05-27 09:16:07.000000000 +0000 @@ -19,9 +19,10 @@ */ #include "core/siril.h" +#include "core/proto.h" #include "gui/callbacks.h" -static const gchar* copyright = N_("Copyright © 2004-2011 François Meyer\n" +static const gchar* copyright = ("Copyright © 2004-2011 François Meyer\n" "Copyright © 2012-2019 team free-astro"); static gchar **authors = (gchar *[] ) { "Vincent Hourdin ", @@ -47,7 +48,7 @@ "title", _("About Siril"), "logo", icon, "version", VERSION, - "copyright", _(copyright), + "copyright", copyright, "authors", authors, "documenters", documenters, "artists", artists, diff -Nru siril-0.9.10/src/gui/asinh.c siril-0.9.11/src/gui/asinh.c --- siril-0.9.10/src/gui/asinh.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/asinh.c 2019-05-27 09:16:07.000000000 +0000 @@ -71,6 +71,13 @@ return FALSE; } +gboolean on_scale_asinh_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + asinh_stretch_value = gtk_range_get_value(GTK_RANGE(widget)); + asinh_recompute(); + return FALSE; +} + gboolean on_black_point_asinh_button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { asinh_black_value = gtk_range_get_value(GTK_RANGE(widget)); @@ -78,6 +85,14 @@ return FALSE; } +gboolean on_black_point_asinh_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + asinh_black_value = gtk_range_get_value(GTK_RANGE(widget)); + asinh_recompute(); + return FALSE; +} + + void on_asinh_RGBspace_toggled(GtkToggleButton *togglebutton, gpointer user_data) { asinh_rgb_space = gtk_toggle_button_get_active(togglebutton); asinh_recompute(); diff -Nru siril-0.9.10/src/gui/callbacks.c siril-0.9.11/src/gui/callbacks.c --- siril-0.9.10/src/gui/callbacks.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/callbacks.c 2019-05-27 09:16:07.000000000 +0000 @@ -36,6 +36,7 @@ #include "core/proto.h" #include "core/initfile.h" #include "core/undo.h" +#include "core/preprocess.h" #include "gui/callbacks.h" #include "gui/message_dialog.h" #include "gui/PSF_list.h" @@ -48,7 +49,8 @@ #include "algos/fft.h" #include "algos/Def_Wavelet.h" #include "algos/cosmetic_correction.h" -#include "algos/gradient.h" +#include "algos/sorting.h" +#include "algos/background_extraction.h" #include "io/conversion.h" #include "io/films.h" #include "io/sequence.h" @@ -81,9 +83,6 @@ static gboolean stfComputed; // Flag to know if STF parameters are available static double stfShadows, stfHighlights, stfM; -/* background image */ -static fits background_fit = { 0 }; // Testing init - /***************************************************************************** * S T A T I C F U N C T I O N S * ****************************************************************************/ @@ -216,8 +215,7 @@ com.rgbbuf = realloc(com.rgbbuf, com.surface_stride[RGB_VPORT] * gfit.ry * sizeof(guchar)); if (com.rgbbuf == NULL) { - fprintf(stderr, - "Could not allocate memory for RGB buffer (out of memory?)\n"); + PRINT_ALLOC_ERR; if (oldbuf) free(oldbuf); return; @@ -407,9 +405,7 @@ com.graybuf[vport] = realloc(com.graybuf[vport], com.surface_stride[vport] * gfit.ry * sizeof(guchar)); if (com.graybuf[vport] == NULL) { - fprintf(stderr, - "Could not allocate memory for gray buffer %d (out of memory?)\n", - vport); + PRINT_ALLOC_ERR; if (oldbuf) free(oldbuf); return; @@ -688,338 +684,6 @@ enable_view_reference_checkbox(FALSE); } -/* - * Main conversion list static functions - */ - -static GtkListStore *liststore_convert = NULL; - -static void add_convert_to_list(char *filename, GStatBuf st) { - GtkTreeIter iter; - char *date; - - date = ctime(&st.st_mtime); - date[strlen(date) - 1] = 0; // removing '\n' at the end of the string - - gtk_list_store_append(liststore_convert, &iter); - gtk_list_store_set(liststore_convert, &iter, COLUMN_FILENAME, filename, // copied in the store - COLUMN_DATE, date, -1); -} -static void get_convert_list_store() { - if (liststore_convert == NULL) - liststore_convert = GTK_LIST_STORE( - gtk_builder_get_object(builder, "liststore_convert")); -} - -static void fill_convert_list(GSList *list) { - GStatBuf st; - - get_convert_list_store(); - - while (list) { - char *filename; - - filename = (char *) list->data; - if (g_stat(filename, &st) == 0) { - add_convert_to_list(filename, st); - list = list->next; - } else - break; // no infinite loop - g_free(filename); - } - check_for_conversion_form_completeness(); -} - -/* - * GTK File Chooser static functions - */ - -static int whichdial; - -static void gtk_filter_add(GtkFileChooser *file_chooser, const gchar *title, - const gchar *pattern, gboolean set_default) { - gchar **patterns; - gint i; - - GtkFileFilter *f = gtk_file_filter_new(); - gtk_file_filter_set_name(f, title); - /* get the patterns */ - patterns = g_strsplit(pattern, ";", -1); - for (i = 0; patterns[i] != NULL; i++) - gtk_file_filter_add_pattern(f, patterns[i]); - /* free the patterns */ - g_strfreev(patterns); - gtk_file_chooser_add_filter(file_chooser, f); - if (set_default) - gtk_file_chooser_set_filter(file_chooser, f); -} - -static void set_filters_dialog(GtkFileChooser *chooser) { - gtk_filter_add(chooser, _("FITS Files (*.fit, *.fits, *.fts)"), - "*.fit;*.FIT;*.fits;*.FITS;*.fts;*.FTS", - com.filter == TYPEFITS); - if (whichdial == OD_OPEN || whichdial == OD_CONVERT) { -#ifdef HAVE_LIBRAW - /* RAW FILES */ - int nb_raw; - char *raw; - int i; - - nb_raw = get_nb_raw_supported(); - raw = calloc(sizeof(char), nb_raw * 12 + 1);// we assume the extension size of 3 char "*.xxx;*.XXX;" = 12 - for (i = 0; i < nb_raw; i++) { - char *ext; - gchar *upcase; - - upcase = g_ascii_strup(supported_raw[i].extension, strlen(supported_raw[i].extension)); - ext = g_strdup_printf("*.%s;*.%s;", supported_raw[i].extension, - upcase); - strcat(raw, ext); - - g_free(ext); - g_free(upcase); - } - gtk_filter_add(chooser, _("RAW DSLR Camera Files"), raw, - com.filter == TYPERAW); - free(raw); -#endif - /* GRAPHICS FILES */ - GString *s_supported_graph, *s_pattern; - gchar *graphics_supported, *pattern; - - s_supported_graph = g_string_new(_("Graphics Files (*.bmp")); - s_pattern = g_string_new("*.bmp;*.BMP;"); -#ifdef HAVE_LIBJPEG - s_supported_graph = g_string_append(s_supported_graph, ", *.jpg, *.jpeg"); - s_pattern = g_string_append(s_pattern, "*.jpg;*.JPG;*.jpeg;*.JPEG;"); -#endif - -#ifdef HAVE_LIBPNG - s_supported_graph = g_string_append(s_supported_graph, ", *.png"); - s_pattern = g_string_append(s_pattern, "*.png;*.PNG;"); -#endif - -#ifdef HAVE_LIBTIFF - s_supported_graph = g_string_append(s_supported_graph, ", *.tif, *.tiff"); - s_pattern = g_string_append(s_pattern, "*.tif;*.TIF;*.tiff;*.TIFF"); -#endif - s_supported_graph = g_string_append(s_supported_graph, ")"); - - graphics_supported = g_string_free(s_supported_graph, FALSE); - pattern = g_string_free(s_pattern, FALSE); - gtk_filter_add(chooser, graphics_supported, pattern, - com.filter == TYPEBMP || com.filter == TYPEJPG - || com.filter == TYPEPNG || com.filter == TYPETIFF); - - /* NETPBM FILES */ - gtk_filter_add(chooser, _("Netpbm Files (*.ppm, *.pnm, *.pgm)"), - "*.ppm;*.PPM;*.pnm;*.PNM;*.pgm;*.PGM", com.filter == TYPEPNM); - /* IRIS FILES */ - gtk_filter_add(chooser, _("IRIS PIC Files (*.pic)"), "*.pic;*.PIC", - com.filter == TYPEPIC); - /* SER FILES */ - gtk_filter_add(chooser, _("SER files (*.ser)"), "*.ser;*.SER", - com.filter == TYPESER); - -#if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) - /* FILM FILES */ - int nb_film; - char *film; - int j; - - nb_film = get_nb_film_ext_supported(); - film = calloc(sizeof(char), nb_film * 14 + 1);// we assume the extension size of 4 char "*.xxxx;*.XXXX;" = 14 - for (j = 0; j < nb_film; j++) { - char *ext; - gchar *upcase; - - upcase = g_ascii_strup(supported_film[j].extension, - strlen(supported_film[j].extension)); - ext = g_strdup_printf("*.%s;*.%s;", supported_film[j].extension, - upcase); - strcat(film, ext); - - g_free(ext); - g_free(upcase); - } - gtk_filter_add(chooser, _("Film Files (*.avi, *.mpg, ...)"), film, - com.filter == TYPEAVI); - free(film); -#endif - g_free(graphics_supported); - g_free(pattern); - } -} - -static void opendial(void) { -#ifdef _WIN32 - GtkFileChooserNative *widgetdialog; -#else - GtkWidget *widgetdialog; -#endif - GtkFileChooser *dialog = NULL; - GtkFileChooserAction action; - GtkWindow *control_window = GTK_WINDOW(lookup_widget("control_window")); - gint res; - - if (!com.wd) - return; - - switch (whichdial) { - case OD_NULL: - fprintf(stderr, "whichdial undefined, should not happen\n"); - return; - case OD_FLAT: - case OD_DARK: - case OD_OFFSET: - action = GTK_FILE_CHOOSER_ACTION_OPEN; -#ifdef _WIN32 - widgetdialog = gtk_file_chooser_native_new(_("Open File"), control_window, action, - _("_Open"), _("_Cancel")); -#else - widgetdialog = gtk_file_chooser_dialog_new(_("Open File"), - control_window, action, _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Open"), GTK_RESPONSE_ACCEPT, NULL); -#endif - dialog = GTK_FILE_CHOOSER(widgetdialog); - gtk_file_chooser_set_current_folder(dialog, com.wd); - gtk_file_chooser_set_select_multiple(dialog, FALSE); - set_filters_dialog(dialog); - break; - case OD_CWD: - action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; -#ifdef _WIN32 - widgetdialog = gtk_file_chooser_native_new(_("Open File"), control_window, action, - _("_Open"), _("_Cancel")); -#else - widgetdialog = gtk_file_chooser_dialog_new(_("Open File"), control_window, - action, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), - GTK_RESPONSE_ACCEPT, NULL); -#endif - dialog = GTK_FILE_CHOOSER(widgetdialog); - gtk_file_chooser_set_current_folder(dialog, com.wd); - gtk_file_chooser_set_select_multiple(dialog, FALSE); - break; - case OD_OPEN: - action = GTK_FILE_CHOOSER_ACTION_OPEN; -#ifdef _WIN32 - widgetdialog = gtk_file_chooser_native_new(_("Open File"), control_window, action, - _("_Open"), _("_Cancel")); -#else - widgetdialog = gtk_file_chooser_dialog_new(_("Open File"), control_window, - GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Open"), GTK_RESPONSE_ACCEPT, NULL); -#endif - dialog = GTK_FILE_CHOOSER(widgetdialog); - gtk_file_chooser_set_current_folder(dialog, com.wd); - gtk_file_chooser_set_select_multiple(dialog, FALSE); - set_filters_dialog(dialog); - break; - case OD_CONVERT: - action = GTK_FILE_CHOOSER_ACTION_OPEN; -#if _WIN32 - widgetdialog = gtk_file_chooser_native_new(_("Open File"), control_window, action, - _("_Open"), _("_Cancel")); -#else - widgetdialog = gtk_file_chooser_dialog_new(_("Open File"), - control_window, GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), - GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); -#endif - dialog = GTK_FILE_CHOOSER(widgetdialog); - gtk_file_chooser_set_current_folder(dialog, com.wd); - gtk_file_chooser_set_select_multiple(dialog, TRUE); - set_filters_dialog(dialog); - } - - if (!dialog) - return; -#if _WIN32 - res = gtk_native_dialog_run(GTK_NATIVE_DIALOG(widgetdialog)); -#else - res = gtk_dialog_run(GTK_DIALOG(dialog)); -#endif - - if (res == GTK_RESPONSE_ACCEPT) { - GSList *list = NULL; - gchar *filename; - gchar *err; - GtkFileChooser *chooser = GTK_FILE_CHOOSER(dialog); - filename = gtk_file_chooser_get_filename(chooser); - - if (!(filename)) - return; - - switch (whichdial) { - case OD_FLAT: - gtk_entry_set_text( - GTK_ENTRY( - gtk_builder_get_object(builder, "flatname_entry")), - filename); - gtk_toggle_button_set_active( - GTK_TOGGLE_BUTTON( - gtk_builder_get_object(builder, "useflat_button")), - TRUE); - if (sequence_is_loaded() || single_image_is_loaded()) - gtk_widget_set_sensitive(lookup_widget("prepro_button"), TRUE); - break; - - case OD_DARK: - gtk_entry_set_text( - GTK_ENTRY( - gtk_builder_get_object(builder, "darkname_entry")), - filename); - gtk_toggle_button_set_active( - GTK_TOGGLE_BUTTON( - gtk_builder_get_object(builder, "usedark_button")), - TRUE); - if (sequence_is_loaded() || single_image_is_loaded()) - gtk_widget_set_sensitive(lookup_widget("prepro_button"), TRUE); - break; - - case OD_OFFSET: - gtk_entry_set_text( - GTK_ENTRY( - gtk_builder_get_object(builder, - "offsetname_entry")), filename); - gtk_toggle_button_set_active( - GTK_TOGGLE_BUTTON( - gtk_builder_get_object(builder, - "useoffset_button")), - TRUE); - if (sequence_is_loaded() || single_image_is_loaded()) - gtk_widget_set_sensitive(lookup_widget("prepro_button"), TRUE); - break; - - case OD_CWD: - if (!changedir(filename, &err)) { - writeinitfile(); - } else { - siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), err); - } - break; - - case OD_OPEN: - set_cursor_waiting(TRUE); - open_single_image(filename); - set_cursor_waiting(FALSE); - break; - - case OD_CONVERT: - list = gtk_file_chooser_get_filenames(chooser); - list = g_slist_sort(list, (GCompareFunc) strcompare); - fill_convert_list(list); - g_slist_free(list); - break; - } - whichdial = OD_NULL; - g_free(filename); - } -#ifdef _WIN32 - g_object_unref(widgetdialog); -#else - gtk_widget_destroy(widgetdialog); -#endif -} /* * Update FWHM UNITS static function @@ -1287,6 +951,86 @@ return popover; } +static void update_theme_button(const gchar *button_name, const gchar *path) { + gchar *images; + + images = g_build_filename(com.app_path, "pixmaps", path, NULL); + gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(lookup_widget(button_name)), + gtk_image_new_from_file(images)); + gtk_widget_show_all(lookup_widget(button_name)); + + g_free(images); +} + +static void update_icons_to_theme(gboolean is_dark) { + siril_debug_print("Loading %s theme...\n", is_dark ? "dark" : "light"); + if (is_dark) { + update_theme_button("rotate90_anticlock_button", "rotate-acw_dark.png"); + update_theme_button("rotate90_clock_button", "rotate-cw_dark.png"); + update_theme_button("mirrorx_button", "mirrorx_dark.png"); + update_theme_button("mirrory_button", "mirrory_dark.png"); + + update_theme_button("process_starfinder_button", "starfinder_dark.png"); + update_theme_button("sum_button", "sum_dark.png"); + update_theme_button("export_button", "export_dark.png"); + + update_theme_button("histoToolAutoStretch", "mtf_dark.png"); +} else { + update_theme_button("rotate90_anticlock_button", "rotate-acw.png"); + update_theme_button("rotate90_clock_button", "rotate-cw.png"); + update_theme_button("mirrorx_button", "mirrorx.png"); + update_theme_button("mirrory_button", "mirrory.png"); + + update_theme_button("process_starfinder_button", "starfinder.png"); + update_theme_button("sum_button", "sum.png"); + update_theme_button("export_button", "export.png"); + + update_theme_button("histoToolAutoStretch", "mtf.png"); + } +} + +void on_combo_theme_changed(GtkComboBox *box, gpointer user_data) { + GtkSettings *settings; + + com.combo_theme = gtk_combo_box_get_active(box); + if ((com.combo_theme == 1) || (com.have_dark_theme && com.combo_theme == 0)) { + com.want_dark = TRUE; + } else { + com.want_dark = FALSE; + } + + settings = gtk_settings_get_default(); + g_object_set(settings, "gtk-application-prefer-dark-theme", com.want_dark, NULL); + update_icons_to_theme(com.want_dark); +} + +static void initialize_theme_GUI() { + GtkComboBox *box; + + box = GTK_COMBO_BOX(lookup_widget("combo_theme")); + + g_signal_handlers_block_by_func(box, on_combo_theme_changed, NULL); + gtk_combo_box_set_active(box, com.combo_theme); + g_signal_handlers_unblock_by_func(box, on_combo_theme_changed, NULL); + update_icons_to_theme(com.want_dark); +} + +void load_prefered_theme(gint theme) { + GtkSettings *settings; + + settings = gtk_settings_get_default(); + g_object_get(settings, "gtk-application-prefer-dark-theme", &com.have_dark_theme, + NULL); + + if ((theme == 1) || (com.have_dark_theme && theme == 0)) { + com.want_dark = TRUE; + } else { + com.want_dark = FALSE; + } + + g_object_set(settings, "gtk-application-prefer-dark-theme", com.want_dark, NULL); +} + void set_sliders_value_to_gfit() { static GtkAdjustment *adj1 = NULL, *adj2 = NULL; @@ -1510,6 +1254,7 @@ /* File Menu */ gtk_widget_set_sensitive(lookup_widget("save1"), any_image_is_loaded); gtk_widget_set_sensitive(lookup_widget("menu_FITS_header"), any_image_is_loaded && gfit.header != NULL); + gtk_widget_set_sensitive(lookup_widget("menu_file_information"), is_a_single_image_loaded); /* Edit Menu */ gtk_widget_set_sensitive(lookup_widget("undo_item"), is_undo_available()); @@ -1520,6 +1265,7 @@ gtk_widget_set_sensitive(lookup_widget("menuitem_satu"), is_a_singleRGB_image_loaded); gtk_widget_set_sensitive(lookup_widget("menu_negative"), any_image_is_loaded); gtk_widget_set_sensitive(lookup_widget("menuitemcalibration"), is_a_singleRGB_image_loaded); + gtk_widget_set_sensitive(lookup_widget("menuitemphotometriccalibration"), is_a_singleRGB_image_loaded); gtk_widget_set_sensitive(lookup_widget("menu_channel_separation"), is_a_singleRGB_image_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_histo"), any_image_is_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_asinh"), any_image_is_loaded); @@ -1532,7 +1278,7 @@ gtk_widget_set_sensitive(lookup_widget("menuitem_rotation270"), is_a_single_image_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_mirrorx"), is_a_single_image_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_mirrory"), is_a_single_image_loaded); - gtk_widget_set_sensitive(lookup_widget("menuitem_bkg_extraction"), is_a_single_image_loaded); + gtk_widget_set_sensitive(lookup_widget("menuitem_background_extraction"), any_image_is_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_wavelets"), is_a_single_image_loaded); gtk_widget_set_sensitive(lookup_widget("menu_wavelet_separation"), is_a_single_image_loaded); gtk_widget_set_sensitive(lookup_widget("menuitem_medianfilter"), is_a_single_image_loaded); @@ -1778,12 +1524,12 @@ /********GAMMA CORRECTION**************/ if (gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_gamm0"))) == TRUE) { + GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_gamm0")))) { /* Linear Gamma Curve */ com.raw_set.gamm[0] = 1.0; com.raw_set.gamm[1] = 1.0; } else if (gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_gamm1"))) == TRUE) { + GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_gamm1")))) { /* BT.709 Gamma curve */ com.raw_set.gamm[0] = 2.222; com.raw_set.gamm[1] = 4.5; @@ -1798,6 +1544,8 @@ GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_SER_use_header"))); com.debayer.compatibility = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_debayer_compatibility"))); + com.debayer.stretch = gtk_toggle_button_get_active( + GTK_TOGGLE_BUTTON(lookup_widget("stretch_CFA_to16_button"))); writeinitfile(); } @@ -1808,6 +1556,10 @@ GTK_SPIN_BUTTON(lookup_widget("spinInner"))); com.phot_set.outer = gtk_spin_button_get_value( GTK_SPIN_BUTTON(lookup_widget("spinOuter"))); + com.phot_set.minval = gtk_spin_button_get_value( + GTK_SPIN_BUTTON(lookup_widget("spinMinPhot"))); + com.phot_set.maxval = gtk_spin_button_get_value( + GTK_SPIN_BUTTON(lookup_widget("spinMaxPhot"))); writeinitfile(); } @@ -1893,6 +1645,9 @@ g_snprintf(str, sizeof(str), _("%s (channel 2)"), filename); gtk_label_set_text(fn_label, str); } + if (!com.uniq) { + free(filename); + } } /* set available layers in the layer list of registration */ @@ -2003,11 +1758,11 @@ ***/ gtk_check_menu_item_set_active(graycheck, TRUE); - gtk_widget_show_all(win); if (com.remember_windows && x >= 0 && y >= 0) { gtk_window_move(GTK_WINDOW(win), x, y); // gtk_window_resize(GTK_WINDOW(win), w, h); } + gtk_widget_show_all(win); gtk_window_present(GTK_WINDOW(win)); } @@ -2025,11 +1780,11 @@ ***/ gtk_check_menu_item_set_active(rgbcheck, TRUE); - gtk_widget_show_all(win); if (x != 0 && y != 0) { gtk_window_move(GTK_WINDOW(win), x, y); // gtk_window_resize(GTK_WINDOW(win), w, h); } + gtk_widget_show_all(win); } void hide_rgb_window() { @@ -2040,7 +1795,27 @@ gtk_widget_hide(lookup_widget("main_window")); } -void zoomcombo_update_display_for_zoom() { +/** + * Get the active window on toplevels + * @return the GtkWindow activated + */ +GtkWindow *siril_get_active_window() { + GtkWindow *win = NULL; + GList *list, *l; + + list = gtk_window_list_toplevels(); + + for (l = list; l; l = l->next) { + if (gtk_window_is_active((GtkWindow *) l->data)) { + win = (GtkWindow *) l->data; + break; + } + } + g_list_free(list); + return win; +} + +static void zoomcombo_update_display_for_zoom() { static GtkComboBox *zoomcombo = NULL; static double indexes[] = { 16., 8., 4., 2., 1., .5, .25, .125, /*.0625, */ -1. }; @@ -2048,7 +1823,7 @@ char *msg; if (zoomcombo == NULL) - zoomcombo = GTK_COMBO_BOX(gtk_builder_get_object(builder, "combozoom")); + zoomcombo = GTK_COMBO_BOX(lookup_widget("combozoom")); for (i = 0; i < sizeof(indexes) / sizeof(double); i++) { if (indexes[i] == com.zoom_value) { g_signal_handlers_block_by_func(zoomcombo, on_combozoom_changed, @@ -2064,7 +1839,7 @@ siril_message_dialog( GTK_MESSAGE_ERROR, _("Error"), msg); } -void initialize_FITS_name_entries() { +static void initialize_FITS_name_entries() { GtkEntry *moffset, *mdark, *mflat, *final_stack; GString *str[4]; gchar *txt[4]; @@ -2081,7 +1856,7 @@ str[3] = g_string_new("stack_result"); for (i = 0; i < 4; i++) { - g_string_append(str[i], com.ext); + str[i] = g_string_append(str[i], com.ext); txt[i] = g_string_free(str[i], FALSE); } gtk_entry_set_text(moffset, txt[0]); @@ -2165,22 +1940,34 @@ } void control_window_switch_to_tab(main_tabs tab) { - GtkNotebook* notebook = GTK_NOTEBOOK( - gtk_builder_get_object(builder, "notebook2")); + GtkNotebook* notebook = GTK_NOTEBOOK(lookup_widget("notebook2")); gtk_notebook_set_current_page(notebook, tab); } void update_statusbar_convert() { - GtkLabel *status_label = GTK_LABEL( - gtk_builder_get_object(builder, "statuslabel_convert")); + GtkLabel *status_label = GTK_LABEL(lookup_widget("statuslabel_convert")); - int nb_files = count_selected_files(); + int nb_files = count_converted_files(); if (nb_files == 0) gtk_label_set_text(status_label, " "); else { - char str[64]; - g_snprintf(str, sizeof(str), _("%d files loaded"), nb_files); - gtk_label_set_text(status_label, str); + int selected = count_selected_files(); + gchar *str, *total; + if (nb_files == 1) { + str = g_strdup_printf(_("%d file loaded"), nb_files); + } else { + str = g_strdup_printf(_("%d files loaded"), nb_files); + } + if (selected == 0) { + total = g_strdup(str); + } else if (selected == 1) { + total = g_strdup_printf(_("%d file selected, %s"), selected, str); + } else { + total = g_strdup_printf(_("%d files selected, %s"), selected, str); + } + gtk_label_set_text(status_label, total); + g_free(str); + g_free(total); } } @@ -2199,36 +1986,61 @@ /***************************************************************************** * I N I T I A L I S A T I O N F U N C T I O N S * ****************************************************************************/ +static void add_accelerator_to_tooltip(GtkWidget *widget, guint key, GdkModifierType mod) { + gchar *text = gtk_widget_get_tooltip_text(widget); + gchar *accel_str = gtk_accelerator_get_label(key, mod); + gchar *tip = g_strdup_printf("%s (%s)", text, accel_str); + + gtk_widget_set_tooltip_text(widget, tip); + g_free(accel_str); + g_free(tip); + g_free(text); +} -void initialize_shortcuts() { +static void initialize_shortcuts() { /* activate accelerators (keyboard shortcut in GTK language) */ static GtkAccelGroup *accel = NULL; + GdkModifierType mod = get_default_modifier(); if (accel == NULL) { accel = GTK_ACCEL_GROUP(gtk_builder_get_object(builder, "accelgroup1")); } /* EXIT */ gtk_widget_add_accelerator(lookup_widget("exit"), "activate", accel, - GDK_KEY_q, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_q, mod, GTK_ACCEL_VISIBLE); /* UNDO */ gtk_widget_add_accelerator(lookup_widget("undo_item"), "activate", accel, - GDK_KEY_z, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_z, mod, GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator(lookup_widget("undo_item1"), "activate", accel, - GDK_KEY_z, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_z, mod, GTK_ACCEL_VISIBLE); /* REDO */ +#ifdef _WIN32 gtk_widget_add_accelerator(lookup_widget("redo_item"), "activate", accel, - GDK_KEY_z, get_default_modifier() | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); + GDK_KEY_y, mod, GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator(lookup_widget("redo_item1"), "activate", accel, - GDK_KEY_z, get_default_modifier() | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); + GDK_KEY_y, mod, GTK_ACCEL_VISIBLE); +#else + gtk_widget_add_accelerator(lookup_widget("redo_item"), "activate", accel, + GDK_KEY_z, mod | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); + gtk_widget_add_accelerator(lookup_widget("redo_item1"), "activate", accel, + GDK_KEY_z, mod | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE); +#endif /* OPEN */ gtk_widget_add_accelerator(lookup_widget("open1"), "activate", accel, - GDK_KEY_o, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_o, mod, GTK_ACCEL_VISIBLE); /* SAVE */ gtk_widget_add_accelerator(lookup_widget("save1"), "activate", accel, - GDK_KEY_s, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_s, mod, GTK_ACCEL_VISIBLE); /* NEGATIVE */ gtk_widget_add_accelerator(lookup_widget("menu_negative"), "activate", accel, - GDK_KEY_i, get_default_modifier(), GTK_ACCEL_VISIBLE); + GDK_KEY_i, mod, GTK_ACCEL_VISIBLE); + /* SETTINGS */ + gtk_widget_add_accelerator(lookup_widget("settings"), "activate", accel, + GDK_KEY_k, mod, GTK_ACCEL_VISIBLE); + /* OPEN WD */ + gtk_widget_add_accelerator(lookup_widget("cwd_button"), "clicked", accel, + GDK_KEY_d, mod, GTK_ACCEL_VISIBLE); + add_accelerator_to_tooltip(lookup_widget("cwd_button"), GDK_KEY_d, mod); } void initialize_remap() { @@ -2275,9 +2087,6 @@ g_signal_handlers_unblock_by_func(chainedbutton, on_checkchain_toggled, NULL); } - - /* initialize background gradient data */ - memset(&background_fit, 0, sizeof(fits)); } void set_GUI_CWD() { @@ -2294,13 +2103,14 @@ void set_GUI_misc() { GtkToggleButton *ToggleButton; + GtkSpinButton *memory_percent; ToggleButton = GTK_TOGGLE_BUTTON(lookup_widget("miscAskQuit")); gtk_toggle_button_set_active(ToggleButton, com.dontShowConfirm); - ToggleButton = GTK_TOGGLE_BUTTON(lookup_widget("darkThemeCheck")); - gtk_toggle_button_set_active(ToggleButton, com.have_dark_theme); ToggleButton = GTK_TOGGLE_BUTTON(lookup_widget("rememberWindowsCheck")); gtk_toggle_button_set_active(ToggleButton, com.remember_windows); + memory_percent = GTK_SPIN_BUTTON(lookup_widget("spinbutton_mem")); + gtk_spin_button_set_value(memory_percent, com.stack.memory_percent); } /* size is in kiB */ @@ -2313,22 +2123,18 @@ set_label_text_from_main_thread("labelmem", str); } -void set_GUI_DiskSpace(double mem) { +void set_GUI_DiskSpace(int64_t space) { gchar str[20]; - const char *units[] = { "B", "k", "M", "G", "T", "P", "E", "Z", "Y" }; - size_t i = 0; - if (mem != 0.0 && i < 9) { - while (mem >= 1000.0) { - mem = mem / 1024.0; - i++; - } - g_snprintf(str, sizeof(str), _("Disk Space: %.0lf%s"), mem, units[i]); + if (space > 0) { + gchar *mem = pretty_print_memory(space); + g_snprintf(str, sizeof(str), _("Disk Space: %s"), mem); + free(mem); } else g_snprintf(str, sizeof(str), _("Disk Space: N/A")); set_label_text_from_main_thread("labelFreeSpace", str); } -void initialize_preprocessing() { +static void initialize_preprocessing() { GtkToggleButton *cfaButton, *eqButton; cfaButton = GTK_TOGGLE_BUTTON(lookup_widget("cosmCFACheck")); @@ -2340,30 +2146,31 @@ } void set_libraw_settings_menu_available(gboolean activate) { - GtkNotebook *notebook = GTK_NOTEBOOK(lookup_widget("notebook3")); - GtkWidget *widget = gtk_notebook_get_nth_page (notebook, 0); + if (!com.script) { + GtkNotebook *notebook = GTK_NOTEBOOK(lookup_widget("notebook3")); + GtkWidget *widget = gtk_notebook_get_nth_page(notebook, 0); - gtk_widget_set_visible(widget, activate); + gtk_widget_set_visible(widget, activate); + } } void set_GUI_CAMERA() { - GtkComboBox *binning = GTK_COMBO_BOX( - gtk_builder_get_object(builder, "combobinning")); + GtkComboBox *binning = GTK_COMBO_BOX(lookup_widget("combobinning")); if (gfit.focal_length) { - char focal[8]; - g_snprintf(focal, sizeof(focal), "%g", gfit.focal_length); + gchar *focal = g_strdup_printf("%.3lf", gfit.focal_length); gtk_entry_set_text(GTK_ENTRY(lookup_widget("focal_entry")), focal); + g_free(focal); } if (gfit.pixel_size_x) { - char pitchX[8]; - g_snprintf(pitchX, sizeof(pitchX), "%g", gfit.pixel_size_x); + gchar *pitchX = g_strdup_printf("%.2lf", gfit.pixel_size_x); gtk_entry_set_text(GTK_ENTRY(lookup_widget("pitchX_entry")), pitchX); + g_free(pitchX); } if (gfit.pixel_size_y) { - char pitchY[8]; - g_snprintf(pitchY, sizeof(pitchY), "%g", gfit.pixel_size_y); + gchar *pitchY = g_strdup_printf("%.2lf", gfit.pixel_size_y); gtk_entry_set_text(GTK_ENTRY(lookup_widget("pitchY_entry")), pitchY); + g_free(pitchY); } if (!gfit.binning_x || !gfit.binning_y) { @@ -2390,7 +2197,7 @@ } } -void set_GUI_LIBRAW() { +static void set_GUI_LIBRAW() { /**********COLOR ADJUSTEMENT**************/ gtk_spin_button_set_value( @@ -2441,12 +2248,15 @@ GtkComboBox *inter = GTK_COMBO_BOX(lookup_widget("comboBayer_inter")); GtkToggleButton *compat = GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_debayer_compatibility")); GtkToggleButton *use_header = GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_SER_use_header")); + GtkToggleButton *stretch_cfa = GTK_TOGGLE_BUTTON(lookup_widget("stretch_CFA_to16_button")); GtkToggleButton *demosaicingButton = GTK_TOGGLE_BUTTON(lookup_widget("demosaicingButton")); gtk_combo_box_set_active(pattern, com.debayer.bayer_pattern); gtk_combo_box_set_active(inter, com.debayer.bayer_inter); gtk_toggle_button_set_active(compat, com.debayer.compatibility); gtk_toggle_button_set_active(use_header, com.debayer.use_bayer_header); gtk_toggle_button_set_active(demosaicingButton, com.debayer.open_debayer); + gtk_toggle_button_set_active(stretch_cfa, com.debayer.stretch); + } void set_GUI_photometry() { @@ -2464,6 +2274,126 @@ gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget("spinOuter")), com.phot_set.outer); } + if (com.phot_set.minval > 0.0) { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget("spinMinPhot")), + com.phot_set.minval); + } + if (com.phot_set.maxval > 0.0) { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(lookup_widget("spinMaxPhot")), + com.phot_set.maxval); + } +} + +static void initialize_path_directory() { + GtkFileChooser *swap_dir; + + swap_dir = GTK_FILE_CHOOSER(lookup_widget("filechooser_swap")); + if (com.swap_dir && com.swap_dir[0] != '\0') + gtk_file_chooser_set_filename (swap_dir, com.swap_dir); + else + gtk_file_chooser_set_filename (swap_dir, g_get_tmp_dir()); +} + +static void initialize_scrollbars() { + int i; + char *vport_names[] = { "r", "g", "b", "rgb" }; + char window_name[32]; + + for (i = 0; i < sizeof(vport_names) / sizeof(char *); i++) { + sprintf(window_name, "scrolledwindow%s", vport_names[i]); + GtkScrolledWindow *win = GTK_SCROLLED_WINDOW(gtk_builder_get_object(builder, window_name)); + com.hadj[i] = gtk_scrolled_window_get_hadjustment(win); + g_signal_connect(com.hadj[i], "value-changed", + G_CALLBACK(scrollbars_hadjustment_changed_handler), NULL); + com.vadj[i] = gtk_scrolled_window_get_vadjustment(win); + g_signal_connect(com.vadj[i], "value-changed", + G_CALLBACK(scrollbars_vadjustment_changed_handler), NULL); + } +} + +static GtkTargetEntry drop_types[] = { + {"text/uri-list", 0, 0} +}; + +void initialize_all_GUI(gchar *supported_files) { + /* initializing internal structures with widgets (drawing areas) */ + com.vport[RED_VPORT] = lookup_widget("drawingarear"); + com.vport[GREEN_VPORT] = lookup_widget("drawingareag"); + com.vport[BLUE_VPORT] = lookup_widget("drawingareab"); + com.vport[RGB_VPORT] = lookup_widget("drawingareargb"); + com.preview_area[0] = lookup_widget("drawingarea_preview1"); + com.preview_area[1] = lookup_widget("drawingarea_preview2"); + initialize_remap(); + initialize_scrollbars(); + init_mouse(); + + /* Keybord Shortcuts */ + initialize_shortcuts(); + + /* Select combo boxes that trigger some text display or other things */ + gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(builder, "comboboxstack_methods")), 0); + zoomcombo_update_display_for_zoom(); + + GtkLabel *label_supported = GTK_LABEL(lookup_widget("label_supported_types")); + gtk_label_set_text(label_supported, supported_files); + + adjust_sellabel(); + + /* initialize theme */ + initialize_theme_GUI(); + + /* initialize menu gui */ + update_MenuItem(); + initialize_script_menu(); + + /* initialize command completion */ + init_completion_command(); + + /* initialize preprocessing */ + initialize_preprocessing(); + + /* initialize registration methods */ + initialize_registration_methods(); + + /* initialize stacking methods */ + initialize_stacking_methods(); + + /* register some callbacks */ + register_selection_update_callback(update_export_crop_label); + + /* initialization of the binning parameters */ + GtkComboBox *binning = GTK_COMBO_BOX(lookup_widget("combobinning")); + gtk_combo_box_set_active(binning, 0); + + /* initialization of some paths */ + initialize_path_directory(); + + /* initialization of default FITS extension */ + GtkComboBox *box = GTK_COMBO_BOX(lookup_widget("combobox_ext")); + gtk_combo_box_set_active_id(box, com.ext); + initialize_FITS_name_entries(); + + initialize_log_tags(); + + /* support for converting files by dragging onto the GtkTreeView */ + gtk_drag_dest_set(lookup_widget("treeview_convert"), + GTK_DEST_DEFAULT_MOTION, drop_types, G_N_ELEMENTS(drop_types), + GDK_ACTION_COPY); + + set_GUI_CWD(); + set_GUI_misc(); + set_GUI_photometry(); + init_peaker_GUI(); +#ifdef HAVE_LIBRAW + set_libraw_settings_menu_available(TRUE); // enable libraw settings + set_GUI_LIBRAW(); +#else + set_libraw_settings_menu_available(FALSE); // disable libraw settings +#endif + g_object_ref(G_OBJECT(lookup_widget("main_window"))); // don't destroy it on removal + g_object_ref(G_OBJECT(lookup_widget("rgb_window"))); // don't destroy it on removal + + update_used_memory(); } /***************************************************************************** @@ -2574,7 +2504,7 @@ cairo_set_line_width(cr, 2.0 / zoom); fitted_PSF *the_psf = com.seq.photometry[i][com.seq.current]; if (the_psf) { - double size = sqrt(the_psf->sx / 2.) * 2 * sqrt(log(2.) * 2) + 0.5; + double size = the_psf->sx; cairo_arc(cr, the_psf->xpos, the_psf->ypos, size, 0., 2. * M_PI); cairo_stroke(cr); cairo_arc(cr, the_psf->xpos, the_psf->ypos, com.phot_set.inner, 0., @@ -2649,18 +2579,16 @@ } /* draw background removal gradient selection boxes */ - if (com.grad && com.grad_boxes_drawn) { - int i = 0; - while (i < com.grad_nb_boxes) { - if (com.grad[i].boxvalue[0] != -1.0) { - cairo_set_line_width(cr, 1.5 / zoom); - cairo_set_source_rgba(cr, 0.2, 1.0, 0.3, 1.0); - cairo_rectangle(cr, com.grad[i].centre.x - com.grad_size_boxes, - com.grad[i].centre.y - com.grad_size_boxes, - com.grad_size_boxes, com.grad_size_boxes); - cairo_stroke(cr); - } - i++; + GSList *list; + for (list = com.grad_samples; list; list = list->next) { + background_sample *sample = (background_sample *)list->data; + if (sample->valid) { + int radius = (int) (sample->size / 2); + cairo_set_line_width(cr, 1.5 / zoom); + cairo_set_source_rgba(cr, 0.2, 1.0, 0.3, 1.0); + cairo_rectangle(cr, sample->position.x - radius, sample->position.y - radius, + sample->size, sample->size); + cairo_stroke(cr); } } return FALSE; @@ -2745,31 +2673,6 @@ redraw_previews(); } -void on_darkfile_button_clicked(GtkButton *button, gpointer user_data) { - whichdial = OD_DARK; - opendial(); -} - -void on_cwd_btton_clicked(GtkButton *button, gpointer user_data) { - whichdial = OD_CWD; - opendial(); -} - -void on_offsetfile_button_clicked(GtkButton *button, gpointer user_data) { - whichdial = OD_OFFSET; - opendial(); -} - -void on_flatfile_button_clicked(GtkButton *button, gpointer user_data) { - whichdial = OD_FLAT; - opendial(); -} - -void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data) { - whichdial = OD_OPEN; - opendial(); -} - void on_cosmEnabledCheck_toggled(GtkToggleButton *button, gpointer user_data) { GtkWidget *CFA, *SigHot, *SigCold, *checkHot, *checkCold, *evaluateButton; gboolean is_active; @@ -2868,7 +2771,7 @@ show_FITS_header(&gfit); } -void on_close_settings_button_clicked(GtkButton *button, gpointer user_data) { +void on_apply_settings_button_clicked(GtkButton *button, gpointer user_data) { update_libraw_interface(); update_photometry_interface(); fill_script_paths_list(); @@ -2884,20 +2787,52 @@ void on_pitchX_entry_changed(GtkEditable *editable, gpointer user_data) { const gchar* pitchX_entry = gtk_entry_get_text(GTK_ENTRY(editable)); - gfit.pixel_size_x = (float)atof(pitchX_entry); + gfit.pixel_size_x = (float) atof(pitchX_entry); update_fwhm_units_ok(); } void on_pitchY_entry_changed(GtkEditable *editable, gpointer user_data) { const gchar* pitchY_entry = gtk_entry_get_text(GTK_ENTRY(editable)); - gfit.pixel_size_y = (float)atof(pitchY_entry); + gfit.pixel_size_y = (float) atof(pitchY_entry); update_fwhm_units_ok(); } +void on_combobinning_changed(GtkComboBox *box, gpointer user_data) { + gint index = gtk_combo_box_get_active(box); + + switch (index) { + case 0: + case 1: + case 2: + case 3: + gfit.binning_x = gfit.binning_y = (short) index + 1; + break; + case 4: + gfit.binning_x = 1; + gfit.binning_x = 2; + break; + case 5: + gfit.binning_x = 1; + gfit.binning_y = 3; + break; + default: + fprintf(stderr, "Should not happen\n"); + } +} + +void on_menu_file_information_activate(GtkMenuItem *menuitem, gpointer user_data) { + gtk_widget_show(lookup_widget("file_information")); +} + +void on_file_information_close_clicked(GtkButton *button, gpointer user_data) { + gtk_widget_hide(lookup_widget("file_information")); +} + + void on_toggleButtonUnbinned_toggled(GtkToggleButton *button, gpointer user_data) { GtkWidget *box; - box = lookup_widget("combobinning"); + box = lookup_widget("box_binning_info"); gfit.unbinned = gtk_toggle_button_get_active(button); gtk_widget_set_sensitive(box, gfit.unbinned); @@ -2921,7 +2856,7 @@ GtkToggleButton *cam_button = GTK_TOGGLE_BUTTON( lookup_widget("checkbutton_cam")); - if (gtk_toggle_button_get_active(auto_button) == TRUE) { + if (gtk_toggle_button_get_active(auto_button)) { g_signal_handlers_block_by_func(auto_button, on_checkbutton_auto_toggled, NULL); gtk_toggle_button_set_active(auto_button, FALSE); @@ -2937,7 +2872,7 @@ GtkToggleButton *cam_button = GTK_TOGGLE_BUTTON( lookup_widget("checkbutton_cam")); - if (gtk_toggle_button_get_active(cam_button) == TRUE) { + if (gtk_toggle_button_get_active(cam_button)) { g_signal_handlers_block_by_func(cam_button, on_checkbutton_cam_toggled, NULL); gtk_toggle_button_set_active(cam_button, FALSE); @@ -2954,29 +2889,6 @@ gtk_widget_set_sensitive(entry, !gtk_toggle_button_get_active(button)); } -void on_combobinning_changed(GtkComboBox *box, gpointer user_data) { - gint index = gtk_combo_box_get_active(box); - - switch (index) { - case 0: - case 1: - case 2: - case 3: - gfit.binning_x = gfit.binning_y = (short) index + 1; - break; - case 4: - gfit.binning_x = 1; - gfit.binning_x = 2; - break; - case 5: - gfit.binning_x = 1; - gfit.binning_y = 3; - break; - default: - fprintf(stderr, "Should not happen\n"); - } -} - void on_checkbutton_multipliers_toggled(GtkToggleButton *button, gpointer user_data) { gboolean active; @@ -3024,7 +2936,6 @@ } void on_combobox_ext_changed(GtkComboBox *box, gpointer user_data) { - if (com.ext) free(com.ext); @@ -3050,16 +2961,32 @@ if (!com.script && com.remember_windows) { com.main_w_pos = get_window_position(GTK_WINDOW(lookup_widget("main_window"))); com.rgb_w_pos = get_window_position(GTK_WINDOW(lookup_widget("rgb_window"))); - writeinitfile(); } } +gboolean on_rgb_window_configure_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + + save_all_windows_position(); + return FALSE; +} + +gboolean on_main_window_configure_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + + save_all_windows_position(); + return FALSE; +} + void gtk_main_quit() { + writeinitfile(); // save settings (like window positions) close_sequence(FALSE); // save unfinished business close_single_image(); // close the previous image and free resources - g_object_unref(G_OBJECT(lookup_widget("main_window"))); - g_object_unref(G_OBJECT(lookup_widget("rgb_window"))); - undo_flush(); + g_slist_free_full(com.script_path, g_free); + if (!com.headless) { + g_object_unref(G_OBJECT(lookup_widget("main_window"))); + g_object_unref(G_OBJECT(lookup_widget("rgb_window"))); + } exit(EXIT_SUCCESS); } @@ -3156,6 +3083,51 @@ } /* mouse callbacks */ +double marge_size = 10; + +static gboolean is_over_the_left_side_of_sel(double zoomedX, double zoomedY, double zoom) { + double s = marge_size / zoom; + if ((zoomedX > com.selection.x - s && zoomedX < com.selection.x + s)) { + if (zoomedY > com.selection.y - s + && zoomedY < com.selection.y + com.selection.h + s) + return TRUE; + } + + return FALSE; +} + +static gboolean is_over_the_right_side_of_sel(double zoomedX, double zoomedY, double zoom) { + double s = marge_size / zoom; + if ((zoomedX > com.selection.x + com.selection.w - s + && zoomedX < com.selection.x + com.selection.w + s)) { + if (zoomedY > com.selection.y - s + && zoomedY < com.selection.y + com.selection.h + s) + return TRUE; + } + return FALSE; +} + +static gboolean is_over_the_bottom_of_sel(double zoomedX, double zoomedY, double zoom) { + double s = marge_size / zoom; + if ((zoomedY > com.selection.y + com.selection.h - s + && zoomedY < com.selection.y + com.selection.h + s)) { + if (zoomedX > com.selection.x - s + && zoomedX < com.selection.x + com.selection.w + s) + return TRUE; + } + return FALSE; +} + +static gboolean is_over_the_top_of_sel(double zoomedX, double zoomedY, double zoom) { + double s = marge_size / zoom; + if ((zoomedY > com.selection.y - s && zoomedY < com.selection.y + s)) { + if (zoomedX > com.selection.x - s + && zoomedX < com.selection.x + com.selection.w + s) + return TRUE; + } + return FALSE; +} + gboolean on_drawingarea_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { if (inimage((GdkEvent *) event)) { @@ -3175,49 +3147,73 @@ com.drawing = FALSE; } else { double zoom = get_zoom_val(); - com.drawing = TRUE; - com.startX = event->x / zoom; - com.startY = event->y / zoom; - com.selection.h = 0; - com.selection.w = 0; + if (is_over_the_left_side_of_sel(event->x / zoom, + event->y / zoom, zoom)) { + com.drawing = TRUE; + com.startX = com.selection.x + com.selection.w; + com.freezeY = TRUE; + com.freezeX = FALSE; + } else if (is_over_the_right_side_of_sel(event->x / zoom, + event->y / zoom, zoom)) { + com.drawing = TRUE; + com.startX = com.selection.x; + com.freezeY = TRUE; + com.freezeX = FALSE; + } else if (is_over_the_bottom_of_sel(event->x / zoom, + event->y / zoom, zoom)) { + com.drawing = TRUE; + com.startY = com.selection.y; + com.freezeY = FALSE; + com.freezeX = TRUE; + } else if (is_over_the_top_of_sel(event->x / zoom, + event->y / zoom, zoom)) { + com.drawing = TRUE; + com.startY = com.selection.y + com.selection.h; + com.freezeY = FALSE; + com.freezeX = TRUE; + } else { + com.drawing = TRUE; + com.startX = event->x / zoom; + com.startY = event->y / zoom; + com.selection.h = 0; + com.selection.w = 0; + com.freezeX = com.freezeY = FALSE; + } } gtk_widget_queue_draw(widget); - } - else if (mouse_status == MOUSE_ACTION_DRAW_SAMPLES) { + } else if (mouse_status == MOUSE_ACTION_DRAW_SAMPLES) { double zoom = get_zoom_val(); - if (!com.grad) { - com.grad = malloc(NB_MAX_OF_SAMPLES * sizeof(gradient)); - com.grad_boxes_drawn = TRUE; - com.grad_nb_boxes = 0; - } - int i = com.grad_nb_boxes; - if (i < NB_MAX_OF_SAMPLES) { - int layer; - GtkSpinButton *size = GTK_SPIN_BUTTON( - lookup_widget("spinbutton_bkg_sizebox")); - point pt; - int midbox; - - midbox = (size_t) gtk_spin_button_get_value(size); - com.grad_size_boxes = midbox * 2; - pt.x = (event->x / zoom); - pt.y = (event->y / zoom); - - if (pt.x + midbox <= gfit.rx && pt.y + midbox <= gfit.ry - && pt.x - midbox >= 0 && pt.y - midbox >= 0) { - com.grad[i].centre.x = pt.x + midbox; - com.grad[i].centre.y = pt.y + midbox; - for (layer = 0; layer < gfit.naxes[2]; layer++) - com.grad[i].boxvalue[layer] = get_value_from_box( - &gfit, pt, com.grad_size_boxes, layer); - com.grad_nb_boxes++; - redraw(com.cvport, REMAP_NONE); - redraw_previews(); - } + point pt; + int radius = get_sample_radius(); + + pt.x = (event->x / zoom) - radius; + pt.y = (event->y / zoom) - radius; + + if (pt.x + radius <= gfit.rx && pt.y + radius <= gfit.ry + && pt.x - radius >= 0 && pt.y - radius >= 0) { + com.grad_samples = add_background_sample(com.grad_samples, &gfit, pt); + + redraw(com.cvport, REMAP_NONE); + redraw_previews(); } } - } else if (event->button == 2) { // middle click + } else if (event->button == 3) { // right click + if (mouse_status == MOUSE_ACTION_DRAW_SAMPLES) { + double zoom = get_zoom_val(); + point pt; + int radius = (int) (25 / 2); + pt.x = (event->x / zoom) - radius; + pt.y = (event->y / zoom) - radius; + + if (pt.x + radius <= gfit.rx && pt.y + radius <= gfit.ry + && pt.x - radius >= 0 && pt.y - radius >= 0) { + com.grad_samples = remove_background_sample(com.grad_samples, &gfit, pt); + + redraw(com.cvport, REMAP_NONE); + redraw_previews(); + } + } } } return FALSE; @@ -3225,15 +3221,31 @@ gboolean on_drawingarea_button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { + double zoom = get_zoom_val(); + gdouble zoomedX, zoomedY; + if (inimage((GdkEvent *) event)) { - double zoom = get_zoom_val(); - gdouble zoomedX, zoomedY; zoomedX = event->x / zoom; zoomedY = event->y / zoom; - if (event->button == 1) { - if (com.drawing && mouse_status == MOUSE_ACTION_SELECT_REG_AREA) { - com.drawing = FALSE; - /* finalize selection rectangle coordinates */ + } else { + if (event->x < 0) + zoomedX = 0.0; + else if (event->x > gfit.rx * zoom) + zoomedX = gfit.rx; + else + zoomedX = event->x / zoom; + if (event->y < 0) + zoomedY = 0.0; + else if (event->y > gfit.ry * zoom) + zoomedY = gfit.ry; + else + zoomedY = event->y / zoom; + } + if (event->button == 1) { + if (com.drawing && mouse_status == MOUSE_ACTION_SELECT_REG_AREA) { + com.drawing = FALSE; + /* finalize selection rectangle coordinates */ + if (!com.freezeX) { if (zoomedX > com.startX) { com.selection.x = com.startX; com.selection.w = zoomedX - com.selection.x; @@ -3241,6 +3253,8 @@ com.selection.x = zoomedX; com.selection.w = com.startX - zoomedX; } + } + if (!com.freezeY) { if (zoomedY > com.startY) { com.selection.y = com.startY; com.selection.h = zoomedY - com.selection.y; @@ -3248,26 +3262,28 @@ com.selection.y = zoomedY; com.selection.h = com.startY - zoomedY; } - /* we have a new rectangular selection zone, - * or an unselection (empty zone) */ - new_selection_zone(); - - /* calculate and display FWHM - not in event - * callbacks because it's in the same file and - * requires a special argument */ - calculate_fwhm(widget); - } else if (mouse_status == MOUSE_ACTION_SELECT_PREVIEW1) { - set_preview_area(0, zoomedX, zoomedY); - mouse_status = MOUSE_ACTION_SELECT_REG_AREA; - // redraw to get the position of the new preview area - gtk_widget_queue_draw(widget); - } else if (mouse_status == MOUSE_ACTION_SELECT_PREVIEW2) { - set_preview_area(1, zoomedX, zoomedY); - mouse_status = MOUSE_ACTION_SELECT_REG_AREA; - gtk_widget_queue_draw(widget); } - is_shift_on = FALSE; - } else if (event->button == 2) { + /* we have a new rectangular selection zone, + * or an unselection (empty zone) */ + new_selection_zone(); + + /* calculate and display FWHM - not in event + * callbacks because it's in the same file and + * requires a special argument */ + calculate_fwhm(widget); + } else if (mouse_status == MOUSE_ACTION_SELECT_PREVIEW1) { + set_preview_area(0, zoomedX, zoomedY); + mouse_status = MOUSE_ACTION_SELECT_REG_AREA; + // redraw to get the position of the new preview area + gtk_widget_queue_draw(widget); + } else if (mouse_status == MOUSE_ACTION_SELECT_PREVIEW2) { + set_preview_area(1, zoomedX, zoomedY); + mouse_status = MOUSE_ACTION_SELECT_REG_AREA; + gtk_widget_queue_draw(widget); + } + is_shift_on = FALSE; + } else if (event->button == 2) { + if (inimage((GdkEvent *) event)) { double dX, dY, w, h; dX = 1.5 * com.phot_set.outer; @@ -3287,8 +3303,10 @@ new_selection_zone(); calculate_fwhm(widget); } + } - } else if (event->button == 3) { + } else if (event->button == 3) { + if (mouse_status != MOUSE_ACTION_DRAW_SAMPLES) { do_popup_graymenu(widget, NULL); } } @@ -3300,13 +3318,13 @@ //static int delay = 5; gchar label[32] = "labeldensity"; fits *fit = &(gfit); + double zoom = get_zoom_val(); + gint zoomedX = 0, zoomedY = 0; if (inimage((GdkEvent *) event)) { char buffer[45]; char format[25], *format_base = "x: %%.%dd y: %%.%dd = %%.%dd"; int coords_width = 3, val_width = 3; - double zoom = get_zoom_val(); - gint zoomedX, zoomedY; zoomedX = (gint) (event->x / zoom); zoomedY = (gint) (event->y / zoom); if (fit->rx >= 1000 || fit->ry >= 1000) @@ -3331,8 +3349,25 @@ return FALSE; gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(builder, label)), buffer); + } - if (com.drawing) { // with button 1 down + if (com.drawing) { // with button 1 down + if (!inimage((GdkEvent *) event)) { + set_cursor("crosshair"); + if (event->x < 0) + zoomedX = 0; + else if (event->x > gfit.rx * zoom) + zoomedX = gfit.rx; + else + zoomedX = round_to_int(event->x / zoom); + if (event->y < 0) + zoomedY = 0; + else if (event->y > gfit.ry * zoom) + zoomedY = gfit.ry; + else + zoomedY = round_to_int(event->y / zoom); + } + if (!com.freezeX) { if (zoomedX > com.startX) { com.selection.x = com.startX; com.selection.w = zoomedX - com.selection.x; @@ -3340,7 +3375,8 @@ com.selection.x = zoomedX; com.selection.w = com.startX - zoomedX; } - + } + if (!com.freezeY) { if (zoomedY > com.startY) { com.selection.y = com.startY; if (is_shift_on) @@ -3354,31 +3390,36 @@ else com.selection.h = com.startY - zoomedY; } - gtk_widget_queue_draw(widget); } - + gtk_widget_queue_draw(widget); + } + if (inimage((GdkEvent *) event)) { + if (mouse_status == MOUSE_ACTION_DRAW_SAMPLES) { + set_cursor("cell"); + } else { + if (!com.drawing) { + if (is_over_the_left_side_of_sel(zoomedX, zoomedY, zoom)) { + set_cursor("w-resize"); + } else if (is_over_the_right_side_of_sel(zoomedX, zoomedY, zoom)) { + set_cursor("e-resize"); + } else if (is_over_the_bottom_of_sel(zoomedX, zoomedY, zoom)) { + set_cursor("s-resize"); + } else if (is_over_the_top_of_sel(zoomedX, zoomedY, zoom)) { + set_cursor("n-resize"); + } else { + set_cursor("crosshair"); + } + } + } } + return FALSE; } -void on_drawingarea_entry_notify_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { - static GdkWindow *window = NULL; - static GdkDisplay *display = NULL; - static GdkCursor *cross = NULL; - if (!window) { - window = gtk_widget_get_window(widget); - display = gdk_window_get_display(window); - cross = gdk_cursor_new_for_display(display, GDK_CROSSHAIR); - } - gdk_window_set_cursor(window, cross); -} - -void on_drawingarea_leave_notify_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { - static GdkWindow *window = NULL; - if (!window) { - window = gtk_widget_get_window(widget); - } - gdk_window_set_cursor(window, NULL); +void on_drawingarea_leave_notify_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + /* trick to get default cursor */ + set_cursor_waiting(FALSE); } /* We give one signal event by toggle button to fix a bug. Without this solution @@ -3386,7 +3427,7 @@ * one call to select new button, one call to unselect previous one */ void on_radiobutton_minmax_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - if (gtk_toggle_button_get_active(togglebutton) == TRUE) { + if (gtk_toggle_button_get_active(togglebutton)) { com.sliders = MINMAX; init_layers_hi_and_lo_values(com.sliders); set_cutoff_sliders_values(); @@ -3397,7 +3438,7 @@ void on_radiobutton_hilo_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - if (gtk_toggle_button_get_active(togglebutton) == TRUE) { + if (gtk_toggle_button_get_active(togglebutton)) { com.sliders = MIPSLOHI; init_layers_hi_and_lo_values(com.sliders); set_cutoff_sliders_values(); @@ -3408,7 +3449,7 @@ void on_radiobutton_user_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - if (gtk_toggle_button_get_active(togglebutton) == TRUE) { + if (gtk_toggle_button_get_active(togglebutton)) { com.sliders = USER; init_layers_hi_and_lo_values(com.sliders); set_cutoff_sliders_values(); @@ -3781,139 +3822,119 @@ } } -static int test_for_master_files() { +static void test_for_master_files(struct preprocessing_data *args) { GtkToggleButton *tbutton; GtkEntry *entry; - int ret_value = 0; - // if dark selected + tbutton = GTK_TOGGLE_BUTTON(lookup_widget("useoffset_button")); + if (gtk_toggle_button_get_active(tbutton)) { + const char *filename; + entry = GTK_ENTRY(lookup_widget("offsetname_entry")); + filename = gtk_entry_get_text(entry); + if (filename[0] == '\0') { + gtk_toggle_button_set_active(tbutton, FALSE); + } else { + const char *error = NULL; + set_progress_bar_data(_("Opening offset image..."), PROGRESS_NONE); + args->bias = calloc(1, sizeof(fits)); + if (!readfits(filename, args->bias, NULL)) { + if (args->bias->naxes[2] != gfit.naxes[2]) { + error = _("NOT USING OFFSET: number of channels is different"); + } else if (args->bias->naxes[0] != gfit.naxes[0] || + args->bias->naxes[1] != gfit.naxes[1]) { + error = _("NOT USING OFFSET: image dimensions are different"); + } else { + args->use_bias = TRUE; + } + + } else error = _("NOT USING OFFSET: cannot open the file\n"); + if (error) { + siril_log_message("%s\n", error); + set_progress_bar_data(error, PROGRESS_DONE); + free(args->bias); + gtk_entry_set_text(entry, ""); + args->use_bias = FALSE; + } + } + } + tbutton = GTK_TOGGLE_BUTTON(lookup_widget("usedark_button")); - if (gtk_toggle_button_get_active(tbutton) == TRUE) { + if (gtk_toggle_button_get_active(tbutton)) { const char *filename; entry = GTK_ENTRY(lookup_widget("darkname_entry")); filename = gtk_entry_get_text(entry); if (filename[0] == '\0') { gtk_toggle_button_set_active(tbutton, FALSE); } else { - fits *dark_fit; + const char *error = NULL; set_progress_bar_data(_("Opening dark image..."), PROGRESS_NONE); - dark_fit = calloc(1, sizeof(fits)); - if (readfits(filename, dark_fit, NULL)) { - const char *msg = _("NOT USING DARK: cannot open the file\n"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(dark_fit); - gtk_entry_set_text(entry, ""); - } else { - if (dark_fit->naxes[2] != gfit.naxes[2]) { - const char *msg = _("NOT USING DARK: number of channels is different"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(dark_fit); - gtk_entry_set_text(entry, ""); - } - else { - ret_value |= USE_DARK; - if (single_image_is_loaded()) - com.uniq->dark = dark_fit; - else - com.seq.dark = dark_fit; + args->dark = calloc(1, sizeof(fits)); + if (!readfits(filename, args->dark, NULL)) { + if (args->dark->naxes[2] != gfit.naxes[2]) { + error = _("NOT USING DARK: number of channels is different"); + } else if (args->dark->naxes[0] != gfit.naxes[0] || + args->dark->naxes[1] != gfit.naxes[1]) { + error = _("NOT USING DARK: image dimensions are different"); + } else { + args->use_dark = TRUE; } + + } else error = _("NOT USING DARK: cannot open the file\n"); + if (error) { + siril_log_message("%s\n", error); + set_progress_bar_data(error, PROGRESS_DONE); + free(args->dark); + gtk_entry_set_text(entry, ""); + args->use_dark = FALSE; } } - // if dark optimization selected + // dark optimization tbutton = GTK_TOGGLE_BUTTON(lookup_widget("checkDarkOptimize")); - if (gtk_toggle_button_get_active(tbutton) == TRUE) { - ret_value |= USE_OPTD; - } + args->use_dark_optim = gtk_toggle_button_get_active(tbutton); - // if cosmetic correction selected + // cosmetic correction tbutton = GTK_TOGGLE_BUTTON(lookup_widget("cosmEnabledCheck")); - if (gtk_toggle_button_get_active(tbutton) == TRUE) { - ret_value |= USE_COSME; - } + args->use_cosmetic_correction = gtk_toggle_button_get_active(tbutton); } - // if flat selected tbutton = GTK_TOGGLE_BUTTON(lookup_widget("useflat_button")); - if (gtk_toggle_button_get_active(tbutton) == TRUE) { + if (gtk_toggle_button_get_active(tbutton)) { const char *filename; entry = GTK_ENTRY(lookup_widget("flatname_entry")); filename = gtk_entry_get_text(entry); if (filename[0] == '\0') { gtk_toggle_button_set_active(tbutton, FALSE); } else { - fits *flat_fit; + const char *error = NULL; set_progress_bar_data(_("Opening flat image..."), PROGRESS_NONE); - flat_fit = calloc(1, sizeof(fits)); - if (readfits(filename, flat_fit, NULL)) { - const char *msg =_("NOT USING FLAT: cannot open the file\n"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(flat_fit); - gtk_entry_set_text(entry, ""); - } else { - if (flat_fit->naxes[2] != gfit.naxes[2]) { - const char *msg = _("NOT USING FLAT: number of channels is different"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(flat_fit); - gtk_entry_set_text(entry, ""); - } - else { - ret_value |= USE_FLAT; - if (single_image_is_loaded()) - com.uniq->flat = flat_fit; - else - com.seq.flat = flat_fit; + args->flat = calloc(1, sizeof(fits)); + if (!readfits(filename, args->flat, NULL)) { + if (args->flat->naxes[2] != gfit.naxes[2]) { + error = _("NOT USING FLAT: number of channels is different"); + } else if (args->flat->naxes[0] != gfit.naxes[0] || + args->flat->naxes[1] != gfit.naxes[1]) { + error = _("NOT USING FLAT: image dimensions are different"); + } else { + args->use_flat = TRUE; } - } - } - } - // if offset selected - tbutton = GTK_TOGGLE_BUTTON(lookup_widget("useoffset_button")); - if (gtk_toggle_button_get_active(tbutton) == TRUE) { - const char *filename; - entry = GTK_ENTRY(lookup_widget("offsetname_entry")); - filename = gtk_entry_get_text(entry); - if (filename[0] == '\0') { - gtk_toggle_button_set_active(tbutton, FALSE); - } else { - fits *bias_fit; - set_progress_bar_data(_("Opening offset image..."), PROGRESS_NONE); - bias_fit = calloc(1, sizeof(fits)); - if (readfits(filename, bias_fit, NULL)) { - const char *msg =_("NOT USING OFFSET: cannot open the file\n"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(bias_fit); + } else error = _("NOT USING FLAT: cannot open the file\n"); + if (error) { + siril_log_message("%s\n", error); + set_progress_bar_data(error, PROGRESS_DONE); + free(args->flat); gtk_entry_set_text(entry, ""); - } else { - if (bias_fit->naxes[2] != gfit.naxes[2]) { - const char *msg = _("NOT USING OFFSET: number of channels is different"); - siril_log_message("%s\n", msg); - set_progress_bar_data(msg, PROGRESS_DONE); - free(bias_fit); - gtk_entry_set_text(entry, ""); - } - else { - ret_value |= USE_OFFSET; - if (single_image_is_loaded()) - com.uniq->offset = bias_fit; - else - com.seq.offset = bias_fit; - } + args->use_flat = FALSE; } } } - return ret_value; } void on_prepro_button_clicked(GtkButton *button, gpointer user_data) { + struct preprocessing_data *args; GtkEntry *entry; GtkWidget *autobutton; - GtkToggleButton *CFA, *debayer, *equalize_cfa; + GtkToggleButton *CFA, *debayer, *equalize_cfa, *compatibility, *stretch_cfa; GtkSpinButton *sigHot, *sigCold; if (!single_image_is_loaded() && !sequence_is_loaded()) @@ -3925,85 +3946,72 @@ return; } - com.preprostatus = test_for_master_files(); - - if (com.preprostatus == 0) - return; - - struct preprocessing_data *args = malloc(sizeof(struct preprocessing_data)); - gettimeofday(&args->t_start, NULL); + args = calloc(1, sizeof(struct preprocessing_data)); + test_for_master_files(args); siril_log_color_message(_("Preprocessing...\n"), "red"); + gettimeofday(&args->t_start, NULL); + args->autolevel = TRUE; + args->normalisation = 1.0f; // will be updated anyway // set output filename (preprocessed file name prefix) entry = GTK_ENTRY(lookup_widget("preproseqname_entry")); + args->ppprefix = gtk_entry_get_text(entry); - /* Get parameters */ autobutton = lookup_widget("checkbutton_auto_evaluate"); args->autolevel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(autobutton)); - if (args->autolevel) { - args->normalisation = 1.0f; // will be updated anyway - } else { + if (!args->autolevel) { GtkEntry *norm_entry = GTK_ENTRY(lookup_widget("entry_flat_norm")); args->normalisation = atof(gtk_entry_get_text(norm_entry)); } CFA = GTK_TOGGLE_BUTTON(lookup_widget("cosmCFACheck")); debayer = GTK_TOGGLE_BUTTON(lookup_widget("checkButton_pp_dem")); + compatibility = GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_debayer_compatibility")); + stretch_cfa = GTK_TOGGLE_BUTTON(lookup_widget("stretch_CFA_to16_button")); equalize_cfa = GTK_TOGGLE_BUTTON(lookup_widget("checkbutton_equalize_cfa")); sigHot = GTK_SPIN_BUTTON(lookup_widget("spinSigCosmeHot")); sigCold = GTK_SPIN_BUTTON(lookup_widget("spinSigCosmeCold")); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget("checkSigCold")))) args->sigma[0] = gtk_spin_button_get_value(sigCold); - else - args->sigma[0] = -1.0; + else args->sigma[0] = -1.0; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget("checkSigHot")))) args->sigma[1] = gtk_spin_button_get_value(sigHot); - else - args->sigma[1] = -1.0; + else args->sigma[1] = -1.0; args->is_cfa = gtk_toggle_button_get_active(CFA); - args->compatibility = com.debayer.compatibility; + args->compatibility = gtk_toggle_button_get_active(compatibility); args->debayer = gtk_toggle_button_get_active(debayer); + args->stretch_cfa = gtk_toggle_button_get_active(stretch_cfa); args->equalize_cfa = gtk_toggle_button_get_active(equalize_cfa); /****/ - if (single_image_is_loaded()) { - int success = 0; - args->offset = com.uniq->offset; - args->dark = com.uniq->dark; - args->flat = com.uniq->flat; + if (sequence_is_loaded()) { + args->is_sequence = TRUE; + args->seq = &com.seq; + set_cursor_waiting(TRUE); + control_window_switch_to_tab(OUTPUT_LOGS); + start_sequence_preprocessing(args, FALSE); + } else { + int retval; args->is_sequence = FALSE; - - com.uniq->ppprefix = strdup(gtk_entry_get_text(entry)); - // start preprocessing set_cursor_waiting(TRUE); control_window_switch_to_tab(OUTPUT_LOGS); - success = seqpreprocess(args) == GPOINTER_TO_INT(0); - if (success) - set_progress_bar_data(PROGRESS_TEXT_RESET, PROGRESS_RESET); - else - set_progress_bar_data(_("Error in preprocessing."), PROGRESS_NONE); - // end_sequence_prepro is also executed there by seqpreprocess - free(com.uniq->ppprefix); - com.uniq->ppprefix = NULL; - unique_free_preprocessing_data(com.uniq); - } else { // sequence, executed in a background thread - args->seq = &com.seq; - args->offset = args->seq->offset; - args->dark = args->seq->dark; - args->flat = args->seq->flat; - args->is_sequence = TRUE; + retval = preprocess_single_image(args); - args->seq->ppprefix = strdup(gtk_entry_get_text(entry)); + free(args); - // start preprocessing - set_cursor_waiting(TRUE); - control_window_switch_to_tab(OUTPUT_LOGS); - start_in_new_thread(seqpreprocess, args); + if (retval) + set_progress_bar_data(_("Error in preprocessing."), PROGRESS_NONE); + else { + set_progress_bar_data(PROGRESS_TEXT_RESET, PROGRESS_RESET); + invalidate_gfit_histogram(); + open_single_image_from_gfit(); + } + set_cursor_waiting(FALSE); } } @@ -4013,23 +4021,25 @@ } void on_ref_frame_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - free_reference_image(); - if ((gtk_toggle_button_get_active(togglebutton) == FALSE)) { - if (com.seq.reference_image == com.seq.current) - com.seq.reference_image = -1; - } else { - com.seq.reference_image = com.seq.current; - test_and_allocate_reference_image(-1); - // a reference image should not be excluded to avoid confusion - if (!com.seq.imgparam[com.seq.current].incl) { - toggle_image_selection(com.seq.current); + if (sequence_is_loaded()) { + free_reference_image(); + if ((gtk_toggle_button_get_active(togglebutton) == FALSE)) { + if (com.seq.reference_image == com.seq.current) + com.seq.reference_image = -1; + } else { + com.seq.reference_image = com.seq.current; + test_and_allocate_reference_image(-1); + // a reference image should not be excluded to avoid confusion + if (!com.seq.imgparam[com.seq.current].incl) { + toggle_image_selection(com.seq.current); + } } + sequence_list_change_reference(); + update_stack_interface(FALSE);// get stacking info and enable the Go button + adjust_sellabel(); // reference image is named in the label + writeseqfile(&com.seq); + drawPlot(); // update plots } - sequence_list_change_reference(); - update_stack_interface(FALSE); // get stacking info and enable the Go button - adjust_sellabel(); // reference image is named in the label - writeseqfile(&com.seq); - drawPlot(); // update plots } @@ -4151,10 +4161,6 @@ writeinitfile(); } -void on_dialog1_OK(GtkButton *button, gpointer user_data) { - gtk_widget_hide(lookup_widget("dialog1")); -} - void on_button_data_ok_clicked(GtkButton *button, gpointer user_data) { gtk_widget_hide(lookup_widget("data_dialog")); } @@ -4341,174 +4347,6 @@ gtk_widget_show_all(lookup_widget("StatWindow")); set_cursor_waiting(FALSE); } -/**************** GUI for Background extraction *******************/ - -void on_menuitem_bkg_extraction_activate(GtkMenuItem *menuitem, - gpointer user_data) { - if (single_image_is_loaded()) { - update_bkg_interface(); - gtk_widget_show(lookup_widget("Bkg_extract_window")); - } -} - -void on_bkgButtonManual_toggled(GtkToggleButton *togglebutton, - gpointer user_data) { - - update_bkg_interface(); - redraw(com.cvport, REMAP_NONE); - redraw_previews(); -} - -void on_bkgCompute_clicked(GtkButton *button, gpointer user_data) { - static GtkToggleButton *imgbutton = NULL, *bgkAutoButton = NULL; - gboolean automatic; - - if (imgbutton == NULL) { - imgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_img")); - bgkAutoButton = GTK_TOGGLE_BUTTON(lookup_widget("bkgButtonAuto")); - } - automatic = gtk_toggle_button_get_active(bgkAutoButton); - - if (!gtk_toggle_button_get_active(imgbutton)) { - char *msg = siril_log_message(_("Background cannot be extracted" - " from itself. Please, click on Show Image\n")); - siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), msg); - return; - } - - set_cursor_waiting(TRUE); - bkgExtractBackground(&background_fit, automatic); - redraw(com.cvport, REMAP_NONE); - redraw_previews(); - set_cursor_waiting(FALSE); -} - -void on_button_bkg_correct_clicked(GtkButton *button, gpointer user_data) { - static GtkToggleButton *imgbutton = NULL; - - if (imgbutton == NULL) - imgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_img")); - - if (!gtk_toggle_button_get_active(imgbutton)) { - char *msg = - siril_log_message( - _("Please, apply correction on the image by clicking on Show Image\n")); - siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), msg); - return; - } - - int layer; - GtkComboBox *operation = GTK_COMBO_BOX(lookup_widget("combo_correction")); - int correction = gtk_combo_box_get_active(operation); - - set_cursor_waiting(TRUE); - undo_save_state(&gfit, "Processing: Background extraction (Correction: %s)", - correction ? "Division" : "Subtraction"); - - switch (correction) { - default: - case 0: - for (layer = 0; layer < com.uniq->nb_layers; layer++) { - if (sub_background(&gfit, &background_fit, layer)) { - set_cursor_waiting(FALSE); - return; - } - } - siril_log_message(_("Subtraction done ...\n")); - break; - case 1: - if (siril_ndiv(&gfit, &background_fit)) { - set_cursor_waiting(FALSE); - return; - } - siril_log_message(_("Division done ...\n")); - break; - } - - adjust_cutoff_from_updated_gfit(); - redraw(com.cvport, REMAP_ALL); - redraw_previews(); - set_cursor_waiting(FALSE); -} - -void on_checkbutton_bkg_boxes_toggled(GtkToggleButton *togglebutton, - gpointer user_data) { - com.grad_boxes_drawn = gtk_toggle_button_get_active(togglebutton); - redraw(com.cvport, REMAP_NONE); - redraw_previews(); -} - -void on_radiobutton_bkg_toggled(GtkToggleButton *togglebutton, - gpointer user_data) { - fits tmp; - memcpy(&tmp, &gfit, sizeof(fits)); - memcpy(&gfit, &background_fit, sizeof(fits)); - memcpy(&background_fit, &tmp, sizeof(fits)); - redraw(com.cvport, REMAP_ALL); - redraw_previews(); -} - -void on_combobox_gradient_inter_changed(GtkComboBox* box, gpointer user_data) { - GtkNotebook* notebook = GTK_NOTEBOOK( - gtk_builder_get_object(builder, "notebook_bkg")); - - gtk_notebook_set_current_page(notebook, gtk_combo_box_get_active(box)); -} - -void on_bkgClearSamples_clicked(GtkButton *button, gpointer user_data) { - static GtkToggleButton *imgbutton = NULL, *bkgbutton = NULL; - int remap_option; - - if (imgbutton == NULL) { - imgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_img")); - bkgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_bkg")); - } - gtk_widget_set_sensitive(lookup_widget("frame_bkg_tools"), FALSE); - gtk_widget_set_sensitive(lookup_widget("button_bkg_correct"), FALSE); - remap_option = REMAP_NONE; - - set_cursor_waiting(TRUE); - if (gtk_toggle_button_get_active(bkgbutton)) { - gtk_toggle_button_set_active(imgbutton, TRUE); - remap_option = REMAP_ALL; - } - clearSamples(); - redraw(com.cvport, remap_option); - redraw_previews(); - clearfits(&background_fit); - set_cursor_waiting(FALSE); -} - -void on_button_bkg_extract_close_clicked(GtkButton *button, gpointer user_data) { - gtk_widget_hide(lookup_widget("Bkg_extract_window")); -} - -void on_Bkg_extract_window_hide(GtkWidget *widget, gpointer user_data) { - static GtkToggleButton *imgbutton = NULL, *bkgbutton = NULL, *bgkManButton = NULL; - int remap_option; - - if (imgbutton == NULL) { - imgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_img")); - bkgbutton = GTK_TOGGLE_BUTTON(lookup_widget("radiobutton_bkg_bkg")); - bgkManButton = GTK_TOGGLE_BUTTON(lookup_widget("bkgButtonManual")); - } - gtk_widget_set_sensitive(lookup_widget("frame_bkg_tools"), FALSE); - gtk_widget_set_sensitive(lookup_widget("button_bkg_correct"), FALSE); - gtk_toggle_button_set_active(bgkManButton, TRUE); - remap_option = REMAP_NONE; - - set_cursor_waiting(TRUE); - if (gtk_toggle_button_get_active(bkgbutton)) { - gtk_toggle_button_set_active(imgbutton, TRUE); - remap_option = REMAP_ALL; - } - clearSamples(); - mouse_status = MOUSE_ACTION_SELECT_REG_AREA; - redraw(com.cvport, remap_option); - redraw_previews(); - clearfits(&background_fit); - set_cursor_waiting(FALSE); -} /**********************************************************************/ @@ -4525,117 +4363,6 @@ } } -void on_menuitemPSF_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data) { - if (gtk_check_menu_item_get_active(checkmenuitem)) - gtk_widget_show_all(lookup_widget("stars_list_window")); - else - gtk_widget_hide(lookup_widget("stars_list_window")); -} - -void on_stars_list_window_hide(GtkWidget *object, gpointer user_data) { - GtkCheckMenuItem *PSFcheck = GTK_CHECK_MENU_ITEM( - gtk_builder_get_object(builder, "menuitemPSF")); - gtk_check_menu_item_set_active(PSFcheck, FALSE); - com.selected_star = -1; -} - -void on_sum_button_clicked(GtkButton *button, gpointer user_data) { - display_PSF(com.stars); -} - -gboolean on_Stars_stored_button_release_event(GtkWidget *widget, - GdkEventButton *event, gpointer user_data) { - GtkTreeView *tree = GTK_TREE_VIEW( - gtk_builder_get_object(builder, "Stars_stored")); - GtkTreeSelection *selection = GTK_TREE_SELECTION( - gtk_builder_get_object(builder, "treeview-selection")); - GtkTreeModel *tree_stars = gtk_tree_view_get_model(tree); - GtkTreeIter iter; - - if (event->button == 1) { - if (com.stars) { - if (gtk_tree_model_get_iter_first(tree_stars, &iter) == FALSE) - return FALSE; //The tree is empty - if (gtk_tree_selection_get_selected(selection, &tree_stars, - &iter)) { //get selected item - GtkTreePath *path = gtk_tree_model_get_path(tree_stars, &iter); - int *index = gtk_tree_path_get_indices(path); - if (!index) - return FALSE; - com.selected_star = index[0]; - display_status(com.selected_star); - gtk_tree_path_free(path); - redraw(com.cvport, REMAP_NONE); - redraw_previews(); - } - } - } - return TRUE; -} - -void on_Stars_stored_key_release_event(GtkWidget *widget, GdkEventKey *event, - gpointer user_data) { - if (event->keyval == GDK_KEY_Delete || event->keyval == GDK_KEY_KP_Delete - || event->keyval == GDK_KEY_BackSpace) { - remove_selected_line(); - } - move_selected_line(); -} - -void on_remove_button_clicked(GtkButton *button, gpointer user_data) { - remove_selected_line(); -} - -void on_remove_all_button_clicked(GtkButton *button, gpointer user_data) { - remove_all_lines(); -} - -void on_process_starfinder_button_clicked(GtkButton *button, gpointer user_data) { - int nbstars; - int layer = RLAYER; - if (!single_image_is_loaded() && !sequence_is_loaded()) { - siril_log_color_message(_("Load an image first, aborted.\n"), "red"); - return; - } - set_cursor_waiting(TRUE); - if (gfit.naxes[2] == 3) - layer = GLAYER; - delete_selected_area(); - com.stars = peaker(&gfit, layer, &com.starfinder_conf, &nbstars, NULL, TRUE); - siril_log_message(_("Found %d stars in image, channel #%d\n"), nbstars, layer); - refresh_stars_list(com.stars); - set_cursor_waiting(FALSE); -} - -void on_export_button_clicked(GtkButton *button, gpointer user_data) { - int i = 0; - if (!com.stars) - return; - FILE *f = g_fopen("stars.lst", "w"); - - if (f == NULL) - return; - while (com.stars[i]) { - fprintf(f, - "%d\t%d\t%10.6f %10.6f %10.2f %10.2f %10.2f %10.2f %3.2f %10.3e %10.2f \n", - i + 1, com.stars[i]->layer, com.stars[i]->B, com.stars[i]->A, - com.stars[i]->xpos, com.stars[i]->ypos, com.stars[i]->fwhmx, - com.stars[i]->fwhmy, com.stars[i]->angle, com.stars[i]->rmse, com.stars[i]->mag); - i++; - } - fclose(f); - siril_log_message(_("The file stars.lst has been created.\n")); -} - -void on_stars_list_window_show(GtkWidget *widget, gpointer user_data) { - update_peaker_GUI(); - fill_stars_list(&gfit, com.stars); -} - -void on_button_stars_list_ok_clicked(GtkButton *button, gpointer user_data) { - gtk_widget_hide(lookup_widget("stars_list_window")); -} - void on_extract_channel_button_close_clicked(GtkButton *button, gpointer user_data) { gtk_widget_hide(lookup_widget("extract_channel_dialog")); @@ -4706,7 +4433,7 @@ return; } - result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE); + result = psf_get_minimisation(&gfit, layer, &com.selection, TRUE, TRUE); if (!result) return; @@ -4806,16 +4533,12 @@ siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), msg); set_cursor_waiting(FALSE); return; - } GtkEntry *entry_mag = GTK_ENTRY(lookup_widget("fftd_mag_entry")); GtkEntry *entry_phase = GTK_ENTRY(lookup_widget("fftd_phase_entry")); - if (gtk_toggle_button_get_active(order) == TRUE) - type_order = 0; // centered fftd - else - type_order = 1; // regular fftd + type_order = !gtk_toggle_button_get_active(order); type = strdup("fftd"); mag = gtk_entry_get_text(entry_mag); phase = gtk_entry_get_text(entry_phase); @@ -4847,10 +4570,8 @@ args->type_order = type_order; set_cursor_waiting(TRUE); start_in_new_thread(fourier_transform, args); - } - else { - if (type) - free(type); + } else { + free(type); } } @@ -5176,34 +4897,6 @@ gtk_widget_set_sensitive(bandingHighlightBox, is_active); } -void on_select_convert_button_clicked(GtkButton *button, gpointer user_data) { - whichdial = OD_CONVERT; - opendial(); -} - -void on_clear_convert_button_clicked(GtkButton *button, gpointer user_data) { - get_convert_list_store(); - gtk_list_store_clear(liststore_convert); - check_for_conversion_form_completeness(); -} - -void on_remove_convert_button_clicked(GtkWidget *button, gpointer user_data) { - GtkTreeSelection *selection = GTK_TREE_SELECTION( - gtk_builder_get_object(builder, "treeview-selection5")); - GtkTreeIter iter; - GtkTreeModel *model; - gchararray string; - - if (gtk_tree_selection_get_selected(selection, &model, &iter)) {//get selected item - gtk_tree_model_get(model, &iter, 0, &string, -1); - if (string) { - gtk_list_store_remove(GTK_LIST_STORE(model), &iter); - gtk_tree_selection_unselect_all(selection); - } - } - check_for_conversion_form_completeness(); -} - void on_spinCPU_value_changed (GtkSpinButton *spinbutton, gpointer user_data) { com.max_thread = (int)gtk_spin_button_get_value(spinbutton); } @@ -5246,10 +4939,6 @@ } } -void on_darkThemeCheck_toggled(GtkToggleButton *togglebutton, gpointer user_data) { - com.have_dark_theme = gtk_toggle_button_get_active(togglebutton); -} - void on_rememberWindowsCheck_toggled(GtkToggleButton *togglebutton, gpointer user_data) { com.remember_windows = gtk_toggle_button_get_active(togglebutton); } diff -Nru siril-0.9.10/src/gui/callbacks.h siril-0.9.11/src/gui/callbacks.h --- siril-0.9.10/src/gui/callbacks.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/callbacks.h 2019-05-27 09:16:07.000000000 +0000 @@ -2,12 +2,14 @@ #define CALLBACKS_H #include +#include #include "core/siril.h" // for sliders_mode GtkWidget* lookup_widget (const gchar *widget_name); GtkWidget *popover_new(GtkWidget *widget, const gchar *text); -void initialize_shortcuts(); +void initialize_all_GUI(gchar *files); +void load_prefered_theme(); void fill_about_dialog(); void initialize_remap(); void set_cutoff_sliders_max_values(); // was set_upper_minmax @@ -20,9 +22,8 @@ int adjust_sellabel(); void set_GUI_CWD(); void set_GUI_MEM(unsigned long size); -void set_GUI_DiskSpace(double mem); +void set_GUI_DiskSpace(int64_t mem); void set_GUI_misc(); -void initialize_preprocessing(); void update_MenuItem(); void queue_redraw(int doremap); gboolean redraw(int vport, int remap); @@ -34,7 +35,6 @@ void set_libraw_settings_menu_available(gboolean); void clear_sampling_setting_box(); void set_GUI_CAMERA(); -void set_GUI_LIBRAW(); void set_GUI_photometry(); typedef void (*selection_update_callback)(); @@ -56,9 +56,8 @@ void show_rgb_window(); void hide_rgb_window(); void hide_gray_window(); +GtkWindow *siril_get_active_window(); -void zoomcombo_update_display_for_zoom(); -void initialize_FITS_name_entries(); void adjust_vport_size_to_image(); void scrollbars_hadjustment_changed_handler(GtkAdjustment *adjustment, gpointer user_data); void scrollbars_vadjustment_changed_handler(GtkAdjustment *adjustment, gpointer user_data); diff -Nru siril-0.9.10/src/gui/gtk.css siril-0.9.11/src/gui/gtk.css --- siril-0.9.10/src/gui/gtk.css 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/gtk.css 2019-05-27 09:16:07.000000000 +0000 @@ -2,24 +2,12 @@ font-family: monospace; } -.main-toolbar button { - padding: 6px; -} - - -#histoToolRed label { - font-weight: bold; - color: red; +toolbar { + background-color: transparent; } -#histoToolGreen label { - font-weight: bold; - color: green; -} - -#histoToolBlue label { - font-weight: bold; - color: blue; +.main-toolbar button { + padding: 6px; } /***************** diff -Nru siril-0.9.10/src/gui/gtk_old.css siril-0.9.11/src/gui/gtk_old.css --- siril-0.9.10/src/gui/gtk_old.css 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/gtk_old.css 2019-05-27 09:16:07.000000000 +0000 @@ -2,6 +2,10 @@ font: monospace; } +GtkToolBar { + background-color: transparent; +} + #neg_button, #mirrorx_button, #mirrory_button, #colormap_button, #seqlist_button { -GtkButton-default-border: 0; -GtkButton-default-outside-border: 0; @@ -11,14 +15,6 @@ padding: 0; } -#histoToolGreen { - color: green; -} - -#histoToolBlue { - color: blue; -} - /***************** * Midtone scale * ****************/ diff -Nru siril-0.9.10/src/gui/histogram.c siril-0.9.11/src/gui/histogram.c --- siril-0.9.10/src/gui/histogram.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/histogram.c 2019-05-27 09:16:07.000000000 +0000 @@ -86,6 +86,8 @@ static void histo_close(gboolean revert) { int i; if (revert) { + set_cursor_waiting(TRUE); + for (i = 0; i < gfit.naxes[2]; i++) { set_histogram(hist_backup[i], i); hist_backup[i] = NULL; @@ -94,6 +96,7 @@ adjust_cutoff_from_updated_gfit(); redraw(com.cvport, REMAP_ALL); redraw_previews(); + set_cursor_waiting(FALSE); } // free data @@ -102,7 +105,7 @@ } static void histo_recompute() { - set_cursor_waiting(TRUE); + set_cursor("progress"); copyfits(&histo_gfit_backup, &gfit, CP_COPYA, -1); apply_mtf_to_fits(&histo_gfit_backup, &gfit); @@ -111,7 +114,6 @@ adjust_cutoff_from_updated_gfit(); redraw(com.cvport, REMAP_ALL); redraw_previews(); - set_cursor_waiting(FALSE); } static void _init_clipped_pixels() { @@ -156,31 +158,34 @@ static void init_toggles() { if (!toggles[0]) { - toggles[0] = GTK_TOGGLE_TOOL_BUTTON( - gtk_builder_get_object(builder, "histoToolRed")); - toggles[1] = GTK_TOGGLE_TOOL_BUTTON( - gtk_builder_get_object(builder, "histoToolGreen")); - toggles[2] = GTK_TOGGLE_TOOL_BUTTON( - gtk_builder_get_object(builder, "histoToolBlue")); + toggles[0] = GTK_TOGGLE_TOOL_BUTTON(lookup_widget("histoToolRed")); + toggles[1] = GTK_TOGGLE_TOOL_BUTTON(lookup_widget("histoToolGreen")); + toggles[2] = GTK_TOGGLE_TOOL_BUTTON(lookup_widget("histoToolBlue")); toggles[3] = NULL; - toggleGrid = GTK_TOGGLE_TOOL_BUTTON( - gtk_builder_get_object(builder, "histoToolGrid")); - toggleCurve = GTK_TOGGLE_TOOL_BUTTON( - gtk_builder_get_object(builder, "histoToolCurve")); + toggleGrid = GTK_TOGGLE_TOOL_BUTTON(lookup_widget("histoToolGrid")); + toggleCurve = GTK_TOGGLE_TOOL_BUTTON(lookup_widget("histoToolCurve")); } } // sets the channel names of the toggle buttons in the histogram window, based on // the number of layers of gfit static void set_histo_toggles_names() { + gchar *image; + init_toggles(); if (gfit.naxis == 2) { - const char* test = gtk_tool_button_get_label(GTK_TOOL_BUTTON(toggles[0])); - if (strcmp(test, "K")) { - gtk_tool_button_set_label(GTK_TOOL_BUTTON(toggles[0]), "K"); - gtk_widget_set_tooltip_text(GTK_WIDGET(toggles[0]), "Gray channel"); + gtk_widget_set_tooltip_text(GTK_WIDGET(toggles[0]), _("Gray channel")); + GtkWidget *w; + if (com.want_dark) { + image = g_build_filename(com.app_path, "pixmaps", "monochrome_dark.png", NULL); + w = gtk_image_new_from_file(image); + } else { + image = g_build_filename(com.app_path, "pixmaps", "monochrome.png", NULL); + w = gtk_image_new_from_file(image); } + gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(toggles[0]), w); + gtk_widget_show(w); gtk_toggle_tool_button_set_active(toggles[0], TRUE); gtk_widget_set_visible(GTK_WIDGET(toggles[1]), FALSE); gtk_widget_set_visible(GTK_WIDGET(toggles[2]), FALSE); @@ -193,11 +198,11 @@ gtk_widget_set_visible(GTK_WIDGET(toggles[3]), FALSE); } else { - const char* test = gtk_tool_button_get_label(GTK_TOOL_BUTTON(toggles[0])); - if (strcmp(test, "R")) { - gtk_tool_button_set_label(GTK_TOOL_BUTTON(toggles[0]), "R"); - gtk_widget_set_tooltip_text(GTK_WIDGET(toggles[0]), "Red channel"); - } + image = g_build_filename(com.app_path, "pixmaps", "r.png", NULL); + gtk_widget_set_tooltip_text(GTK_WIDGET(toggles[0]), _("Red channel")); + GtkWidget *w = gtk_image_new_from_file(image); + gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(toggles[0]), w); + gtk_widget_show(w); gtk_toggle_tool_button_set_active(toggles[0], TRUE); gtk_toggle_tool_button_set_active(toggles[1], TRUE); gtk_toggle_tool_button_set_active(toggles[2], TRUE); @@ -210,6 +215,7 @@ gtk_toggle_tool_button_set_active(toggles[3], TRUE); } } + g_free(image); } static double get_histoZoomValueH() { @@ -418,7 +424,6 @@ static void apply_mtf_to_fits(fits *from, fits *to) { int i, chan, nb_chan, ndata; - WORD *buf[3] = { from->pdata[RLAYER], from->pdata[GLAYER], from->pdata[BLAYER] }; double norm = (double)get_normalized_value(from); assert(from->naxes[2] == 1 || from->naxes[2] == 3); @@ -486,7 +491,7 @@ gtk_range_set_range(scale_transfert_function[2], min_shadows, 1.0); } -static void reset_curors_and_values() { +static void reset_cursors_and_values() { static GtkRange *scale_transfert_function[3] = { NULL, NULL, NULL }; if (scale_transfert_function[0] == NULL) { scale_transfert_function[0] = GTK_RANGE(lookup_widget("scale_shadows")); @@ -724,14 +729,14 @@ } void on_button_histo_close_clicked(GtkButton *button, gpointer user_data) { - reset_curors_and_values(); + reset_cursors_and_values(); histo_close(TRUE); gtk_widget_hide(lookup_widget("histogram_window")); } void on_button_histo_cancel_clicked(GtkButton *button, gpointer user_data) { set_cursor_waiting(TRUE); - reset_curors_and_values(); + reset_cursors_and_values(); histo_close(TRUE); histo_startup(); set_cursor_waiting(FALSE); @@ -751,19 +756,21 @@ // partial cleanup fprintf(stdout, "Applying histogram (mid=%.3lf, lo=%.3lf, hi=%.3lf)\n", _midtones, _shadows, _highlights); - undo_save_state(&histo_gfit_backup, "Processing: Histogram Transformation " + undo_save_state(&histo_gfit_backup, "Processing: Histogram Transf. " "(mid=%.3lf, lo=%.3lf, hi=%.3lf)", _midtones, _shadows, _highlights); clearfits(&histo_gfit_backup); clear_hist_backup(); // reinit histo_startup(); - reset_curors_and_values(); + reset_cursors_and_values(); + set_cursor("default"); } gboolean on_scale_midtones_button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { _midtones = gtk_range_get_value(GTK_RANGE(widget)); histo_recompute(); + set_cursor("grab"); return FALSE; } @@ -771,6 +778,7 @@ GdkEventButton *event, gpointer user_data) { _shadows = gtk_range_get_value(GTK_RANGE(widget)); histo_recompute(); + set_cursor("default"); return FALSE; } @@ -778,6 +786,7 @@ GdkEventButton *event, gpointer user_data) { _highlights = gtk_range_get_value(GTK_RANGE(widget)); histo_recompute(); + set_cursor("default"); return FALSE; } @@ -854,7 +863,8 @@ g_signal_handlers_block_by_func(MidRange, on_scale_midtones_value_changed, NULL); gtk_range_set_value(MidRange, value); g_signal_handlers_unblock_by_func(MidRange, on_scale_midtones_value_changed, NULL); - update_histo_mtf(); + histo_recompute(); + set_cursor("default"); } void on_histoShadEntry_changed(GtkEditable *editable, gpointer user_data) { @@ -885,7 +895,8 @@ g_signal_handlers_block_by_func(ShadRange, on_scale_shadows_value_changed, NULL); gtk_range_set_value(ShadRange, _shadows); g_signal_handlers_unblock_by_func(ShadRange, on_scale_shadows_value_changed, NULL); - update_histo_mtf(); + histo_recompute(); + set_cursor("default"); } void on_histoHighEntry_changed(GtkEditable *editable, gpointer user_data) { @@ -916,7 +927,8 @@ g_signal_handlers_block_by_func(HighRange, on_scale_highlights_value_changed, NULL); gtk_range_set_value(HighRange, _highlights); g_signal_handlers_unblock_by_func(HighRange, on_scale_highlights_value_changed, NULL); - update_histo_mtf(); + histo_recompute(); + set_cursor("default"); } void on_histoZoom100_clicked(GtkButton *button, gpointer user_data) { @@ -960,21 +972,27 @@ gboolean on_scale_midtones_enter_notify_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { - set_cursor(GDK_HAND2, TRUE); + set_cursor("grab"); + return FALSE; +} + +gboolean on_scale_midtones_button_press_event(GtkWidget *widget, + GdkEvent *event, gpointer user_data) { + set_cursor("grabbing"); return FALSE; } gboolean on_scale_midtones_leave_notify_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { - set_cursor(GDK_HAND2, FALSE); + set_cursor("default"); return FALSE; } void on_menuitem_histo_activate(GtkMenuItem *menuitem, gpointer user_data) { set_cursor_waiting(TRUE); histo_startup(); - reset_curors_and_values(); + reset_cursors_and_values(); compute_histo_for_gfit(); gtk_widget_show(lookup_widget("histogram_window")); set_cursor_waiting(FALSE); diff -Nru siril-0.9.10/src/gui/message_dialog.c siril-0.9.11/src/gui/message_dialog.c --- siril-0.9.10/src/gui/message_dialog.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/message_dialog.c 2019-05-27 09:16:07.000000000 +0000 @@ -112,6 +112,31 @@ show_modal_dialog(args); } +struct message_data { + GtkMessageType type; + char *title; + char *text; +}; + +static gboolean siril_message_dialog_idle(gpointer p) { + struct message_data *data = (struct message_data *) p; + siril_message_dialog(data->type, data->title, data->text); + free(data->title); + free(data->text); + free(data); + return FALSE; +} + +void queue_message_dialog(GtkMessageType type, char *title, char *text) { + if (com.headless || com.script) + return; // show_dialog usually follows a siril_log_message() call + struct message_data *data = malloc(sizeof(struct message_data)); + data->type = type; + data->title = strdup(title); + data->text = strdup(text); + gdk_threads_add_idle(siril_message_dialog_idle, data); +} + void siril_data_dialog(GtkMessageType type, char *title, char *text, gchar *data) { if (com.headless || com.script) return; // show_dialog usually follows a siril_log_message() call diff -Nru siril-0.9.10/src/gui/message_dialog.h siril-0.9.11/src/gui/message_dialog.h --- siril-0.9.10/src/gui/message_dialog.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/message_dialog.h 2019-05-27 09:16:07.000000000 +0000 @@ -12,6 +12,7 @@ }; void siril_message_dialog(GtkMessageType type, char *title, char *text); +void queue_message_dialog(GtkMessageType type, char *title, char *text); void siril_data_dialog(GtkMessageType type, char *title, char *text, gchar *data); gboolean siril_confirm_dialog(gchar *title, gchar *msg, gboolean check_button); diff -Nru siril-0.9.10/src/gui/open_dialog.c siril-0.9.11/src/gui/open_dialog.c --- siril-0.9.10/src/gui/open_dialog.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/gui/open_dialog.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,337 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +/* + * GTK File Chooser static functions + */ + +#include +#include + +#include "core/siril.h" +#include "core/proto.h" +#include "core/initfile.h" +#include "algos/sorting.h" +#include "io/conversion.h" +#include "io/films.h" +#include "io/sequence.h" +#include "io/single_image.h" +#include "open_dialog.h" +#include "callbacks.h" +#include "progress_and_log.h" +#include "message_dialog.h" + +static void gtk_filter_add(GtkFileChooser *file_chooser, const gchar *title, + const gchar *pattern, gboolean set_default) { + gchar **patterns; + gint i; + + GtkFileFilter *f = gtk_file_filter_new(); + gtk_file_filter_set_name(f, title); + /* get the patterns */ + patterns = g_strsplit(pattern, ";", -1); + for (i = 0; patterns[i] != NULL; i++) + gtk_file_filter_add_pattern(f, patterns[i]); + /* free the patterns */ + g_strfreev(patterns); + gtk_file_chooser_add_filter(file_chooser, f); + if (set_default) + gtk_file_chooser_set_filter(file_chooser, f); +} + +static void set_filters_dialog(GtkFileChooser *chooser, int whichdial) { + GString *all_filter = NULL; + gchar *fits_filter = "*.fit;*.FIT;*.fits;*.FITS;*.fts;*.FTS"; + gchar *netpbm_filter = "*.ppm;*.PPM;*.pnm;*.PNM;*.pgm;*.PGM"; + gchar *pic_filter = "*.pic;*.PIC"; + gchar *ser_filter = "*.ser;*.SER"; + if (whichdial != OD_CONVERT) { + gtk_filter_add(chooser, _("FITS Files (*.fit, *.fits, *.fts)"), + fits_filter, com.filter == TYPEFITS); + } else { + all_filter = g_string_new(fits_filter); + } + if (whichdial == OD_OPEN || whichdial == OD_CONVERT) { +#ifdef HAVE_LIBRAW + /* RAW FILES */ + int nb_raw; + char *raw; + int i; + + nb_raw = get_nb_raw_supported(); + raw = calloc(sizeof(char), nb_raw * 12 + 1);// we assume the extension size of 3 char "*.xxx;*.XXX;" = 12 + for (i = 0; i < nb_raw; i++) { + char *ext; + gchar *upcase; + + upcase = g_ascii_strup(supported_raw[i].extension, strlen(supported_raw[i].extension)); + ext = g_strdup_printf("*.%s;*.%s;", supported_raw[i].extension, + upcase); + strcat(raw, ext); + + g_free(ext); + g_free(upcase); + } + raw[strlen(raw) - 1] = '\0'; + if (whichdial != OD_CONVERT) { + gtk_filter_add(chooser, _("RAW DSLR Camera Files"), raw, + com.filter == TYPERAW); + } else { + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, raw); + } + + free(raw); + +#endif + /* GRAPHICS FILES */ + GString *s_supported_graph, *s_pattern; + gchar *graphics_supported, *graphics_filter; + + s_supported_graph = g_string_new(_("Graphics Files (*.bmp")); + s_pattern = g_string_new("*.bmp;*.BMP;"); +#ifdef HAVE_LIBJPEG + s_supported_graph = g_string_append(s_supported_graph, ", *.jpg, *.jpeg"); + s_pattern = g_string_append(s_pattern, "*.jpg;*.JPG;*.jpeg;*.JPEG;"); +#endif + +#ifdef HAVE_LIBPNG + s_supported_graph = g_string_append(s_supported_graph, ", *.png"); + s_pattern = g_string_append(s_pattern, "*.png;*.PNG;"); +#endif + +#ifdef HAVE_LIBTIFF + s_supported_graph = g_string_append(s_supported_graph, ", *.tif, *.tiff"); + s_pattern = g_string_append(s_pattern, "*.tif;*.TIF;*.tiff;*.TIFF"); +#endif + s_supported_graph = g_string_append(s_supported_graph, ")"); + + graphics_supported = g_string_free(s_supported_graph, FALSE); + graphics_filter = g_string_free(s_pattern, FALSE); + if (whichdial != OD_CONVERT) { + gtk_filter_add(chooser, graphics_supported, graphics_filter, + com.filter == TYPEBMP || com.filter == TYPEJPG + || com.filter == TYPEPNG || com.filter == TYPETIFF); + + /* NETPBM FILES */ + gtk_filter_add(chooser, _("Netpbm Files (*.ppm, *.pnm, *.pgm)"), + netpbm_filter, com.filter == TYPEPNM); + /* IRIS FILES */ + gtk_filter_add(chooser, _("IRIS PIC Files (*.pic)"), pic_filter, + com.filter == TYPEPIC); + /* SER FILES */ + gtk_filter_add(chooser, _("SER files (*.ser)"), ser_filter, + com.filter == TYPESER); + } else { + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, graphics_filter); + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, netpbm_filter); + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, pic_filter); + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, ser_filter); + } + +#if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) + /* FILM FILES */ + int nb_film; + char *film_filter; + int j; + + nb_film = get_nb_film_ext_supported(); + film_filter = calloc(sizeof(char), nb_film * 14 + 1);// we assume the extension size of 4 char "*.xxxx;*.XXXX;" = 14 + for (j = 0; j < nb_film; j++) { + char *ext; + gchar *upcase; + + upcase = g_ascii_strup(supported_film[j].extension, + strlen(supported_film[j].extension)); + ext = g_strdup_printf("*.%s;*.%s;", supported_film[j].extension, + upcase); + strcat(film_filter, ext); + + g_free(ext); + g_free(upcase); + } + film_filter[strlen(film_filter) - 1] = '\0'; + + if (whichdial != OD_CONVERT) { + gtk_filter_add(chooser, _("Film Files (*.avi, *.mpg, ...)"), film_filter, + com.filter == TYPEAVI); + } else { + all_filter = g_string_append(all_filter, ";"); + all_filter = g_string_append(all_filter, film_filter); + } + free(film_filter); +#endif + g_free(graphics_supported); + g_free(graphics_filter); + + if (whichdial == OD_CONVERT) { + gchar *filter = g_string_free(all_filter, FALSE); + + gtk_filter_add(chooser, _("All supported files"), filter, TRUE); + g_free(filter); + } + } +} + +static void opendial(int whichdial) { + SirilWidget *widgetdialog; + GtkFileChooser *dialog = NULL; + GtkWindow *control_window = GTK_WINDOW(lookup_widget("control_window")); + gint res; + + if (!com.wd) + return; + + switch (whichdial) { + case OD_NULL: + fprintf(stderr, "whichdial undefined, should not happen\n"); + return; + case OD_FLAT: + case OD_DARK: + case OD_OFFSET: + widgetdialog = siril_file_chooser_open(control_window, GTK_FILE_CHOOSER_ACTION_OPEN); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, FALSE); + set_filters_dialog(dialog, whichdial); + break; + case OD_CWD: + widgetdialog = siril_file_chooser_open(control_window, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, FALSE); + break; + case OD_OPEN: + widgetdialog = siril_file_chooser_open(control_window, GTK_FILE_CHOOSER_ACTION_OPEN); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, FALSE); + set_filters_dialog(dialog, whichdial); + break; + case OD_CONVERT: + widgetdialog = siril_file_chooser_add(control_window, GTK_FILE_CHOOSER_ACTION_OPEN); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, TRUE); + set_filters_dialog(dialog, whichdial); + } + + if (!dialog) + return; + + res = siril_dialog_run(widgetdialog); + + if (res == GTK_RESPONSE_ACCEPT) { + GSList *list = NULL; + gchar *filename, *err; + gboolean anything_loaded; + GtkFileChooser *chooser = GTK_FILE_CHOOSER(dialog); + GtkEntry *flat_entry, *dark_entry, *bias_entry; + GtkToggleButton *flat_button, *dark_button, *bias_button; + GtkWidget *pbutton; + + filename = gtk_file_chooser_get_filename(chooser); + if (!filename) + return; + + pbutton = lookup_widget("prepro_button"); + flat_entry = GTK_ENTRY(lookup_widget("flatname_entry")); + dark_entry = GTK_ENTRY(lookup_widget("darkname_entry")); + bias_entry = GTK_ENTRY(lookup_widget("offsetname_entry")); + + flat_button = GTK_TOGGLE_BUTTON(lookup_widget("useflat_button")); + dark_button = GTK_TOGGLE_BUTTON(lookup_widget("usedark_button")); + bias_button = GTK_TOGGLE_BUTTON(lookup_widget("useoffset_button")); + + anything_loaded = sequence_is_loaded() || single_image_is_loaded(); + + switch (whichdial) { + case OD_FLAT: + gtk_entry_set_text(flat_entry, filename); + gtk_toggle_button_set_active(flat_button, TRUE); + gtk_widget_set_sensitive(pbutton, anything_loaded); + break; + + case OD_DARK: + gtk_entry_set_text(dark_entry, filename); + gtk_toggle_button_set_active(dark_button, TRUE); + gtk_widget_set_sensitive(pbutton, anything_loaded); + break; + + case OD_OFFSET: + gtk_entry_set_text(bias_entry, filename); + gtk_toggle_button_set_active(bias_button, TRUE); + gtk_widget_set_sensitive(pbutton, anything_loaded); + break; + + case OD_CWD: + if (!changedir(filename, &err)) { + writeinitfile(); + set_GUI_CWD(); + } else { + siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), err); + } + break; + + case OD_OPEN: + set_cursor_waiting(TRUE); + open_single_image(filename); + set_cursor_waiting(FALSE); + break; + + case OD_CONVERT: + list = gtk_file_chooser_get_filenames(chooser); + list = g_slist_sort(list, (GCompareFunc) strcompare); + fill_convert_list(list); + g_slist_free(list); + break; + } + g_free(filename); + } + siril_widget_destroy(widgetdialog); +} + +void on_darkfile_button_clicked(GtkButton *button, gpointer user_data) { + opendial(OD_DARK); +} + +void on_cwd_btton_clicked(GtkButton *button, gpointer user_data) { + opendial(OD_CWD); +} + +void on_offsetfile_button_clicked(GtkButton *button, gpointer user_data) { + opendial(OD_OFFSET); +} + +void on_flatfile_button_clicked(GtkButton *button, gpointer user_data) { + opendial(OD_FLAT); +} + +void on_open1_activate(GtkMenuItem *menuitem, gpointer user_data) { + opendial(OD_OPEN); +} + +void on_select_convert_button_clicked(GtkToolButton *button, gpointer user_data) { + opendial(OD_CONVERT); +} diff -Nru siril-0.9.10/src/gui/open_dialog.h siril-0.9.11/src/gui/open_dialog.h --- siril-0.9.10/src/gui/open_dialog.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/gui/open_dialog.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,13 @@ +#ifndef SRC_GUI_OPEN_DIALOG_H_ +#define SRC_GUI_OPEN_DIALOG_H_ + +/* cookies for the file chooser */ +#define OD_NULL 0 +#define OD_FLAT 1 +#define OD_DARK 2 +#define OD_OFFSET 3 +#define OD_CWD 4 +#define OD_OPEN 5 +#define OD_CONVERT 6 + +#endif /* SRC_GUI_OPEN_DIALOG_H_ */ diff -Nru siril-0.9.10/src/gui/photometric_cc.c siril-0.9.11/src/gui/photometric_cc.c --- siril-0.9.10/src/gui/photometric_cc.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/gui/photometric_cc.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,639 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#ifdef HAVE_LIBCURL + +#include +#include +#include +#include +#include +#include +#include + +#include "photometric_cc.h" +#include "core/siril.h" +#include "core/proto.h" +#include "core/processing.h" +#include "core/undo.h" +#include "algos/statistics.h" +#include "algos/photometry.h" +#include "algos/PSF.h" +#include "algos/plateSolver.h" +#include "algos/star_finder.h" +#include "gui/message_dialog.h" +#include "gui/callbacks.h" +#include "gui/progress_and_log.h" +#include "gui/histogram.h" + +enum { + RED, GREEN, BLUE +}; + + +static void initialize_photometric_cc_dialog() { + GtkWidget *button_ips_ok, *button_cc_ok, *catalog_label, *catalog_box, + *catalog_auto, *frame_cc_bkg, *frame_cc_norm; + GtkWindow *parent; + GtkAdjustment *selection_cc_black_adjustment[4]; + + button_ips_ok = lookup_widget("buttonIPS_ok"); + button_cc_ok = lookup_widget("button_cc_ok"); + catalog_label = lookup_widget("GtkLabelCatalog"); + catalog_box = lookup_widget("ComboBoxIPSCatalog"); + catalog_auto = lookup_widget("GtkCheckButton_OnlineCat"); + frame_cc_bkg = lookup_widget("frame_cc_background"); + frame_cc_norm = lookup_widget("frame_cc_norm"); + + parent = GTK_WINDOW(lookup_widget("ImagePlateSolver_Dial")); + + selection_cc_black_adjustment[0] = GTK_ADJUSTMENT(gtk_builder_get_object(builder, "adjustment_cc_bkg_x")); + selection_cc_black_adjustment[1] = GTK_ADJUSTMENT(gtk_builder_get_object(builder, "adjustment_cc_bkg_y")); + selection_cc_black_adjustment[2] = GTK_ADJUSTMENT(gtk_builder_get_object(builder, "adjustment_cc_bkg_w")); + selection_cc_black_adjustment[3] = GTK_ADJUSTMENT(gtk_builder_get_object(builder, "adjustment_cc_bkg_h")); + + gtk_widget_set_visible(button_ips_ok, FALSE); + gtk_widget_set_visible(button_cc_ok, TRUE); + gtk_widget_set_visible(catalog_label, FALSE); + gtk_widget_set_visible(catalog_box, FALSE); + gtk_widget_set_visible(catalog_auto, FALSE); + gtk_widget_set_visible(frame_cc_bkg, TRUE); + gtk_widget_set_visible(frame_cc_norm, TRUE); + + gtk_window_set_title(parent, _("Photometric Color Calibration")); + + gtk_adjustment_set_upper(selection_cc_black_adjustment[0], gfit.rx); + gtk_adjustment_set_upper(selection_cc_black_adjustment[1], gfit.ry); + gtk_adjustment_set_upper(selection_cc_black_adjustment[2], gfit.rx); + gtk_adjustment_set_upper(selection_cc_black_adjustment[3], gfit.ry); + gtk_adjustment_set_value(selection_cc_black_adjustment[0], 0); + gtk_adjustment_set_value(selection_cc_black_adjustment[1], 0); + gtk_adjustment_set_value(selection_cc_black_adjustment[2], 0); + gtk_adjustment_set_value(selection_cc_black_adjustment[3], 0); + +} + +static void start_photometric_cc() { + struct plate_solver_data *args = malloc(sizeof(struct plate_solver_data)); + set_cursor_waiting(TRUE); + + args->for_photometry_cc = TRUE; + fill_plate_solver_structure(args); + + start_in_new_thread(match_catalog, args); +} + +static void read_photometry_cc_file(FILE *BV_file, fitted_PSF **stars, int *nb_stars) { + char line[512]; + fitted_PSF *star; + int i = 0; + + while (fgets(line, 512, BV_file) != NULL) { + int tmp; + star = malloc(sizeof(fitted_PSF)); + + sscanf(line, "%d %lf %lf %lf\n", &tmp, &(star->xpos), &(star->ypos), &(star->BV)); + + stars[i] = star; + stars[i + 1] = NULL; + i++; + } + *nb_stars = i; +} + +static void bv2rgb(double *r, double *g, double *b, double bv) { // RGB <0,1> <- BV <-0.4,+2.0> [-] + double t; + *r = 0.0; + *g = 0.0; + *b = 0.0; + if (bv < -0.4) + bv = -0.4; + if (bv > 2.0) + bv = 2.0; + if ((bv >= -0.40) && (bv < 0.00)) { + t = (bv + 0.40) / (0.00 + 0.40); + *r = 0.61 + (0.11 * t) + (0.1 * t * t); + } else if ((bv >= 0.00) && (bv < 0.40)) { + t = (bv - 0.00) / (0.40 - 0.00); + *r = 0.83 + (0.17 * t); + } else if ((bv >= 0.40) && (bv < 2.10)) { + t = (bv - 0.40) / (2.10 - 0.40); + *r = 1.00; + } + if ((bv >= -0.40) && (bv < 0.00)) { + t = (bv + 0.40) / (0.00 + 0.40); + *g = 0.70 + (0.07 * t) + (0.1 * t * t); + } else if ((bv >= 0.00) && (bv < 0.40)) { + t = (bv - 0.00) / (0.40 - 0.00); + *g = 0.87 + (0.11 * t); + } else if ((bv >= 0.40) && (bv < 1.60)) { + t = (bv - 0.40) / (1.60 - 0.40); + *g = 0.98 - (0.16 * t); + } else if ((bv >= 1.60) && (bv < 2.00)) { + t = (bv - 1.60) / (2.00 - 1.60); + *g = 0.82 - (0.5 * t * t); + } + if ((bv >= -0.40) && (bv < 0.40)) { + t = (bv + 0.40) / (0.40 + 0.40); + *b = 1.00; + } else if ((bv >= 0.40) && (bv < 1.50)) { + t = (bv - 0.40) / (1.50 - 0.40); + *b = 1.00 - (0.47 * t) + (0.1 * t * t); + } else if ((bv >= 1.50) && (bv < 1.94)) { + t = (bv - 1.50) / (1.94 - 1.50); + *b = 0.63 - (0.6 * t * t); + } +} + +static int make_selection_around_a_star(fitted_PSF *stars, rectangle *area, fits *fit) { + /* make a selection around the star */ + area->x = round_to_int(stars->xpos - com.phot_set.outer); + area->y = round_to_int(stars->ypos - com.phot_set.outer); + area->w = area->h = round_to_int(com.phot_set.outer * 2); + + /* Don't want stars to close of the edge */ + if (area->x + area->w >= fit->rx) { + return 1; + } + if (area->x - area->w <= 0) { + return 1; + } + if (area->y + area->h >= fit->ry) { + return 1; + } + if (area->y - area->h <= 0) { + return 1; + } + + return 0; +} + +static double Qn0(const double sorted_data[], const size_t stride, const size_t n) { + double Qn; +#if (GSL_MAJOR_VERSION == 2) && (GSL_MINOR_VERSION < 5) + const size_t wsize = n * (n - 1) / 2; + const size_t n_2 = n / 2; + const size_t k = ((n_2 + 1) * n_2) / 2; + double *work; + size_t idx = 0; + size_t i, j; + + if (n < 2) + return (0.0); + + work = malloc(wsize * sizeof(double)); + + for (i = 0; i < n; ++i) { + for (j = i + 1; j < n; ++j) + work[idx++] = fabs(sorted_data[i] - sorted_data[j]); + } + + gsl_sort(work, 1, idx); + Qn = work[k - 1]; + + free(work); +#else + double *work = malloc(3 * n * sizeof(double)); + int *work_int = malloc(5 * n * sizeof(int)); + + Qn = gsl_stats_Qn0_from_sorted_data(sorted_data, stride, n, work, work_int); + free(work); + free(work_int); +#endif + return Qn; +} + +static double siril_stats_trmean_from_sorted_data(const double trim, + const double sorted_data[], const size_t stride, const size_t size) { +#if (GSL_MAJOR_VERSION == 2) && (GSL_MINOR_VERSION < 5) + if (trim >= 0.5) { + return gsl_stats_median_from_sorted_data(sorted_data, stride, size); + } else { + size_t ilow = (size_t) floor(trim * size); + size_t ihigh = size - ilow - 1; + double mean = 0.0; + double k = 0.0; + size_t i; + + /* compute mean of middle samples in [ilow,ihigh] */ + for (i = ilow; i <= ihigh; ++i) { + double delta = sorted_data[i * stride] - mean; + k += 1.0; + mean += delta / k; + } + + return mean; + } +} +#else + return gsl_stats_trmean_from_sorted_data(trim, sorted_data, stride, size); +} +#endif + +static double siril_stats_robust_mean(const double sorted_data[], + const size_t stride, const size_t size) { + double mx = gsl_stats_median_from_sorted_data(sorted_data, stride, size); + double sx = 2.2219 * Qn0(sorted_data, 1, size); + double *x, mean; + int i, j; + + x = malloc(size * sizeof(double)); + for (i = 0, j = 0; i < size; ++i) { + if (fabs(sorted_data[i] - mx) < 3 * sx) { + x[j++] = sorted_data[i]; + } + } + /* not enough stars, try something anyway */ + if (j < 5) { + mean = siril_stats_trmean_from_sorted_data(0.3, sorted_data, stride, + size); + } else { + mean = gsl_stats_mean(x, stride, j); + } + free(x); + return mean; +} + +static int get_white_balance_coeff(fitted_PSF **stars, int nb_stars, fits *fit, double kw[], int n_channel) { + int i = 0, ngood = 0; + gboolean no_phot = FALSE; + int k; + int chan; + double *data[3]; + + data[RED] = malloc(sizeof(double) * nb_stars); + data[GREEN] = malloc(sizeof(double) * nb_stars); + data[BLUE] = malloc(sizeof(double) * nb_stars); + + /* initialize to DBL_MAX */ + for (k = 0; k < nb_stars; k++) { + data[RED][k] = DBL_MAX; + data[GREEN][k] = DBL_MAX; + data[BLUE][k] = DBL_MAX; + } + + siril_log_message(_("Applying aperture photometry to %d stars.\n"), nb_stars); + + while (stars[i]) { + rectangle area = { 0 }; + double flux[3] = { 0.0, 0.0, 0.0 }; + double r, g, b, bv; + + if (make_selection_around_a_star(stars[i], &area, fit)) { + i++; + continue; + } + + for (chan = 0; chan < 3; chan ++) { + fitted_PSF *photometry = psf_get_minimisation(fit, chan, &area, TRUE, FALSE); + if (!photometry || !photometry->phot_is_valid) { + no_phot = TRUE; + break; + } + flux[chan] = pow(10, -0.4 * photometry->mag); + free(photometry); + } + if (no_phot) { + i++; + no_phot = FALSE; + continue; + } + /* get r g b coefficient from bv color index */ + bv = stars[i]->BV; + bv2rgb(&r, &g, &b, bv); + + /* get Color calibration factors for current star */ + data[RED][i] = (flux[n_channel] / flux[RED]) * r; + data[GREEN][i] = (flux[n_channel] / flux[GREEN]) * g; + data[BLUE][i] = (flux[n_channel] / flux[BLUE]) * b; + + if (isnan(data[RED][i]) || isnan(data[GREEN][i]) || isnan(data[BLUE][i])) { + data[RED][i] = DBL_MAX; + data[GREEN][i] = DBL_MAX; + data[BLUE][i] = DBL_MAX; + i++; + continue; + } + i++; + ngood++; + } + + siril_log_message(_("%d stars excluded from the calculation.\n"), nb_stars - ngood); + + if (ngood == 0) { + siril_log_message(_("No valid stars found.\n")); + return 1; + } + /* sort in ascending order before using siril_stats_mean_from_linearFit + Hence, DBL_MAX are at the end of the tab */ + gsl_sort(data[RED], 1, nb_stars); + gsl_sort(data[GREEN], 1, nb_stars); + gsl_sort(data[BLUE], 1, nb_stars); + + /* we do not take into account DBL_MAX values */ + kw[RED] = siril_stats_robust_mean(data[RED], 1, ngood); + kw[GREEN] = siril_stats_robust_mean(data[GREEN], 1, ngood); + kw[BLUE] = siril_stats_robust_mean(data[BLUE], 1, ngood); + + /* normalize factors */ + kw[RED] /= (kw[n_channel]); + kw[GREEN] /= (kw[n_channel]); + kw[BLUE] /= (kw[n_channel]); + siril_log_message(_("Color calibration factors:\n")); + for (chan = 0; chan < 3; chan++) { + siril_log_message("K%d: %5.3lf\n", chan, kw[chan]); + } + + free(data[RED]); + free(data[GREEN]); + free(data[BLUE]); + + return 0; +} + +static void get_background_coefficients(fits *fit, rectangle *area, coeff bg[], gboolean verbose) { + int chan; + + if (verbose) siril_log_message(_("Background reference:\n")); + for (chan = 0; chan < 3; chan++) { + imstats *stat = statistics(NULL, -1, fit, chan, area, STATS_BASIC); + if (!stat) { + siril_log_message(_("Error: statistics computation failed.\n")); + return; + } + bg[chan].value = stat->median / stat->normValue; + bg[chan].channel = chan; + if (verbose) siril_log_message("B%d: %.5e\n", chan, bg[chan].value); + free_stats(stat); + } +} + +static int apply_white_balance(fits *fit, double kw[]) { + WORD *buf; + int i, chan; + + for (chan = 0; chan < 3; chan++) { + if (kw[chan] == 1.0) + continue; + buf = fit->pdata[chan]; + for (i = 0; i < fit->rx * fit->ry; ++i) { + buf[i] = round_to_WORD((double)buf[i] * kw[chan]); + } + } + invalidate_stats_from_fit(fit); + return 0; +} + +/* This function equalize the background by giving equal value for all layers */ +static void background_neutralize(fits* fit, coeff bg[], int n_channel, double norm) { + int chan, i; + + for (chan = 0; chan < 3; chan++) { + double offset = (bg[chan].value - bg[n_channel].value) * norm; + siril_debug_print("offset: %d, %f\n", chan, offset); + WORD *buf = fit->pdata[chan]; + for (i = 0; i < fit->rx * fit->ry; i++) { + buf[i] = round_to_WORD((double)buf[i] - offset); + } + } + invalidate_stats_from_fit(fit); +} + +static int cmp_coeff(const void *a, const void *b) { + coeff *a1 = (coeff *) a; + coeff *a2 = (coeff *) b; + if ((*a1).value > (*a2).value) + return 1; + else if ((*a1).value < (*a2).value) + return -1; + else + return 0; +} + +static int determine_chan_for_norm(coeff bg[], int n_channel) { + /* make a copy of bg coefficients because we don't + * want to sort original data */ + coeff tmp[3]; + memcpy(tmp, bg, 3 * sizeof(coeff)); + /* ascending order */ + qsort(tmp, 3, sizeof(tmp[0]), cmp_coeff); + + if (n_channel == 0) { /* on highest */ + return tmp[2].channel; + } else if (n_channel == 1) { /* on middle */ + return tmp[1].channel; + } else { /* on lowest */ + return tmp[0].channel; + } +} + +static gboolean end_photometric_cc(gpointer p) { + struct photometric_cc_data *args = (struct photometric_cc_data *) p; + stop_processing_thread(); + + free_fitted_stars(args->stars); + fclose(args->BV_file); + free(args); + + redraw(com.cvport, REMAP_ALL); + redraw_previews(); + update_used_memory(); + set_cursor_waiting(FALSE); + return FALSE; +} + +static gpointer photometric_cc(gpointer p) { + struct photometric_cc_data *args = (struct photometric_cc_data *) p; + double kw[3], norm; + coeff bg[3]; + int nb_stars, chan; + rectangle *bkg_sel; + + if (!args->bg_auto) { + bkg_sel = &(args->bg_area); + } else { + bkg_sel = NULL; + } + + /* make sure parameters are initialized in a good way */ + if (com.phot_set.outer == 0.0) { + initialize_photometric_param(); + } + + read_photometry_cc_file(args->BV_file, args->stars, &nb_stars); + + get_background_coefficients(&gfit, bkg_sel, bg, FALSE); + chan = determine_chan_for_norm(bg, args->n_channel); + siril_log_message(_("Normalizing on %s channel.\n"), (chan == 0) ? _("red") : ((chan == 1) ? _("green") : _("blue"))); + int ret = get_white_balance_coeff(args->stars, nb_stars, &gfit, kw, chan); + if (!ret) { + norm = (double) get_normalized_value(&gfit); + apply_white_balance(&gfit, kw); + get_background_coefficients(&gfit, bkg_sel, bg, TRUE); + background_neutralize(&gfit, bg, chan, norm); + } + + siril_add_idle(end_photometric_cc, args); + return GINT_TO_POINTER(ret); +} + +static gboolean is_selection_ok() { + static GtkSpinButton *selection_black_value[4] = { NULL, NULL, NULL, NULL }; + int width, height; + + if (!selection_black_value[0]) { + selection_black_value[0] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_x")); + selection_black_value[1] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_y")); + selection_black_value[2] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_w")); + selection_black_value[3] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_h")); + } + width = (int) gtk_spin_button_get_value(selection_black_value[2]); + height = (int) gtk_spin_button_get_value(selection_black_value[3]); + + if ((!width) || (!height)) { + return FALSE; + } + return TRUE; +} + +static rectangle get_bkg_selection() { + static GtkSpinButton *selection_black_value[4] = { NULL, NULL, NULL, NULL }; + rectangle black_selection; + + if (!selection_black_value[0]) { + selection_black_value[0] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_x")); + selection_black_value[1] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_y")); + selection_black_value[2] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_w")); + selection_black_value[3] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_h")); + } + + black_selection.x = gtk_spin_button_get_value(selection_black_value[0]); + black_selection.y = gtk_spin_button_get_value(selection_black_value[1]); + black_selection.w = gtk_spin_button_get_value(selection_black_value[2]); + black_selection.h = gtk_spin_button_get_value(selection_black_value[3]); + + return black_selection; +} + +/**** + * PUBLIC FUNCTIONS + */ + +FILE *open_bv_file(const gchar *mode) { + gchar *filename = g_build_filename(g_get_tmp_dir(), "photometric_cc.dat", NULL); + FILE *BV = g_fopen(filename, mode); + g_free(filename); + return BV; +} + +int apply_photometric_cc() { + fitted_PSF **stars; + FILE *BV_file = NULL; + GtkComboBox *norm_box; + GtkToggleButton *auto_bkg; + + norm_box = GTK_COMBO_BOX(lookup_widget("combo_box_cc_norm")); + auto_bkg = GTK_TOGGLE_BUTTON(lookup_widget("button_cc_bkg_auto")); + + undo_save_state(&gfit, "Processing: Photometric CC"); + invalidate_stats_from_fit(&gfit); + invalidate_gfit_histogram(); + + set_cursor_waiting(TRUE); + BV_file = open_bv_file("r+t"); + + stars = malloc((MAX_STARS + 1) * sizeof(fitted_PSF *)); + if (stars == NULL) { + printf("Memory allocation failed: apply_photometric_cc\n"); + set_cursor_waiting(FALSE); + fclose(BV_file); + return 1; + } + + struct photometric_cc_data *args = malloc(sizeof(struct photometric_cc_data)); + set_cursor_waiting(TRUE); + + args->stars = stars; + args->BV_file = BV_file; + args->n_channel = gtk_combo_box_get_active(norm_box); + args->bg_area = get_bkg_selection(); + args->bg_auto = gtk_toggle_button_get_active(auto_bkg); + + start_in_new_thread(photometric_cc, args); + + return 0; +} + +/***** + * CALLBACKS FUNCTIONS + */ + +void on_menuitemphotometriccalibration_activate() { + initialize_photometric_cc_dialog(); + gtk_widget_show(lookup_widget("ImagePlateSolver_Dial")); +} + +void on_button_cc_ok_clicked(GtkButton *button, gpointer user_data) { + GtkToggleButton *auto_bkg; + + auto_bkg = GTK_TOGGLE_BUTTON(lookup_widget("button_cc_bkg_auto")); + + if ((!gtk_toggle_button_get_active(auto_bkg)) && (!is_selection_ok())) { + siril_message_dialog(GTK_MESSAGE_WARNING, _("There is no selection"), + _("Make a selection of the background area")); + } else + start_photometric_cc(); +} + +void on_button_cc_bkg_auto_toggled(GtkToggleButton *button, + gpointer user_data) { + GtkWidget *box_cc_manual_bkg; + + box_cc_manual_bkg = lookup_widget("box_cc_manual_bkg"); + gtk_widget_set_sensitive(box_cc_manual_bkg, !gtk_toggle_button_get_active(button)); +} + +void on_button_cc_bkg_selection_clicked(GtkButton *button, gpointer user_data) { + static GtkSpinButton *selection_cc_bkg_value[4] = { NULL, NULL, NULL, NULL }; + + if ((!com.selection.h) || (!com.selection.w)) { + siril_message_dialog(GTK_MESSAGE_WARNING, _("There is no selection"), + _("Make a selection of the background area")); + return; + } + + if (!selection_cc_bkg_value[0]) { + selection_cc_bkg_value[0] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_x")); + selection_cc_bkg_value[1] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_y")); + selection_cc_bkg_value[2] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_w")); + selection_cc_bkg_value[3] = GTK_SPIN_BUTTON(lookup_widget("spin_cc_bkg_h")); + } + + gtk_spin_button_set_value(selection_cc_bkg_value[0], com.selection.x); + gtk_spin_button_set_value(selection_cc_bkg_value[1], com.selection.y); + gtk_spin_button_set_value(selection_cc_bkg_value[2], com.selection.w); + gtk_spin_button_set_value(selection_cc_bkg_value[3], com.selection.h); +} + +#endif diff -Nru siril-0.9.10/src/gui/photometric_cc.h siril-0.9.11/src/gui/photometric_cc.h --- siril-0.9.10/src/gui/photometric_cc.h 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/gui/photometric_cc.h 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,27 @@ +#ifndef SRC_GUI_PHOTOMETRIC_CC_H_ +#define SRC_GUI_PHOTOMETRIC_CC_H_ + +#include + +#include "core/siril.h" +#include "core/proto.h" +#include "algos/PSF.h" + +typedef struct struct_coeff { + float value; + int channel; +} coeff; + +struct photometric_cc_data { + fits *fit; + fitted_PSF **stars; + FILE *BV_file; + rectangle bg_area; + gboolean bg_auto; + int n_channel; +}; + +FILE *open_bv_file(const gchar *mode); +int apply_photometric_cc(); + +#endif /* SRC_GUI_PHOTOMETRIC_CC_H_ */ diff -Nru siril-0.9.10/src/gui/plot.c siril-0.9.11/src/gui/plot.c --- siril-0.9.10/src/gui/plot.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/plot.c 2019-05-27 09:16:07.000000000 +0000 @@ -414,7 +414,11 @@ if (!seq->imgparam[i].incl) continue; int x = 0; - fprintf(csv, "%g", tmp_plot->data[j].x); + double date = tmp_plot->data[j].x; + if (julian0) { + date += julian0; + } + fprintf(csv, "%.10lf", date); while (x < MAX_SEQPSF && seq->photometry[x]) { fprintf(csv, ", %g", tmp_plot->data[j].y); tmp_plot = tmp_plot->next; @@ -428,7 +432,11 @@ for (i = 0, j = 0; i < plot->nb; i++) { if (!seq->imgparam[i].incl) continue; - fprintf(csv, "%g, %g\n", plot->data[j].x, plot->data[j].y); + double date = plot->data[j].x; + if (julian0) { + date += julian0; + } + fprintf(csv, "%.10lf, %g\n", date, plot->data[j].y); j++; } } @@ -624,7 +632,7 @@ gboolean on_DrawingPlot_draw(GtkWidget *widget, cairo_t *cr, gpointer data) { guint width, height, i, j; - double mean; + double mean, color; int min, max, nb_graphs = 0; struct kpair *avg; struct kplotcfg cfgplot; @@ -687,7 +695,9 @@ width = gtk_widget_get_allocated_width(widget); height = gtk_widget_get_allocated_height(widget); - cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); + color = com.want_dark ? 0.0 : 1.0; + + cairo_set_source_rgb(cr, color, color, color); cairo_rectangle(cr, 0.0, 0.0, width, height); cairo_fill(cr); kplot_draw(p, width, height, cr); diff -Nru siril-0.9.10/src/gui/progress_and_log.c siril-0.9.11/src/gui/progress_and_log.c --- siril-0.9.10/src/gui/progress_and_log.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/progress_and_log.c 2019-05-27 09:16:07.000000000 +0000 @@ -203,6 +203,21 @@ return msg; } +void initialize_log_tags() { + /* Create tags associated with the buffer for the output text. */ + GtkTextBuffer *tbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(lookup_widget("output"))); + /* Tag with weight bold and tag name "bold" . */ + gtk_text_buffer_create_tag (tbuf, "bold", "weight", PANGO_WEIGHT_BOLD, NULL); + /* Tag with style normal */ + gtk_text_buffer_create_tag (tbuf, "normal", "weight", PANGO_WEIGHT_NORMAL, NULL); + /* Couleur Tags */ + gtk_text_buffer_create_tag (tbuf, "red", "foreground", "#e72828", NULL); + gtk_text_buffer_create_tag (tbuf, "salmon", "foreground", "#ff9898", NULL); + gtk_text_buffer_create_tag (tbuf, "green", "foreground", "#01b301", NULL); + gtk_text_buffer_create_tag (tbuf, "blue", "foreground", "#7a7af8", NULL); + gtk_text_buffer_create_tag (tbuf, "plum", "foreground", "#8e4585", NULL); +} + char* siril_log_message(const char* format, ...) { va_list args; va_start(args, format); @@ -228,25 +243,48 @@ } void show_time_msg(struct timeval t_start, struct timeval t_end, const char *msg) { - float time = (float) (((t_end.tv_sec - t_start.tv_sec) * 1000000L - + t_end.tv_usec) - t_start.tv_usec) / 1000000.0; + double start, end, diff; - if (time > 60.f) { - int min = (int) time / 60; - int sec = (int) time % 60 + 1; - siril_log_color_message(_("%s: %d min %.2d s.\n"), "green", - msg, min, sec); - } else if (time < 1.f) { - float ms = time * 1000.f; - siril_log_color_message(_("%s: %.2f ms.\n"), "green", msg, ms); - } else { - siril_log_color_message(_("%s: %.2f s.\n"), "green", msg, time); + start = (double) (t_start.tv_sec + t_start.tv_usec / 1.0E6); + end = (double) (t_end.tv_sec + t_end.tv_usec / 1.0E6); + diff = end - start; + + if (diff >= 0.0) { + if (diff >= 3600.0) { + int hour = (int) diff / 3600; + int sec = (int) diff % 3600; + int min = sec / 60; + sec = sec % 60; + siril_log_color_message(_("%s: %d h %02d min %.2d s.\n"), "green", + msg, hour, min, sec); + } else if (diff >= 60.0) { + int min = (int) diff / 60; + int sec = (int) diff % 60; + siril_log_color_message(_("%s: %d min %02d s.\n"), "green", msg, + min, sec); + } else if (diff < 1.0) { + double ms = diff * 1.0E3; + siril_log_color_message(_("%s: %.2lf ms.\n"), "green", msg, ms); + } else { + siril_log_color_message(_("%s: %.2lf s.\n"), "green", msg, diff); + } } } +void get_min_sec_from_timevals(struct timeval t_start, struct timeval t_end, + int *min, int *sec) { + double start, end, diff; + start = (double)(t_start.tv_sec + t_start.tv_usec / 1.0E6); + end = (double)(t_end.tv_sec + t_end.tv_usec / 1.0E6); + diff = end - start; + *min = (int)diff / 60; + *sec = (int)diff % 60; +} + struct _cursor_data { gboolean change; - GdkCursorType cursor_type; +// GdkCursorType cursor_type; + const gchar* cursor_name; }; /* thread-safe cursor change */ @@ -256,10 +294,10 @@ GdkCursor *new; GdkDisplay *display; GdkScreen *screen; - GList *list; + GList *list, *l; display = gdk_display_get_default (); - new = gdk_cursor_new_for_display(display, arg->cursor_type); + new = gdk_cursor_new_from_name (display, arg->cursor_name); screen = gdk_screen_get_default(); list = gdk_screen_get_toplevel_windows(screen); @@ -268,12 +306,11 @@ } else { cursor = NULL; } - while (list) { - GdkWindow *window = GDK_WINDOW(list->data); + for (l = list; l; l = l->next) { + GdkWindow *window = GDK_WINDOW(l->data); gdk_window_set_cursor(window, cursor); gdk_display_sync(gdk_window_get_display(window)); gdk_display_flush(display); - list = g_list_next(list); } g_list_free(list); free(arg); @@ -284,18 +321,18 @@ struct _cursor_data *arg = malloc(sizeof (struct _cursor_data)); arg->change = waiting; - arg->cursor_type = GDK_WATCH; + arg->cursor_name = "progress"; if (com.script) gdk_threads_add_idle(idle_set_cursor, arg); else idle_set_cursor(arg); } -void set_cursor(GdkCursorType cursor_type, gboolean change) { +void set_cursor(const gchar* cursor_name) { struct _cursor_data *arg = malloc(sizeof (struct _cursor_data)); - arg->change = change; - arg->cursor_type = cursor_type; + arg->change = TRUE; + arg->cursor_name = cursor_name; if (com.script) gdk_threads_add_idle(idle_set_cursor, arg); diff -Nru siril-0.9.10/src/gui/progress_and_log.h siril-0.9.11/src/gui/progress_and_log.h --- siril-0.9.10/src/gui/progress_and_log.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/progress_and_log.h 2019-05-27 09:16:07.000000000 +0000 @@ -10,6 +10,8 @@ #define PROGRESS_DONE 1.0 // fill the progress bar #define PROGRESS_TEXT_RESET "" // reset the progress bar's text +void initialize_log_tags(); + char* siril_log_message(const char* format, ...); char* siril_log_color_message(const char* format, const char* color, ...); @@ -17,8 +19,10 @@ void show_time(struct timeval, struct timeval); void show_time_msg(struct timeval t_start, struct timeval t_end, const char *msg); +void get_min_sec_from_timevals(struct timeval t_start, struct timeval t_end, + int *min, int *sec); void set_cursor_waiting(gboolean waiting); -void set_cursor(GdkCursorType cursor_type, gboolean change); +void set_cursor(const gchar* cursor_name); #endif diff -Nru siril-0.9.10/src/gui/PSF_list.c siril-0.9.11/src/gui/PSF_list.c --- siril-0.9.10/src/gui/PSF_list.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/PSF_list.c 2019-05-27 09:16:07.000000000 +0000 @@ -24,8 +24,11 @@ #include "core/siril.h" #include "core/proto.h" +#include "io/single_image.h" +#include "io/sequence.h" #include "gui/callbacks.h" #include "gui/message_dialog.h" +#include "gui/progress_and_log.h" #include "algos/PSF.h" #include "gui/PSF_list.h" #include "algos/star_finder.h" @@ -34,16 +37,16 @@ enum { COLUMN_CHANNEL, // int - COLUMN_B, // gchar[] - COLUMN_A, // gchar[] - COLUMN_X0, // gchar[] - COLUMN_Y0, // gchar[] - COLUMN_FWHMX, // gchar[] - COLUMN_FWHMY, // gchar[] - COLUMN_MAG, // gchar[] - COLUMN_ROUNDNESS, // gchar[] - COLUMN_ANGLE, // gchar[] - COLUMN_RMSE, // gchar[] + COLUMN_B, // gdouble + COLUMN_A, // gdouble + COLUMN_X0, // gdouble + COLUMN_Y0, // gdouble + COLUMN_FWHMX, // gdouble + COLUMN_FWHMY, // gdouble + COLUMN_MAG, // gdouble + COLUMN_ROUNDNESS, // gdouble + COLUMN_ANGLE, // gdouble + COLUMN_RMSE, // gdouble N_COLUMNS }; @@ -51,16 +54,302 @@ COUNT_STATE }; -void get_stars_list_store() { +static gchar *units = ""; + +static void gdouble_fwhmx_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_FWHMX, &var, -1); + buf = g_strdup_printf("%.2f%s", var, units); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_fwhmy_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_FWHMY, &var, -1); + buf = g_strdup_printf("%.2f%s", var, units); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_x0_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_X0, &var, -1); + buf = g_strdup_printf("%.2f", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_y0_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_Y0, &var, -1); + buf = g_strdup_printf("%.2f", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_mag_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_MAG, &var, -1); + buf = g_strdup_printf("%.2f", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_r_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_ROUNDNESS, &var, -1); + buf = g_strdup_printf("%.3f", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_angle_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_ANGLE, &var, -1); + if (var == 0.0) + buf = g_strdup_printf("%s", "N/A"); + else + buf = g_strdup_printf("%.2f", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void gdouble_rmse_cell_data_function(GtkTreeViewColumn *col, + GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, + gpointer user_data) { + gdouble var; + gchar *buf; + gtk_tree_model_get(model, iter, COLUMN_RMSE, &var, -1); + buf = g_strdup_printf("%.2e", var); + g_object_set(renderer, "text", buf, NULL); + + g_free(buf); +} + +static void get_stars_list_store() { if (liststore_stars == NULL) liststore_stars = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore_stars")); + + GtkTreeViewColumn *col; + GtkCellRenderer *cell; + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn7")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_x0")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_x0_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn8")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_y0")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_y0_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn9")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_fwhmx")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_fwhmx_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn10")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_fwhmy")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_fwhmy_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn_mag")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_mag")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_mag_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn14")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_r")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_r_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn6")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_angle")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_angle_cell_data_function, NULL, NULL); + + col = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "treeviewcolumn15")); + cell = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "cell_rmse")); + gtk_tree_view_column_set_cell_data_func(col, cell, gdouble_rmse_cell_data_function, NULL, NULL); +} + +static void display_PSF(fitted_PSF **result) { + if (result) { + gchar *msg; + int i = 0; + double FWHMx = 0.0, FWHMy = 0.0, B = 0.0, A = 0.0, r = 0.0, angle = 0.0, + rmse = 0.0; + + while (result[i]) { + B += result[i]->B; + A += result[i]->A; + FWHMx += result[i]->fwhmx; + FWHMy += result[i]->fwhmy; + angle += result[i]->angle; + rmse += result[i]->rmse; + if (i > 1 && (strcmp(result[i]->units, result[i - 1]->units))) { + siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), + _("Stars must have the same units.")); + return; + } + i++; + } + /* compute average */ + B = B / (double) i; + A = A / (double) i; + FWHMx = FWHMx / (double) i; + FWHMy = FWHMy / (double) i; + r = FWHMy / FWHMx; + angle = angle / (double) i; + rmse = rmse / (double) i; + + msg = g_strdup_printf(_("Average Gaussian PSF\n\n" + "N:\t%d stars\nB:\t%.6f\nA:\t%.6f\nFWHMx:\t%.2f%s\n" + "FWHMy:\t%.2f%s\nr:\t%.3f\nAngle:\t%.2f deg\nrmse:\t%.3e\n"), + i, B, A, FWHMx, result[0]->units, FWHMy, + result[0]->units, r, angle, rmse); + show_data_dialog(msg, _("Average Star Data")); + g_free(msg); + } +} + +static gint get_index_of_selected_star(gdouble x, gdouble y) { + int i = 0; + + while (com.stars && com.stars[i]) { + if ((com.stars[i]->xpos == x) && (com.stars[i]->ypos == y)) { + return i; + } + i++; + } + return -1; +} + +static void display_status() { + gchar *text; + int i = 0; + GtkStatusbar *statusbar; + + statusbar = GTK_STATUSBAR(lookup_widget("statusbar_PSF")); + + while (com.stars && com.stars[i]) + i++; + if (com.selected_star == -1) { + if (i > 0) { + text = g_strdup_printf(_("%d stars"), i); + } else { + text = g_strdup(" "); + } + } else { + text = g_strdup_printf(_("Star %d of %d"), com.selected_star + 1, i); + } + gtk_statusbar_push(statusbar, COUNT_STATE, text); + g_free(text); +} + +static void remove_selected_star(int index) { + GtkTreeSelection *selection = GTK_TREE_SELECTION(gtk_builder_get_object(builder, "treeview-selection")); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtk_builder_get_object(builder, "Stars_stored"))); + GtkTreeIter iter; + + if (gtk_tree_selection_get_selected(selection, &model, &iter)) { + gtk_list_store_remove(GTK_LIST_STORE(model), &iter); + gtk_tree_selection_unselect_all(selection); + + remove_star(index); + + com.selected_star = -1; + display_status(); + } +} + +static void remove_all_stars(){ + clear_stars_list(); + com.selected_star = -1; + display_status(); + redraw(com.cvport, REMAP_NONE); +} + +static int save_list(gchar *file) { + int i = 0; + if (!com.stars) + return 1; + FILE *f = g_fopen(file, "w"); + + if (f) { + while (com.stars[i]) { + fprintf(f, + "%d\t%d\t%10.6f %10.6f %10.2f %10.2f %10.2f %10.2f %3.2f %10.3e %10.2f%s", + i + 1, com.stars[i]->layer, com.stars[i]->B, com.stars[i]->A, + com.stars[i]->xpos, com.stars[i]->ypos, com.stars[i]->fwhmx, + com.stars[i]->fwhmy, com.stars[i]->angle, com.stars[i]->rmse, com.stars[i]->mag, SIRIL_EOL); + i++; + } + fclose(f); + siril_log_message(_("The file stars.lst has been created.\n")); + } + return 0; } +static void set_filter(GtkFileChooser *dialog) { + GtkFileFilter *f = gtk_file_filter_new(); + gtk_file_filter_set_name(f, _("Star list file (*.lst)")); + gtk_file_filter_add_pattern(f, "*.lst"); + gtk_file_chooser_add_filter(dialog, f); + gtk_file_chooser_set_filter(dialog, f); +} + +static void save_stars_dialog() { + SirilWidget *widgetdialog; + GtkFileChooser *dialog = NULL; + GtkWindow *parent = GTK_WINDOW(lookup_widget("stars_list_window")); + gint res; + + widgetdialog = siril_file_chooser_save(parent, GTK_FILE_CHOOSER_ACTION_SAVE); + dialog = GTK_FILE_CHOOSER(widgetdialog); + gtk_file_chooser_set_current_folder(dialog, com.wd); + gtk_file_chooser_set_select_multiple(dialog, FALSE); + gtk_file_chooser_set_do_overwrite_confirmation(dialog, TRUE); + gtk_file_chooser_set_current_name(dialog, "stars.lst"); + set_filter(dialog); + + res = siril_dialog_run(widgetdialog); + if (res == GTK_RESPONSE_ACCEPT) { + gchar *file = gtk_file_chooser_get_filename(dialog); + save_list(file); + + g_free(file); + } + siril_widget_destroy(widgetdialog); +} + +/********************* public ***********************/ + void add_star_to_list(fitted_PSF *star) { static GtkTreeSelection *selection = NULL; GtkTreeIter iter; - gchar B[16], A[16], xpos[16], ypos[16], angle[16], - fwhmx[16], fwhmy[16], mag[16], roundness[16], rmse[16]; get_stars_list_store(); if (!selection) @@ -69,31 +358,23 @@ gtk_list_store_clear(liststore_stars); return; // just clear the list } - - g_snprintf(B, sizeof(B), "%.6lf", star->B); - g_snprintf(A, sizeof(A), "%.6lf", star->A); - g_snprintf(xpos, sizeof(xpos), "%.2lf", star->xpos); - g_snprintf(ypos, sizeof(ypos), "%.2lf", star->ypos); - g_snprintf(fwhmx, sizeof(fwhmx), "%.2lf%s", star->fwhmx, star->units); - g_snprintf(fwhmy, sizeof(fwhmy), "%.2lf%s", star->fwhmy, star->units); - g_snprintf(mag, sizeof(mag), "%.2lf", star->mag); - g_snprintf(roundness, sizeof(roundness), "%8.3lf", star->fwhmy/star->fwhmx); //ALWAYS FWHMX > FWHMY - g_snprintf(angle, sizeof(angle), "%.2lf", star->angle); - g_snprintf(rmse, sizeof(rmse), "%.3e", star->rmse); + gtk_list_store_append (liststore_stars, &iter); gtk_list_store_set (liststore_stars, &iter, COLUMN_CHANNEL, star->layer, - COLUMN_B, B, - COLUMN_A, A, - COLUMN_X0, xpos, - COLUMN_Y0, ypos, - COLUMN_FWHMX, fwhmx, - COLUMN_FWHMY, fwhmy, - COLUMN_MAG, mag, - COLUMN_ROUNDNESS, roundness, - COLUMN_ANGLE, angle, - COLUMN_RMSE, rmse, + COLUMN_B, star->B, + COLUMN_A, star->A, + COLUMN_X0, star->xpos, + COLUMN_Y0, star->ypos, + COLUMN_FWHMX, star->fwhmx, + COLUMN_FWHMY, star->fwhmy, + COLUMN_MAG, star->mag, + COLUMN_ROUNDNESS, star->fwhmy/star->fwhmx, + COLUMN_ANGLE, star->angle, + COLUMN_RMSE, star->rmse, -1); + + units = star->units; } void fill_stars_list(fits *fit, fitted_PSF **stars) { @@ -139,100 +420,98 @@ com.star_is_seqdata = FALSE; } -void display_PSF(fitted_PSF **result){ - - if (result && result[0]) { - char msg[512]; - int i = 0; - double FWHMx=0., FWHMy=0., B=0., A=0., r=0., angle=0., rmse=0.; +/***************** callbacks ****************/ - while (result[i]) { - B+=result[i]->B; - A+=result[i]->A; - FWHMx+=result[i]->fwhmx; - FWHMy+=result[i]->fwhmy; - angle+=result[i]->angle; - rmse+=result[i]->rmse; - if (i>1){ - if (strcmp(result[i]->units,result[i-1]->units)){ - siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), _("Stars must have the same units.")); - return; - } - } - i++; - } - B = B / (double)i; - A = A / (double)i; - FWHMx = FWHMx / (double)i; - FWHMy = FWHMy / (double)i; - r = FWHMy / FWHMx; - angle = angle / (double)i; - rmse = rmse / (double)i; - g_snprintf(msg, sizeof(msg), _("Average Gaussian PSF\n\n" - "N:\t%d stars\nB:\t%.6f\nA:\t%.6f\nFWHMx:\t%.2f%s\n" - "FWHMy:\t%.2f%s\nr:\t%.3f\nAngle:\t%.2f deg\nrmse:\t%.3e\n"), - i, B, A, FWHMx, result[0]->units, FWHMy, result[0]->units, r, angle, rmse); - show_data_dialog(msg, "Average Star Data"); +void on_treeview_cursor_changed(GtkTreeView *tree_view, + gpointer user_data) { + GtkTreeModel *treeModel = gtk_tree_view_get_model(tree_view); + GtkTreeSelection *selection = gtk_tree_view_get_selection (tree_view); + GtkTreeIter iter; + GValue value_x = G_VALUE_INIT; + GValue value_y = G_VALUE_INIT; + + if (gtk_tree_model_get_iter_first(treeModel, &iter) == FALSE) + return; //The tree is empty + if (gtk_tree_selection_get_selected(selection, &treeModel, &iter)) { //get selected item + gdouble x0, y0; + + gtk_tree_model_get_value(treeModel, &iter, COLUMN_X0, &value_x); + x0 = g_value_get_double(&value_x); + gtk_tree_model_get_value(treeModel, &iter, COLUMN_Y0, &value_y); + y0 = g_value_get_double(&value_y); + + g_value_unset(&value_x); + g_value_unset(&value_y); + + com.selected_star = get_index_of_selected_star(x0, y0); + display_status(); + redraw(com.cvport, REMAP_NONE); } } -/* This function returns the index of a selected row. - * The index corresponds to the index of the com.stars. - * If no rows are selected, the function returns the value -1. - * If "remove_row" is true, then the selected row will - * be removed from the list */ -int get_index_of_selected_line(gboolean remove_row){ - GtkTreeSelection *selection = GTK_TREE_SELECTION(gtk_builder_get_object(builder, "treeview-selection")); - GtkTreeModel *tree_stars = gtk_tree_view_get_model(GTK_TREE_VIEW(gtk_builder_get_object(builder, "Stars_stored"))); - GtkTreeIter iter; - int retvalue = -1; - - if (com.stars){ - if (gtk_tree_model_get_iter_first(tree_stars, &iter) == FALSE) return retvalue; //The tree is empty - if (gtk_tree_selection_get_selected(selection, &tree_stars, &iter)){ //get selected item - GtkTreePath *path = gtk_tree_model_get_path(tree_stars, &iter); - int *index = gtk_tree_path_get_indices(path); - if (index) retvalue = index[0]; - gtk_tree_path_free(path); - } - } - if (remove_row == TRUE && retvalue != -1) { - gtk_list_store_remove(GTK_LIST_STORE(tree_stars), &iter); - gtk_tree_selection_unselect_all(selection); +void on_Stars_stored_key_release_event(GtkWidget *widget, GdkEventKey *event, + gpointer user_data) { + if (event->keyval == GDK_KEY_Delete || event->keyval == GDK_KEY_KP_Delete + || event->keyval == GDK_KEY_BackSpace) { + + remove_selected_star(com.selected_star); } - return retvalue; } -void move_selected_line() { - int index = get_index_of_selected_line(FALSE); - - com.selected_star = index; - display_status(); - redraw(com.cvport, REMAP_NONE); +void on_stars_list_window_hide(GtkWidget *object, gpointer user_data) { + GtkCheckMenuItem *PSFcheck = GTK_CHECK_MENU_ITEM( + gtk_builder_get_object(builder, "menuitemPSF")); + gtk_check_menu_item_set_active(PSFcheck, FALSE); + com.selected_star = -1; } -void remove_selected_line(){ - int index = get_index_of_selected_line(TRUE); - - remove_star(index); - com.selected_star = -1; - display_status(); +void on_sum_button_clicked(GtkButton *button, gpointer user_data) { + display_PSF(com.stars); } -void remove_all_lines(){ - clear_stars_list(); - com.selected_star = -1; - display_status(); - redraw(com.cvport, REMAP_NONE); +void on_remove_button_clicked(GtkButton *button, gpointer user_data) { + remove_selected_star(com.selected_star); } -void display_status(){ - char text[256]; - int nbstars=0; - GtkStatusbar *statusbar = GTK_STATUSBAR(gtk_builder_get_object(builder, "statusbar_PSF")); - - while (com.stars && com.stars[nbstars]) nbstars++; - if (com.selected_star == -1) g_snprintf(text, sizeof(text), " "); - else g_snprintf(text, sizeof(text), _("Star %d of %d"), com.selected_star + 1, nbstars); - gtk_statusbar_push(statusbar, COUNT_STATE, text); +void on_remove_all_button_clicked(GtkButton *button, gpointer user_data) { + remove_all_stars(); } + +void on_menuitemPSF_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data) { + if (gtk_check_menu_item_get_active(checkmenuitem)) + gtk_widget_show_all(lookup_widget("stars_list_window")); + else + gtk_widget_hide(lookup_widget("stars_list_window")); +} + +void on_process_starfinder_button_clicked(GtkButton *button, gpointer user_data) { + int nbstars = 0; + int layer = RLAYER; + if (!single_image_is_loaded() && !sequence_is_loaded()) { + siril_log_color_message(_("Load an image first, aborted.\n"), "red"); + return; + } + set_cursor_waiting(TRUE); + if (gfit.naxes[2] == 3) + layer = GLAYER; + delete_selected_area(); + com.stars = peaker(&gfit, layer, &com.starfinder_conf, &nbstars, NULL, TRUE); + siril_log_message(_("Found %d stars in image, channel #%d\n"), nbstars, layer); + if (com.stars) + refresh_stars_list(com.stars); + set_cursor_waiting(FALSE); +} + +void on_export_button_clicked(GtkButton *button, gpointer user_data) { + save_stars_dialog(); +} + +void on_stars_list_window_show(GtkWidget *widget, gpointer user_data) { + update_peaker_GUI(); + fill_stars_list(&gfit, com.stars); +} + +void on_button_stars_list_ok_clicked(GtkButton *button, gpointer user_data) { + gtk_widget_hide(lookup_widget("stars_list_window")); +} + diff -Nru siril-0.9.10/src/gui/PSF_list.h siril-0.9.11/src/gui/PSF_list.h --- siril-0.9.10/src/gui/PSF_list.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/PSF_list.h 2019-05-27 09:16:07.000000000 +0000 @@ -4,15 +4,9 @@ #include "core/siril.h" #include "algos/PSF.h" -void get_stars_list_store(); void add_star_to_list(fitted_PSF *); void fill_stars_list(fits *fit, fitted_PSF **); void refresh_stars_list(fitted_PSF **); void clear_stars_list(); -void display_PSF(fitted_PSF **); -void remove_selected_line(); -void move_selected_line(); -void remove_all_lines(); -void display_status(); #endif diff -Nru siril-0.9.10/src/gui/saturation.c siril-0.9.11/src/gui/saturation.c --- siril-0.9.10/src/gui/saturation.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/saturation.c 2019-05-27 09:16:07.000000000 +0000 @@ -114,6 +114,13 @@ return FALSE; } +gboolean on_scale_satu_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + satu_amount = gtk_range_get_value(GTK_RANGE(widget)); + satu_recompute(); + return FALSE; +} + void on_preserve_bg_toggled(GtkToggleButton *togglebutton, gpointer user_data) { satu_preserve_bkg = gtk_toggle_button_get_active(togglebutton); satu_recompute(); diff -Nru siril-0.9.10/src/gui/save_dialog.c siril-0.9.11/src/gui/save_dialog.c --- siril-0.9.10/src/gui/save_dialog.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/save_dialog.c 2019-05-27 09:16:07.000000000 +0000 @@ -28,16 +28,13 @@ #include "gui/progress_and_log.h" #include "gui/callbacks.h" #include "gui/save_dialog.h" +#include "gui/message_dialog.h" #include "io/sequence.h" #include "io/single_image.h" static image_type whichminisave = TYPEUNDEF; -#ifdef _WIN32 -static GtkFileChooserNative *saveDialog = NULL; -#else -static GtkWidget *saveDialog = NULL; -#endif +static SirilWidget *saveDialog = NULL; static void gtk_filter_add(GtkFileChooser *file_chooser, const gchar *title, const gchar *pattern, gboolean set_default) { @@ -155,13 +152,12 @@ gtk_text_buffer_delete(tbuf, &itStart, &itEnd); /* History already written in header */ if (gfit.history) { - GSList *list = gfit.history; - while (list) { + GSList *list; + for (list = gfit.history; list; list = list->next) { gtk_text_buffer_get_end_iter(tbuf, &itEnd); gtk_text_buffer_insert(tbuf, &itEnd, (gchar *)list->data, -1); gtk_text_buffer_get_end_iter(tbuf, &itEnd); gtk_text_buffer_insert(tbuf, &itEnd, "\n", 1); - list = list->next; } } /* New history */ @@ -185,8 +181,7 @@ int tab; if (notebookFormat == NULL) { - notebookFormat = GTK_NOTEBOOK( - gtk_builder_get_object(builder, "notebookFormat")); + notebookFormat = GTK_NOTEBOOK(lookup_widget("notebookFormat")); savepopup = lookup_widget("savepopup"); savetxt = lookup_widget("filenameframe"); } @@ -233,49 +228,51 @@ static void init_dialog() { GtkWindow *parent; if (saveDialog == NULL) { - GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE; parent = siril_get_active_window(); - -#ifdef _WIN32 - saveDialog = gtk_file_chooser_native_new("Save File", parent, action, - _("_Save"), _("_Cancel")); -#else - saveDialog = gtk_file_chooser_dialog_new(_("Save File"), parent, action, - _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), - GTK_RESPONSE_ACCEPT, NULL); -#endif + saveDialog = siril_file_chooser_save(parent, GTK_FILE_CHOOSER_ACTION_SAVE); } } static void close_dialog() { if (saveDialog != NULL) { -#ifdef _WIN32 - g_object_unref(saveDialog); -#else - gtk_widget_destroy(saveDialog); -#endif + siril_widget_destroy(saveDialog); saveDialog = NULL; } } +static gchar *get_filename() { + gchar *basename; + + if (sequence_is_loaded() && com.seq.current != RESULT_IMAGE) { + char fname[256]; + /* set the output file name default as the current image.jpg */ + seq_get_image_filename(&com.seq, com.seq.current, fname); + basename = g_path_get_basename(fname); + } else { + basename = g_path_get_basename(com.uniq->filename); + } + + return remove_ext_from_filename(basename); +} + static int save_dialog() { GtkFileChooser *chooser; GtkFileFilter *filter; GtkEntry *savetext; gint res; + gchar *fname; init_dialog(); chooser = GTK_FILE_CHOOSER(saveDialog); + fname = get_filename(); + gtk_file_chooser_set_current_name(chooser, fname); gtk_file_chooser_set_do_overwrite_confirmation(chooser, TRUE); set_filters_save_dialog(chooser); + g_free(fname); -#ifdef _WIN32 - res = gtk_native_dialog_run(GTK_NATIVE_DIALOG(saveDialog)); -#else - res = gtk_dialog_run(GTK_DIALOG(saveDialog)); -#endif + res = siril_dialog_run(saveDialog); if (res == GTK_RESPONSE_ACCEPT) { gchar *filename = gtk_file_chooser_get_filename(chooser); @@ -297,12 +294,14 @@ // idle function executed at the end of the Save Data processing gboolean end_save(gpointer p) { struct savedial_data *args = (struct savedial_data *) p; + if (args->retval) + siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), _("File saving failed. Check the logs for more info.")); gtk_entry_set_text(args->entry, ""); gtk_widget_hide(lookup_widget("savepopup")); stop_processing_thread(); set_cursor_waiting(FALSE); - close_dialog(); + close_dialog(); // is this different from the hide above? update_used_memory(); free(args); return FALSE; @@ -338,26 +337,27 @@ static gpointer minisavedial(gpointer p) { struct savedial_data *args = (struct savedial_data *) p; uint32_t bytes_per_sample; + args->retval = 0; if (args->filename[0] != '\0') { switch (whichminisave) { case TYPEBMP: - savebmp(args->filename, &gfit); + args->retval = savebmp(args->filename, &gfit); break; #ifdef HAVE_LIBJPEG case TYPEJPG: - savejpg(args->filename, &gfit, args->quality); + args->retval = savejpg(args->filename, &gfit, args->quality); break; #endif #ifdef HAVE_LIBTIFF case TYPETIFF: - savetif(args->filename, &gfit, args->bitspersamples); + args->retval = savetif(args->filename, &gfit, args->bitspersamples); break; #endif #ifdef HAVE_LIBPNG case TYPEPNG: - bytes_per_sample = gfit.orig_bitpix > BYTE_IMG ? 2 : 1; - savepng(args->filename, &gfit, bytes_per_sample, gfit.naxes[2] == 3); + bytes_per_sample = gfit.orig_bitpix != BYTE_IMG ? 2 : 1; + args->retval = savepng(args->filename, &gfit, bytes_per_sample, gfit.naxes[2] == 3); break; #endif case TYPEFITS: @@ -381,15 +381,15 @@ gfit.hi = UCHAR_MAX; gfit.lo = 0; } - if (gfit.orig_bitpix == BYTE_IMG && gfit.bitpix > BYTE_IMG) { + if (gfit.orig_bitpix == BYTE_IMG && gfit.bitpix != BYTE_IMG) { gfit.hi = USHRT_MAX; gfit.lo = 0; } } - savefits(args->filename, &gfit); + args->retval = savefits(args->filename, &gfit); break; case TYPEPNM: - saveNetPBM(args->filename, &gfit); + args->retval = saveNetPBM(args->filename, &gfit); break; default: siril_log_message(_("This type of file is not handled. Should not happen")); @@ -397,7 +397,6 @@ } } siril_add_idle(end_save, args); - return NULL; } @@ -579,24 +578,20 @@ } void on_save1_activate(GtkMenuItem *menuitem, gpointer user_data) { - static GtkWidget *savepopup = NULL; + GtkWidget *savepopup = lookup_widget("savepopup"); - if (savepopup == NULL) { - savepopup = lookup_widget("savepopup"); - } - - int res = save_dialog(); - if (res == GTK_RESPONSE_ACCEPT) { + if (save_dialog() == GTK_RESPONSE_ACCEPT) { /* now it is not needed for some formats */ if (whichminisave != TYPEBMP && whichminisave != TYPEPNG && whichminisave != TYPEPNM) { + close_dialog(); GtkWindow *parent = siril_get_active_window(); if (!GTK_IS_WINDOW(parent)) { parent = GTK_WINDOW(lookup_widget("control_window")); } gtk_window_set_transient_for(GTK_WINDOW(savepopup), parent); gtk_widget_show(savepopup); - close_dialog(); + gtk_window_present(GTK_WINDOW(savepopup)); } else { struct savedial_data *args = malloc(sizeof(struct savedial_data)); diff -Nru siril-0.9.10/src/gui/save_dialog.h siril-0.9.11/src/gui/save_dialog.h --- siril-0.9.10/src/gui/save_dialog.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/save_dialog.h 2019-05-27 09:16:07.000000000 +0000 @@ -9,6 +9,7 @@ const gchar *filename; int bitpix; gboolean update_hilo; + int retval; }; enum { diff -Nru siril-0.9.10/src/gui/script_menu.c siril-0.9.11/src/gui/script_menu.c --- siril-0.9.10/src/gui/script_menu.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/script_menu.c 2019-05-27 09:16:07.000000000 +0000 @@ -36,6 +36,7 @@ #include "gui/callbacks.h" #include "gui/message_dialog.h" #include "gui/progress_and_log.h" +#include "algos/sorting.h" #include "script_menu.h" #define EXT ".ssf" @@ -45,7 +46,7 @@ #ifdef _WIN32 wchar_t wFilename[MAX_PATH]; - list = g_slist_append(list, g_build_filename (get_special_folder (CSIDL_APPDATA), + list = g_slist_prepend(list, g_build_filename (get_special_folder (CSIDL_APPDATA), "siril", "scripts", NULL)); if (!GetModuleFileNameW(NULL, wFilename, MAX_PATH)) { @@ -54,15 +55,16 @@ gchar *fName = g_utf16_to_utf8(wFilename, -1, NULL, NULL, NULL); gchar *path = g_path_get_dirname(fName); path[strlen(path) - 4] = '\0'; /* remove "/bin" */ - list = g_slist_append(list, g_build_filename(path, "scripts", NULL)); + list = g_slist_prepend(list, g_build_filename(path, "scripts", NULL)); g_free(fName); g_free(path); } #else - list = g_slist_append(list, g_build_filename(PACKAGE_DATA_DIR, "scripts", NULL)); - list = g_slist_append(list, g_build_filename(g_get_home_dir(), ".siril", "scripts", NULL)); - list = g_slist_append(list, g_build_filename(g_get_home_dir(), "siril", "scripts", NULL)); + list = g_slist_prepend(list, g_build_filename(PACKAGE_DATA_DIR, "scripts", NULL)); + list = g_slist_prepend(list, g_build_filename(g_get_home_dir(), ".siril", "scripts", NULL)); + list = g_slist_prepend(list, g_build_filename(g_get_home_dir(), "siril", "scripts", NULL)); #endif + list = g_slist_reverse(list); return list; } @@ -84,9 +86,10 @@ gchar **token = g_strsplit(txt, "\n", -1); while (token[i]) { if (*token[i] != '\0') - list = g_slist_append(list, g_strdup(token[i])); + list = g_slist_prepend(list, g_strdup(token[i])); i++; } + list = g_slist_reverse(list); g_strfreev(token); } @@ -131,13 +134,14 @@ dir = g_dir_open(path, 0, &error); if (!dir) { fprintf(stderr, "scripts: %s\n", error->message); + g_error_free(error); return NULL; } while ((file = g_dir_read_name(dir)) != NULL) { if (g_str_has_suffix(file, EXT)) { - char *str = remove_ext_from_filename(file); + gchar *str = (gchar*) remove_ext_from_filename(file); - list = g_slist_append(list, str); + list = g_slist_prepend(list, str); } } list = g_slist_sort(list, (GCompareFunc) strcompare); @@ -183,7 +187,7 @@ int initialize_script_menu() { static GtkWidget *menuscript = NULL; - GSList *list, *script; + GSList *list, *script, *s; GtkWidget *menu; gint nb_item = 0; @@ -201,9 +205,10 @@ menu = gtk_menu_new(); - while (script) { - list = search_script(script->data); + for (s = script; s; s = s->next) { + list = search_script(s->data); if (list) { + GSList *l; gtk_widget_show(menuscript); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuscript), menu); /* write separator but not for the first one */ @@ -212,28 +217,23 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), separator); gtk_widget_show(separator); } - siril_log_message(_("Searching scripts in: %s...\n"), script->data); - while (list) { + siril_log_message(_("Searching scripts in: \"%s\"...\n"), s->data); + for (l = list; l; l = l->next) { nb_item ++; /* write an item per script file */ GtkWidget *menu_item; - menu_item = gtk_menu_item_new_with_label(list->data); + menu_item = gtk_menu_item_new_with_label(l->data); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - gchar *full_path = g_build_filename(script->data, list->data, + gchar *full_path = g_build_filename(s->data, l->data, NULL); g_signal_connect(G_OBJECT(menu_item), "activate", G_CALLBACK(on_script_execution), (gchar * ) full_path); - siril_log_message(_("Loading script: %s\n"), list->data); + siril_log_message(_("Loading script: %s\n"), l->data); gtk_widget_show(menu_item); - - /* go to the next item */ - list = list->next; } g_slist_free_full(list, g_free); } - /* go to the next path */ - script = script->next; } writeinitfile(); diff -Nru siril-0.9.10/src/gui/sequence_list.c siril-0.9.11/src/gui/sequence_list.c --- siril-0.9.10/src/gui/sequence_list.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/sequence_list.c 2019-05-27 09:16:07.000000000 +0000 @@ -40,7 +40,7 @@ COLUMN_SHIFTX, // int COLUMN_SHIFTY, // int COLUMN_SELECTED, // gboolean - COLUMN_FWHM, // converted to string, not pure double + COLUMN_FWHM, // gdouble COLUMN_CURRENT, // int weight, current file loaded, display IMNAME in bold COLUMN_REFERENCE, // background color depending on the image being reference COLUMN_INDEX, // int @@ -80,6 +80,7 @@ char *basename; int shiftx = -1, shifty = -1; double fwhm = -1.0; + int color; get_list_store(); if (!selection) @@ -98,6 +99,8 @@ fwhm = seq->regparam[layer][index].quality; } + color = com.want_dark ? 1 : 0; + basename = g_path_get_basename(seq_get_image_filename(seq, index, imname)); gtk_list_store_append (list_store, &iter); gtk_list_store_set (list_store, &iter, @@ -110,7 +113,7 @@ // weight value is 400 by default "normal": // http://developer.gnome.org/gtk3/stable/GtkCellRendererText.html#GtkCellRendererText--weight COLUMN_REFERENCE, index == seq->reference_image ? - ref_bg_colour[com.have_dark_theme] : bg_colour[com.have_dark_theme], + ref_bg_colour[color] : bg_colour[color], COLUMN_INDEX, index, -1); /* see example at http://developer.gnome.org/gtk3/3.5/GtkListStore.html */ @@ -257,6 +260,9 @@ GtkTreeIter iter; gboolean valid; gint row_count = 0; + int color; + + color = (com.have_dark_theme || com.combo_theme == 1) ? 1 : 0; get_list_store(); valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(list_store), &iter); @@ -264,8 +270,7 @@ gtk_list_store_set(list_store, &iter, COLUMN_REFERENCE, (row_count == com.seq.reference_image) ? - ref_bg_colour[com.have_dark_theme] : bg_colour[com.have_dark_theme], - -1); + ref_bg_colour[color] : bg_colour[color], -1); row_count++; valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(list_store), &iter); } diff -Nru siril-0.9.10/src/gui/siril3.glade siril-0.9.11/src/gui/siril3.glade --- siril-0.9.10/src/gui/siril3.glade 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/siril3.glade 2019-05-27 09:16:07.000000000 +0000 @@ -176,6 +176,7 @@ + @@ -219,7 +220,12 @@ - + + True + False + gtk-add + + True False gtk-add @@ -267,9 +273,10 @@ 0.10000000000000001 10 - - 10 - 1.8 + + 0.01 + 4 + 1 0.01 10 @@ -325,8 +332,8 @@ 10 - 0.10000000000000001 - 1 + 0.050000000000000003 + 2 0.90000000000000002 0.10000000000000001 10 @@ -402,6 +409,17 @@ 0.01 10 + + 65535 + 65535 + 1 + 10 + + + 65535 + 1 + 10 + 1 50 @@ -441,57 +459,48 @@ 1 1 - - 1 + + 100 + 90 1 10 - - 1 - 1000 - 1 + + 1 1 10 - - 200 - 5 + + 100 + 90 1 10 - - 10 - 2 - 0.01 + + 100 + 90 + 1 10 - - 100 + + 1 + 1000 + 1 1 10 - - 4 + + 5 100 - 10 + 20 1 10 - - 1 - 300 - 50 + 1 10 - - 10 - 1.5 - 0.01 - 0.10000000000000001 - - 100 1 10 @@ -500,7 +509,6 @@ 10 - 100 1 10 @@ -516,6 +524,22 @@ 0.01 10 + + 1 + 10 + + + 1 + 10 + + + 1 + 10 + + + 1 + 10 + 359 300 @@ -656,6 +680,7 @@ 2 right + 1 @@ -970,11 +995,6 @@ 1 10 - - True - False - gtk-clear - False True @@ -1118,6 +1138,21 @@ 1 10 + + True + False + pixmaps/b.png + + + True + False + pixmaps/g.png + + + True + False + pixmaps/r.png + True False @@ -1154,63 +1189,36 @@ start pixmaps/histo.png - - True - False - pixmaps/histo_dark.png - True False pixmaps/mirrorx.png - - True - False - pixmaps/mirrorx_dark.png - True False pixmaps/mirrory.png - - True - False - pixmaps/mirrory_dark.png - True False pixmaps/neg.png - - True - False - pixmaps/remove1.png - True False start pixmaps/list.png - - True - False - pixmaps/list_dark.png - True False - Detect stars in the current loaded image (not sequence image) and compute PSF Detect stars in the current loaded image (not sequence image) and compute PSF pixmaps/starfinder.png True False - Average PSF parameters for selected stars Average PSF parameters for selected stars pixmaps/sum.png @@ -1283,25 +1291,25 @@ - + - + - + - + - + - + - + - + - + - + @@ -1406,6 +1414,11 @@ + + True + False + pixmaps/mtf.png + True False @@ -1413,7 +1426,12 @@ center pixmaps/siril_logo.svg - + + True + False + gtk-remove + + True False gtk-remove @@ -1435,14 +1453,8 @@ True False - Rotate 90 degrees, counter-clockwise pixmaps/rotate-acw.png - - True - False - pixmaps/rotate-acw_dark.png - True False @@ -1458,6 +1470,7 @@ + @@ -1643,7 +1656,6 @@ - @@ -1793,7 +1805,6 @@ - @@ -1946,7 +1957,6 @@ - @@ -2097,6 +2107,7 @@ rotate90_anticlock_button True False + Rotate 90 degrees, counter-clockwise True rotate90-acw @@ -2216,7 +2227,7 @@ neg_button True False - Negative view + Switch to normal and negative view True image_neg @@ -2593,41 +2604,54 @@ - + False - 5 - Background Extraction + Image Plate Solver False + center normal main_window - - + False vertical - 10 + 2 - + False end - + gtk-close True - False + True True - True - Close the window. Close the window. True - + + + + False + True + 0 + + + + + gtk-ok + True + True + True + Start the plate solving algorithm. + True + False @@ -2635,1442 +2659,419 @@ 1 + + + gtk-ok + True + True + True + Start the photometric color calibration algorithm. + True + + + + False + True + 2 + + False - True - end + False 0 - + True False vertical - 10 - + True - False - 0 - none + True + 5 + 5 + True - + True False - 12 - + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 2 + 2 + 2 + 0 + number + AdjIPS_RA_h + True + + + 1 + 1 + + + + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 2 + 2 + 2 + 0 + number + AdjIPS_RA_m + True + + + 2 + 1 + + + + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 2 + 2 + 2 + 0 + number + AdjIPS_Dec_deg + True + + + 1 + 2 + + + + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 2 + 2 + 2 + 0 + number + AdjIPS_Dec_m + True + + + 2 + 2 + + + + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 7 + 6 + 0.0000 + number + + + 3 + 1 + + + + + True + True + Initial equatorial coordinates. Input value must be inside the image. + start + 7 + 6 + 0.0000 + number + + + 3 + 2 + + + + True False - vertical - - - True - False - vertical - True - - - True - False - start - - Polynomial Interpolation - - - - - False - True - 0 - - - - - True - False - 5 - True - - - Manual - True - True - False - You must click on the picture to pick your own background samples. - True - True - - - - False - True - 0 - - - - - Automatic - True - True - False - Siril picks background samples automatically. - True - bkgButtonManual - - - False - True - 1 - - - - - gtk-clear - True - True - True - Clear background samples. - True - - - - False - True - 2 - - - - - False - True - 2 - - - - - False - True - 10 - 0 - - - - - Draw samples - True - True - False - True - True - - - - False - True - 1 - - - - - - - - - True - False - <b>Type of Extraction</b> - True - - - - - False - True - 10 - 0 - - - - - True - False - 10 - True - - - True - True - False - False - - - True - False - vertical - 10 - - - True - False - 0 - none - - - True - False - 12 - - - True - False - 10 - True - True - - - True - False - start - Box radius: - - - 0 - 0 - - - - - True - False - start - Box separation: - - - 0 - 1 - - - - - True - True - This is the distance in pixels between two adjacent background sample boxes. - 6 - number - adjustment_bkg_Box_sep - 1 - True - True - 5 - - - 1 - 1 - - - - - True - True - This is the radius in pixels of a background sample box. Multiply by 2 to have the length of a box. - 6 - 3 - number - adjustment_bkg_size_box - 1 - True - True - 50 - - - 1 - 0 - - - - - - - - - True - False - Sample Generation - - - - - - - - False - True - 0 - - - - - True - False - 0 - none - - - True - False - 12 - - - True - False - True - - - True - False - start - Tolerance: - - - 0 - 0 - - - - - True - True - This parameter indicates the tolerance of local sample rejection, in sigma units. - 6 - number - adjustment_bkg_tolerance - 0.01 - 3 - True - 1 - - - 1 - 0 - - - - - - - - - True - False - Local Rejection - - - - - - - - False - True - 1 - - - - - True - False - 0 - none - - - True - False - 12 - - - True - False - 10 - True - - - True - False - start - Deviation: - - - 0 - 0 - - - - - True - True - Tolerance of global sample rejection, in sigma units. - 6 - number - adjustment_bkg_deviation - 0.01 - 3 - True - 0.80000000000000004 - - - 1 - 0 - - - - - True - False - start - Unbalance: - - - 0 - 1 - - - - - True - True - This is the factor multiplied by the deviation parameter in order to include more dark pixels in the background evaluation. - 6 - number - adj_bkg_unbalance - 0.01 - 3 - True - 1.8 - - - 1 - 1 - - - - - - - - - True - False - Global Rejection - - - - - - - - False - True - 2 - - - - - - - True - False - page 1 - - - False - - - - - True - False - vertical - 10 - - - True - False - 0 - none - - - True - False - 12 - - - True - False - 10 - True - - - True - False - start - Box radius: - - - 0 - 0 - - - - - True - False - start - Samples per row: - - - 0 - 1 - - - - - True - True - This is the number of sample box in a row. - 5 - adjustment_bkg_s_p_row - 1 - True - True - 10 - - - 1 - 1 - - - - - - - - - - - - True - False - Sample Generation - - - - - - - - False - True - 0 - - - - - True - False - 0 - none - - - True - False - 12 - - - True - False - 10 - True - - - True - False - start - Tolerance: - - - 0 - 0 - - - - - True - True - This parameter indicates the tolerance of local sample rejection, in sigma units. - 1,00 - adjustment_bkg_tolerance - 0.01 - 3 - True - True - 1.5 - - - 1 - 0 - - - - - - - - - True - False - Local Rejection - - - - - - - - False - True - 1 - - - - - True - False - 0 - none - - - True - False - 12 - - - True - False - 10 - True - - - True - False - start - Deviation: - - - 0 - 0 - - - - - True - True - Tolerance of global sample rejection, in sigma units. - 0,80 - adjustment_bkg_deviation - 0.01 - 3 - True - True - 2 - - - 1 - 0 - - - - - True - True - This is the factor multiplied by the deviation parameter in order to include more dark pixels in the background evaluation - adj_bkg_unbalance - 0.01 - 3 - True - 1.8 - - - 1 - 1 - - - - - True - False - start - Unbalance: - - - 0 - 1 - - - - - - - - - True - False - Global Rejection - - - - - - - - False - True - 2 - - - - - 1 - - - - - True - False - page 2 - - - 1 - False - - - - - False - True - 0 - - - - - True - False - True - vertical - 10 - - - True - False - 0 - none - - - True - False - 12 - - - True - False - True - - - True - False - start - Degree Order: - - - False - True - 0 - - - - - True - False - Choose the degree order of the polynomial function used in the fit. -By default the value is of 4. -The higher the degree order is, the stronger the gradient can be remove. - center - 0 - - 1 - 2 - 3 - 4 - - - - False - True - 1 - - - - - - - - - True - False - Interpolation - - - - - - - - False - True - 0 - - - - - True - False - False - end - 0 - none - - - True - False - 12 - - - True - False - vertical - 10 - True - - - Show Image - True - True - False - True - Click on this button to show the image. - Click on this button to show the image. - start - True - True - - - - False - True - 0 - - - - - Show Background - True - True - False - True - Click on this button to show the background computed. - Click on this button to show the background computed. - start - True - radiobutton_bkg_img - - - False - True - 1 - - - - - True - False - Choose the type of correction you want apply: -Subtraction: it is mainly used to correct additive effects, such as gradients caused by light pollution or by the Moon. -Division: it is mainly used to correct multiplicative phenomena, such as vignetting or differential atmospheric absorption for example. However, this kind of operation should be done by master-flat correction. - center - 0 - - Subtraction - Division - - - - False - True - 2 - - - - - - - - - True - False - <b>Correction</b> - True - - - - - False - True - 1 - - - - - False - True - 1 - - - - - False - True - 2 - - - - - True - False - True - - - Compute - True - True - True - This will compute the synthetic background. - 20 - 20 - - - - False - True - 0 - - - - - Apply - True - False - True - True - This will apply the selected correction. - center - 20 - 20 - - - - False - True - 2 - - - - - False - True - 3 - - - - - True - True - 1 - - - - - - button_bkg_extract_close - - - - False - Image Plate Solver - False - center - normal - main_window - - - - - - - - - - False - vertical - 2 - - - False - end - - - gtk-close - True - True - True - Close the window. - True - - - - False - True - 0 - - - - - gtk-ok - True - True - True - Start the plate solving algorithm. - True - - - - False - True - 1 - - - - - False - False - 0 - - - - - True - False - vertical - - - True - False - 0 - none - - - True - False - 12 - - - True - False - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 2 - 2 - 2 - 0 - number - AdjIPS_RA_h - True - - - 1 - 1 - - - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 2 - 2 - 2 - 0 - number - AdjIPS_RA_m - True - - - 2 - 1 - - - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 2 - 2 - 2 - 0 - number - AdjIPS_Dec_deg - True - - - 1 - 2 - - - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 2 - 2 - 2 - 0 - number - AdjIPS_Dec_m - True - - - 2 - 2 - - - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 7 - 6 - 0.0000 - number - - - 3 - 1 - - - - - True - True - Initial equatorial coordinates. Input value must be inside the image. - start - 7 - 6 - 0.0000 - number - - - 3 - 2 - - - - - True - False - Right Ascension: - - - 0 - 1 - - - - - True - False - Declination: - - - 0 - 2 - - - - - S - True - True - False - This button is checked for negative declination (southern hemisphere). - start - True - - - 4 - 2 - - - - - True - True - Enter the identifier or the name of the object which must be in the image. - center - edit-find-symbolic - False - False - - - - 0 - 0 - - - - - gtk-find - True - True - True - Start searching. - True - True - - - - 1 - 0 - - - - - True - True - Effective focal length of the optical system in millimeter. Even if the input value has not to be very accurate, try to give a value with an error not exceeding 20%. - start - 10 - 1000 - number - - - - 1 - 5 - - - - - True - True - Pixel size in micrometer. The image is assumed to have square pixels. - start - 10 - 5.00 - number - - - - 1 - 6 - - - - - True - False - Focal distance (mm): - - - 0 - 5 - - - - - True - False - Pixel size (µm): - - - 0 - 6 - - - - - True - False - end - center - Resolution: - - - 2 - 5 - 2 - - - - - True - False - True - The resolution of the image that is automatically determined from the focal and pixel size value. - start - center - False - 7 - 1.031 - number - - - 3 - 5 - 2 - - - - - Get Metadata From Image - True - True - True - Click on this button to get focal and pixel size value from the header of the file if they exist. - start - center - - - - 0 - 7 - 4 - - - - - True - False - 10 - 10 - - - 0 - 4 - 5 - - + Right Ascension: + + + 0 + 1 + + + + + True + False + Declination: + + + 0 + 2 + + + + + S + True + True + False + This button is checked for negative declination (southern hemisphere). + start + True + + + 4 + 2 + + + + + True + True + Enter the identifier or the name of the object which must be in the image. + center + edit-find-symbolic + False + False + + + + 0 + 0 + + + + + gtk-find + True + True + True + Start searching. + True + True + + + + 1 + 0 + + + + + True + True + Effective focal length of the optical system in millimeter. Even if the input value has not to be very accurate, try to give a value with an error not exceeding 20%. + start + 10 + 1000.0 + number + + + + + 1 + 5 + + + + + True + True + Pixel size in micrometer. The image is assumed to have square pixels. + start + 10 + 5.00 + number + + + + + 1 + 6 + + + + + True + False + Focal distance (mm): + + + 0 + 5 + + + + + True + False + Pixel size (µm): + + + 0 + 6 + + + + + True + False + end + center + Resolution: + + + 2 + 5 + 2 + + + + + True + True + The resolution of the image that is automatically determined from the focal and pixel size value. + start + center + False + False + 7 + 1.031 + number + + + 3 + 5 + 2 + + + + + Get Metadata From Image + True + True + True + Click on this button to get focal and pixel size value from the header of the file if they exist. + start + center + + + + 0 + 7 + 4 + + + + + True + False + 10 + 10 + + + 0 + 4 + 5 + + + + + 140 + True + True + in - - 140 + True True - in + liststoreIPS + 0 + + + + - - True - True - liststoreIPS - 0 - - - - + + Resolver - - Resolver - - - - 0 - - - + + + 0 + + + + + + Name - - Name - - - - 1 - - - + + + 1 + - - 0 - 3 - 5 - - - - - - - - - - - - - - - - - - - - - - + + 0 + 3 + 5 + + + + + + + + + + + + + + + + + + + + + + - + True False - 10 - 10 - <b>Image Parameters</b> - True + Image Parameters + + + @@ -4081,176 +3082,376 @@ - + True - False - 0 - none + True + 5 + 5 + True - + True False - 12 - + True False - - - True - False - Catalogue Limit Mag: - - - 0 - 1 - - - - - True - False - True - Maximum star magnitude used in the catalog queries. Wider is the field, lower is the value. - start - AdjIPS_Mag_Limit - 12 - - - 1 - 1 - - - - - Auto - True - True - False - The limit magnitude is automatically determined using the approximation of the Field Of View. - start - True - True - - - - 2 - 1 - - - - - True - False - Online Star Catalogue: - - - 0 - 0 - - - - - True - False - False - Choose the online catalogue against one want to compare the image. + start + Catalogue Limit Mag: + + + 0 + 1 + + + + + True + False + True + Maximum star magnitude used in the catalog queries. Wider is the field, lower is the value. + start + 12 + AdjIPS_Mag_Limit + 12 + + + 1 + 1 + + + + + Auto + True + True + False + The limit magnitude is automatically determined using the approximation of the Field Of View. + start + True + True + + + + 2 + 1 + + + + + True + False + start + Online Star Catalogue: + + + 0 + 0 + + + + + True + False + False + Choose the online catalogue against one want to compare the image. * TYCHO-2 catalogue contains positions, proper motions, and two-color photometric data for 2,539,913 of the brightest stars in the Milky Way. -* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC-2 and USNO-B1 catalogues, supplemented by photometric information from the 2MASS final release point source catalogue. +* NOMAD is a simple merge of data from the Hipparcos, Tycho-2, UCAC2, Yellow-Blue 6, and USNO-B catalogs for astrometry and optical photometry, supplemented by 2MASS near-infrared. The almost 100 GB dataset contains astrometric and photometric data for about 1.1 billion stars. * Gaia Data Release 2 was released on 25 April 2018. The five-parameter astrometric solution, positions on the sky (α, δ), parallaxes, and proper motions, are given for more than 1.3 billion sources, with a limiting magnitude of G = 21. * PPMXL is a catalog of positions, proper motions, 2MASS- and optical photometry of 900 million stars and galaxies. * The Bright Star Catalogue is a star catalogue that lists all stars of stellar magnitude 6.5 or brighter, which is roughly every star visible to the naked eye from Earth. The catalog contains 9,110 objects. - 1 - - TYCHO2 - NOMAD - Gaia DR2 - PPMXL - Bright stars - + 1 + + TYCHO2 + NOMAD + Gaia DR2 + PPMXL + Bright stars + + + + 1 + 0 + + + + + Auto + True + True + False + The online catalogue is automatically determined using the approximation of the Field Of View and magnitude. + start + True + True + + + + 2 + 0 + + + + + + + True + False + Catalogue Parameters + + + + + + + + False + True + 1 + + + + + True + True + 5 + 5 + True + + + Manual detection + True + True + False + Check this option if you want to pick each stars manually. It could be useful in some cases where Siril can't find enough stars. Please, try to choose the brightest stars in the image. + start + True + + + + + True + False + Star Detection + + + + + + + + False + True + 2 + + + + + True + True + 5 + 5 + + + True + False + vertical + + + Automatic detection + True + True + False + Uncheck this button if you want to select the background reference by yourself. It could be useful when nebulae almost cover the whole image. + start + True + True + + + + False + True + 0 + + + + + True + False + False + True + + + True + False + 5 + 5 + True + + + True + True + x coordinate of the start of the background selection + False + 6 + 0 + number + adjustment_cc_bkg_x + True + + + 0 + 1 + + + + + True + True + y coordinate of the start of the background selection + False + 6 + 0 + number + adjustment_cc_bkg_y + True + + + 1 + 1 + + + + + True + True + Width of the background selection + False + 6 + 0 + number + adjustment_cc_bkg_w + True + + + 0 + 2 + + + + + True + True + Height of the background selection + False + 6 + 0 + number + adjustment_cc_bkg_h + True + + + 1 + 2 + + + + + True + False + Selected area + + + 0 + 0 + 2 + + - 1 - 0 + False + True + 0 - - Auto + + Use current selection True True - False - The online catalogue is automatically determined using the approximation of the Field Of View and magnitude. - start - True - True - + True + You must specify a selection that represents the true background of the image, trying to exclude all stars or other stellar objects. + center + center + - 2 - 0 + False + True + 2 + + False + True + 1 + - + True False - 10 - 10 - <b>Catalogue Parameters</b> - True + Background Reference + + + False True - 1 + 3 - + True - False - 0 - none + True + 5 + 5 - + True False - 12 - - - Manual detection - True - True - False - Check this option if you want to pick each stars manually. It could be useful in some cases where Siril can't find enough stars. Please, try to choose the brightest stars in the image. - start - True - - + This option determines on which channel the factors are normalized. + start + 1 + + On highest + On middle + On lowest + - + True False - 10 - 10 - <b>Star detection</b> - True + Channel Factor Normalisation + + + False True - 2 + 4 @@ -4580,233 +3781,572 @@ True in - + + True + True + True + True + liststoreStat + + + + + + 100 + + + + 4 + 0 + + + + + + + 100 + Red + + + + 4 + 1 + + + + + + + 100 + Green + + + + 4 + 2 + + + + + + + 100 + Blue + + + + 4 + 3 + + + + + + + + + True + True + 3 + + + + + + + 400 + False + 5 + Asinh Transformation + False + True + center + normal + main_window + + + + + + + + + + + False + vertical + 10 + + + False + end + + + gtk-cancel + True + True + True + True + + + + False + True + 1 + + + + + gtk-apply + True + True + True + True + + + + False + True + 2 + + + + + False + True + end + 2 + + + + + True + False + + + True + False + start + Stretch factor: + + + 0 + 0 + + + + + True + True + The parameter stretch factor allows to adjust the non-linearity factor. + True + adjustment_asinh + 1 + right + + + + + 1 + 0 + + + + + True + False + start + Black Point: + + + 0 + 1 + + + + + True + True + Constant value that is subtracted from the image. + True + adj_black_point_asinh + 5 + 5 + right + + + + + 1 + 1 + + + + + Use RGB working space True True - True - True - liststoreStat - - - - - - 100 - - - - 4 - 0 - - - - - - - 100 - Red - - - - 4 - 1 - - - - - - - 100 - Green - - - - 4 - 2 - - - - - - - 100 - Blue - - - - 4 - 3 - - - - + False + True + + + 1 + 2 + + + + - True + False True - 3 + 0 + + asinh_Apply + - - 400 + False - 5 - Asinh Transformation + Background Extraction False - True center normal main_window - - + + + - + False vertical - 10 + 2 False end - - gtk-cancel + + gtk-close True True True + Close the window. True - + + + + False + True + 0 + + + + + gtk-apply + True + True + True + This will compute the synthetic background and will apply the selected correction. + True + + + + True + True + 1 + + + + + False + False + 0 + + + + + 400 + True + False + 0 + none + + + True + False + 12 + + + True + False + vertical + 10 + + + True + False + 5 + True + + + True + False + start + Degree order: + + + 0 + 0 + + + + + True + False + Choose the degree order of the polynomial function used in the fit. +By default the value is of 4. +The higher the degree order is, the more complex the gradient can be removed. + 3 + + 1 + 2 + 3 + 4 + + + + 1 + 0 + + + + + True + False + start + Samples per line: + + + 0 + 1 + + + + + True + True + Number of sample per line that will be automatically placed. + digits + adjustment_background_nb_samples + True + 20 + + + 1 + 1 + + + + + True + True + Tolerance of global sample rejection, in sigma units. By decreasing this value, Siril will be more restrictive to select background samples. + adj_background_nb_samples + 1 + 2 + right + + + 1 + 2 + + + + + True + False + start + Tolerance: + + + 0 + 2 + + + + + False + True + 0 + + + + + True + False + + + Generate + True + True + True + Click here to generate the automatically defined samples. + center + center + + + + False + True + 0 + + + + + gtk-clear + True + True + True + Click here to clear all the samples. + center + center + True + + + + False + True + end + 1 + + + + + False + True + 1 + + + + + True + False + You also can set samples manually. +Left click adds samples while right click removes them. + + + False + True + 2 + + + + - - False - True - 1 - - - - gtk-apply + + True - True - True - True - + False + Polynomial interpolation + + + - - False - True - 2 - False True - end - 2 + 0 - + True False + 0 + none - + True False - start - Stretch factor: - - - 0 - 0 - - - - - True - True - The parameter stretch factor allows to adjust the non-linearity factor. - True - adjustment_asinh - 1 - right - + 12 + + + True + False + 10 + + + True + False + start + Correction: + + + False + True + 0 + + + + + 210 + True + False + Choose the type of correction you want apply: +Subtraction: it is mainly used to correct additive effects, such as gradients caused by light pollution or by the Moon. +Division: it is mainly used to correct multiplicative phenomena, such as vignetting or differential atmospheric absorption for example. However, this kind of operation should be done by master-flat correction. + start + start + 0 + + Subtraction + Division + + + + False + True + 1 + + + + - - 1 - 0 - - - + + True False - start - Black Point: - - - 0 - 1 - - - - - True - True - Constant value that is subtracted from the image. - True - adj_black_point_asinh - 5 - 5 - right - - - - 1 - 1 - - - - - Use RGB working space - True - True - False - True - + Correction + + + - - 1 - 2 - - - - False True - 0 + 2 - - asinh_Apply - 300 @@ -5035,7 +4575,6 @@ False Image compositing - True normal main_window @@ -5845,7 +5384,6 @@ 300 False 5 - True normal main_window @@ -6089,123 +5627,6 @@ deconvolution_Apply - - False - 5 - Siril message - False - True - center - dialog - main_window - - - - - - - False - vertical - 2 - - - False - end - - - gtk-ok - True - True - True - True - True - - - - False - True - 1 - - - - - False - True - end - 2 - - - - - True - False - - - True - False - start - 6 - 6 - gtk-dialog-warning - 6 - - - 0 - 0 - - - - - True - False - center - start - 6 - 6 - True - msg - True - True - - - 1 - 0 - - - - - False - True - 0 - - - - - 200 - True - True - in - - - True - True - False - False - - - - - True - True - 1 - - - - - - button4 - - False 5 @@ -6299,31 +5720,19 @@ 0 - 1 - - - - - True - False - start - Order: - - - 0 - 2 + 1 - + True False start - Type: + Order: 0 - 3 + 2 @@ -6351,62 +5760,17 @@ - - True - False - vertical - - - Centered - True - False - False - start - True - True - - - False - True - 0 - - - - - Normal - True - False - False - start - True - True - fft_centered - - - False - True - 1 - - - - - 1 - 2 - - - - - Polar (Magnitude + Phase) + + Centered True - False + True False - start True True 1 - 3 + 2 @@ -6856,7 +6220,6 @@ False Histograms True - True main_window @@ -6984,6 +6347,7 @@ 7 False False + @@ -7056,7 +6420,6 @@ True False - 4 histoToolRed @@ -7065,8 +6428,8 @@ Red channel center center - R True + histo_red True @@ -7083,8 +6446,8 @@ Green channel center center - G True + histo_green @@ -7100,8 +6463,8 @@ Blue channel center center - B True + histo_blue @@ -7168,9 +6531,8 @@ True False Apply autostretch algorithm to image - autoStretch True - gtk-execute + mtf @@ -7355,6 +6717,7 @@ True False + 10 end @@ -7805,7 +7168,6 @@ center dialog True - True main_window @@ -8502,7 +7864,8 @@ False True center - normal + dialog + True main_window @@ -8518,14 +7881,14 @@ False end - + gtk-apply True True True True True - + False @@ -8545,300 +7908,293 @@ True True + left - + True False + 20 + 20 - + True False - vertical + 10 + 0 + none - + True False - 0 - none + 12 - + True False - 12 + vertical + 10 - + + Use automatic daylight multiplier True + True + False + When this option is enabled, coefficients for each channel are automatically computed. You can choose your own multiplier by unchecking this box. + start + True + True + + + + False + True + 1 + + + + + True + False False - vertical + start + True - - Use automatic daylight multiplier + True - True - False - When this option is enabled, coefficients for each channel are automatically computed. You can choose your own multiplier by unchecking this box. + False start - True - True - + Red + center False - True + False + 0 + + + + + True + True + True + Specify your own raw white balance. The value for the Red scale is relative to the Green. + Specify your own raw white balance. The value for the Red scale is relative to the Green. + + 5 + 1,00 + 0.0099999997764825821 + number + adjustment_red + 0.001 + 2 + True + 1 + + + False + False 1 + + + False + True + 2 + + + + + True + False + False + start + True - + True - False False start - True - - - True - False - start - Red - center - - - False - False - 0 - - - - - True - True - True - Specify your own raw white balance. The value for the Red scale is relative to the Green. - Specify your own raw white balance. The value for the Red scale is relative to the Green. - - 5 - 1,00 - 0.0099999997764825821 - number - adjustment_red - 0.001 - 2 - True - 1 - - - False - False - 1 - - + Blue + center False - True - 2 + False + 0 - + True - False - False - start - True - - - True - False - start - Blue - center - - - False - False - 0 - - - - - True - True - True - Specify your own raw white balance. The value for the Blue scale is relative to the Green. - Specify your own raw white balance. The value for the Blue scale is relative to the Green. - - 5 - 1,00 - 0.0099999997764825821 - number - adjustment_blue - 0.01 - 2 - True - 1 - - - False - False - 1 - - + True + True + Specify your own raw white balance. The value for the Blue scale is relative to the Green. + Specify your own raw white balance. The value for the Blue scale is relative to the Green. + + 5 + 1,00 + 0.0099999997764825821 + number + adjustment_blue + 0.01 + 2 + True + 1 False - True - 3 + False + 1 + + + False + True + 3 + + + + + True + False + start + True - + True False start - True - - - True - False - start - Brightness - center - - - False - False - 0 - - - - - True - True - True - Divide the white level by this number. - Divide the white level by this number. - - 5 - 1,00 - 0.0099999997764825821 - number - adjustment_brightness - 0.01 - 2 - True - 1 - - - False - False - 1 - - + Brightness + center False - True - 4 + False + 0 - - No black point correction + True True - False - When this option is enabled, no black point correction is applied to raw images. - start - True + True + Divide the white level by this number. + Divide the white level by this number. + + 5 + 1,00 + 0.0099999997764825821 + number + adjustment_brightness + 0.01 + 2 + True + 1 False - True - 5 + False + 1 + + False + True + 4 + + + + + No black point correction + True + True + False + When this option is enabled, no black point correction is applied to raw images. + start + True + + + False + True + 5 + - - - - - True - False - 10 - 10 - <b>Image Color Adjustement</b> - True - - False - True - 0 - + + + True + False + 10 + 10 + <b>Image Color Adjustement</b> + True + + + + + 0 + 0 + + + + + True + False + 10 + 0 + none - + True False - 0 - none + 12 - - True - False - 12 - - - True - False - Select an interpolation method to perform demosaicing before opening image. - start - center - 1 - - High-speed, low-quality bilinear - Adaptive Homogeneity-Directed (AHD) - Variable Number of Gradients (VNG) - Patterned Pixel Grouping (PPG) - - - - - - - + True False - 10 - 10 - Image Matrix Interpolation - - - + Select an interpolation method to perform demosaicing before opening image. + start + center + 1 + + High-speed, low-quality bilinear + Adaptive Homogeneity-Directed (AHD) + Variable Number of Gradients (VNG) + Patterned Pixel Grouping (PPG) + - - False - True - 1 - + + + + True + False + 10 + 10 + Image Matrix Interpolation + + + + - False - True - 0 + 0 + 1 - + True False + 10 vertical @@ -8856,6 +8212,7 @@ True False vertical + 20 Linear @@ -8903,542 +8260,331 @@ False - True - 3 - - - - - - - - - True - False - 10 - 10 - <b>Image Gamma Correction</b> - True - - - - - False - True - 0 - - - - - True - False - 0 - none - - - True - False - 12 - - - True - False - vertical - - - Use the white balance -specified by the camera - True - True - False - By default, libraw uses a fixed white balance based on a color chart illuminated with a standard D65 lamp. If you check this box, libraw will try to use data specified by your camera. - start - True - - - - True - True - 0 - - - - - Calculate the white balance -by averaging the entire image - True - True - False - By default, libraw uses a fixed white balance based on a color chart illuminated with a standard D65 lamp. If you check this box, libraw will compute the white balance by averaging the entire image. - start - True - - - - True - True - 1 - - - - - - - - - True - False - 10 - 10 - Image White Balance - - - - - - - - False - True - 1 - - - - - False - True - 1 - - - - - - - True - False - DSLR RAW file format decoder based on the libraw library. - DSLR RAW debayer - - - False - - - - - True - False - vertical - - - True - False - 0 - none - - - True - False - 12 - - - True - False - start - 4 - - - True - False - Select your camera's Bayer pattern. - start - Bayer/mosaic pattern: - - - 0 - 1 - - - - - True - False - Select your camera's Bayer pattern. - start - 0 - - RGGB - BGGR - GBRG - GRBG - - - - - 1 - 1 - - - - - True - False - Select an interpolation method to perform demosaicing. - start - Debayer interpolation: - - - 0 - 2 - - - - - True - False - Select an interpolation method to perform demosaicing. - start - 0 - - Bilinear - Nearest Neighbor - VNG - AHD - Super Pixel - - - - - 1 - 2 - - - - - Bayer pattern from file's header if available - True - True - False - If this box is checked, Siril will automatically apply the Bayer pattern found in the file's header. If the result looks wrong uncheck this box and choose manually your pattern in the Debayer box below. - start - True - - - 0 - 0 - 2 - - - - - Ensure compatibility with images stored -in up-bottom orientation (KSTARS/EKOS, -PixInsight, and probably others ...) - True - True - False - If this box is checked, Siril will try to ensure KSTARS (and PixInsight or others) compatibility by reading FITS image in up-bottom order. - start - True - - - 0 - 3 - - - - + True + 3 + + + + + + True + False + 10 + 10 + <b>Image Gamma Correction</b> + True + + + + False + True + 0 + - - + + True False - 10 - 10 - Debayer - True - - - + 0 + none + + + True + False + 12 + + + True + False + vertical + 10 + + + Use the white balance +specified by the camera + True + True + False + By default, libraw uses a fixed white balance based on a color chart illuminated with a standard D65 lamp. If you check this box, libraw will try to use data specified by your camera. + start + True + + + + True + True + 0 + + + + + Calculate the white balance +by averaging the entire image + True + True + False + By default, libraw uses a fixed white balance based on a color chart illuminated with a standard D65 lamp. If you check this box, libraw will compute the white balance by averaging the entire image. + start + True + + + + True + True + 1 + + + + + + + + + True + False + 10 + 10 + Image White Balance + + + + + + + False + True + 1 + - False - True - 1 + 1 + 0 + 2 - - 1 - - + True False - Other debayer + DSLR RAW file format decoder based on the libraw library. + DSLR RAW debayer + center + True - 1 False - + True False - 20 + 10 + 0 + none - - True - False - start - 0 - none - - - True - False - 12 - - - True - False - start - 10 - - - True - False - start - Focal length (mm): - - - 0 - 0 - - - - - True - False - start - Pixel X dim. (micron): - - - 0 - 1 - - - - - gtk-clear - True - True - True - Clear all the fields. If you save your image after, the header will not contain any data about the focal or sensor size. - start - True - - - - 1 - 5 - - - - - True - True - If the Pixel Y size is not automatically loaded, using file's header, you can update the field by yourself. - end - - - - - 1 - 2 - - - - - True - False - start - Pixel Y dim. (micron): - - - 0 - 2 - - - - - True - False - start - Binning: - - - 0 - 4 - - - - - True - False - False - If the binning is not automatically loaded, using file's header, you can update this combo box. - start - 0 - - 1x1 - 2x2 - 3x3 - 4x4 - 1x2 - 1x3 - 2x1 - 3x1 - - - - - 1 - 4 - - - - - False - start - True - FWHM will be converted into arcsec - - - - - - 0 - 5 - - - - - True - True - If the focal length is not automatically loaded, using file's header, you can update the field by yourself. - end - True - - - - - 1 - 0 - - - - - True - True - If the Pixel X size is not automatically loaded, using file's header, you can update the field by yourself. - end - - - - - 1 - 1 - - - - - Binning is not in the pixel size value - True - True - False - Check this button if binning is not taken into account in the pixel size value. In this case, the binning value in the combo box below will be used. - True - - - - 0 - 3 - 2 - - - - - - - - + + True + False + 12 + + True False - 10 - 10 - <b>Camera and Optics</b> - True - True + start + 20 + 20 + + + Bayer pattern from file's header if available + True + True + False + If this box is checked, Siril will automatically apply the Bayer pattern found in the file's header. If the result looks wrong uncheck this box and choose manually your pattern in the Debayer box below. + start + True + + + 0 + 0 + 2 + + + + + Debayer in up-bottom orientation + True + True + False + Siril read FITS data in the bottom-up orientation. If capture software stored data in up-bottom orientation (as they usual do), you need to check this box in order to debayer the file in the right orientation. + start + True + + + 0 + 5 + 2 + + + + + Stretch CFA FITS from DSLR to 16-bit + True + True + False + If the RAW data comes from DSLR camera and if normalisation information was storred in the FITS header, then checking this option will stretch the image to 16-bit. + start + True + True + + + 0 + 4 + 2 + + + + + True + False + Due to algorithm constraints more complex demosaicing algorithms cannot be used in the rejection stacking. Our tests also showed that there is no gain in quaity when many images are used, while processing time increases 20-fold. + start + center + Warning: For SER on-the-fly demosaicing, the bilinear algorithm is always used. + fill + True + 40 + + + + + + + 0 + 3 + 2 + + + + + True + False + Select your camera's Bayer pattern. + start + Bayer/mosaic pattern: + + + 0 + 1 + + + + + True + False + Select your camera's Bayer pattern. + start + 0 + + RGGB + BGGR + GBRG + GRBG + + + + + 1 + 1 + + + + + True + False + Select an interpolation method to perform demosaicing. + start + Debayer interpolation: + + + 0 + 2 + + + + + True + False + Select an interpolation method to perform demosaicing. + start + 0 + + Bilinear + Nearest Neighbor + VNG + AHD + Super Pixel + + + + + 1 + 2 + + - - 0 - 0 - - - + + True False - 15 - 15 - 4 - WARNING: these fields are automatically read from FITS file on opening and setting them here will only work for the currently loaded file. - True - 0 + 10 + 10 + Debayer + True - + - - 0 - 1 - - 2 + 1 - + True False - Camera & Optics + Other debayer + center + True - 2 + 1 False - + True False - vertical + 20 - + True False + 10 0 none @@ -9459,6 +8605,7 @@ A/D converter gain in electrons per ADU. Default value is 2.300. start 9 + 2.30000 number adjGain 5 @@ -9501,15 +8648,15 @@ - False - True - 0 + 0 + 1 - + True False + 10 0 none @@ -9522,6 +8669,7 @@ True False start + 20 4 @@ -9532,7 +8680,7 @@ 0 - 1 + 0 @@ -9544,7 +8692,7 @@ 0 - 2 + 1 @@ -9554,15 +8702,17 @@ Inner radius of the annulus used to measure local background. Default value is 20.00. start 7 + 20.00 number adjInner 2 True 20 + 1 - 1 + 0 @@ -9572,27 +8722,17 @@ Outer radius of the annulus used to measure local background. Default value is 30.00. start 7 + 30.00 number adjOuter 2 True 30 + 1 - 2 - - - - - True - False - Size of the annulus for background level measurement (pixels): - - - 0 - 0 - 2 + 1 @@ -9605,7 +8745,7 @@ False 10 10 - Background + Background Annulus True @@ -9614,9 +8754,8 @@ - False - True - 1 + 0 + 0 @@ -9627,17 +8766,125 @@ True Restore the defaut parameters start + center + 10 - False - True - 2 + 0 + 2 + + + + + framephotorange + True + False + 10 + 0 + none + + + True + False + 12 + + + True + False + start + 20 + 4 + + + True + False + start + Min. pixel value: + + + 0 + 0 + + + + + True + False + start + Max. pixel value: + + + 0 + 1 + + + + + True + True + Bad pixels have value equal to or less than. + start + 7 + 0 + number + adjminpxval + True + + + 1 + 0 + + + + + True + True + Overexposed pixels have value equal to or greater than. + start + 7 + 65535 + number + adjmaxpxval + True + 65535 + + + 1 + 1 + + + + + + + + + True + False + 10 + 10 + Pixel Value Range + + + + + + + + 1 + 0 + + + + + + - 3 + 2 @@ -9645,9 +8892,11 @@ True False Photometry + center + True - 3 + 2 False @@ -9655,12 +8904,13 @@ True False - 5 + 20 5 True False + 10 0 none @@ -9669,41 +8919,43 @@ False 12 - + True False - 5 + start + vertical - - Restore to Default + True - True - True - Restore the defaut swap storage directory + False + Select an existing directory. Make sure you have write permissions and enough spaces. + start center - + select-folder + Select Swap Directory + - 0 - 1 - 2 + False + True + 0 - + + Restore to Default True - False - Select an existing directory. Make sure you have write permissions and enough spaces. + True + True + Restore the defaut swap storage directory start center - select-folder - Select Swap Directory - + - 0 - 0 - 2 + False + True + 1 @@ -9731,54 +8983,33 @@ True False + start + 10 0 none True False + start + center 12 - + True - False - center - - - True - False - center - Ratio of Available Memory Used: - - - False - True - 0 - - - - - True - True - The memory used corresponds to this value times the total of available memory. -WARNING: Reducing the ratio of memory allocated to computation will degrade performances. - center - center - 4 - number - adj_mem - 0.050000000223517416 - 1 - True - 0.90000000000000002 - - - - False - False - 1 - - + True + Sets a new ratio of free memory on memory used for stacking. Value should be between 0.05 and 2, depending on other activities of the machine. A higher ratio should allow siril to stack faster, but setting the ratio of memory used for stacking above 1 will require the use of on-disk memory, which is very slow and unrecommended + start + center + 5 + 0,9 + number + adj_mem + 0.050000000223517416 + 2 + True + 0.90000000000000002 + @@ -9789,7 +9020,7 @@ False 10 10 - <b>Memory Managment</b> + <b>RAM Ratio</b> True True @@ -9804,6 +9035,7 @@ True False + 10 0 none @@ -9815,10 +9047,13 @@ True False + start + center True False + center Type of extension: @@ -9872,12 +9107,14 @@ True False + 10 0 none True False + start 12 @@ -9886,7 +9123,7 @@ True False start - start + center True @@ -9899,7 +9136,7 @@ False 10 10 - <b>Confirmation dialog</b> + <b>Confirmation Dialog</b> True True @@ -9907,13 +9144,14 @@ 1 - 1 + 2 True False + 10 0 none @@ -9925,19 +9163,23 @@ True False + start + center vertical 10 - - Using dark GTK theme -(may require restarting) + True - True - False - Some dialogs of Siril have non-standard bright colours. With a dark theme, where the text is bright too, that's unreadable. Checking here will change these non-standard colours to dark. + False + Change the theme of the interface. start - True - + 0 + + Automatic + Dark theme + Light theme + + False @@ -9952,6 +9194,7 @@ True False Remember positions of image displaying windows. This feature may not work on all architectures. + start True @@ -9971,20 +9214,21 @@ False 10 10 - <b>Look and feel</b> + <b>Look and Feel</b> True 1 - 2 + 1 True False + 10 True 0 none @@ -10004,6 +9248,7 @@ True True The paths written in this text box will be checked in order to load scripts that have been put inside. Write a path per line with as many lines you want. However you have to keep in mind that more paths are cheked the longer is the startup. + True @@ -10029,7 +9274,7 @@ - 4 + 3 @@ -10037,9 +9282,11 @@ True False Misc. + center + True - 4 + 3 False @@ -10053,11 +9300,11 @@ - close_settings_button + apply_settings_button - 650 + 800 False 5 Dynamic PSF @@ -10122,18 +9369,19 @@ natural natural liststore_stars - False + True True 0 False horizontal - + + fixed Ch. 0.5 @@ -10146,9 +9394,13 @@ + autosize B True + True 0.5 + True + 1 right @@ -10161,9 +9413,13 @@ + autosize A True + True 0.5 + True + 2 right @@ -10176,10 +9432,13 @@ - True + autosize x0 True + True 0.5 + True + 3 right @@ -10192,10 +9451,13 @@ - True + autosize y0 True + True 0.5 + True + 4 right @@ -10208,10 +9470,13 @@ - True + autosize FWHMx True + True 0.5 + True + 5 right @@ -10227,7 +9492,10 @@ autosize FWHMy True + True 0.5 + True + 6 right @@ -10242,7 +9510,10 @@ autosize Mag + True 0.5 + True + 7 right @@ -10255,9 +9526,13 @@ + autosize r True + True 0.5 + True + 8 right @@ -10270,9 +9545,13 @@ + autosize Angle True + True 0.5 + True + 9 right @@ -10285,9 +9564,13 @@ + autosize RMSE True + True 0.5 + True + 10 right @@ -10317,6 +9600,7 @@ True False + Changes of these three values should be tested on one representative image before using them for registration. 12 @@ -10344,9 +9628,9 @@ True True - Threshold value above the noise for stars detection. -The median and standard deviation values of the image are determined, then the threshold is: median + [threshold] x stdev. -The default value for threshold is 1.00. + Threshold value above the noise for star detection. +The median and standard deviation of the image are computed, then the threshold is: median + [threshold] x stdev. +The default value for threshold is 1.00. Increasing this value will detect less dim stars, which should be done only when images have a lot of signal or low noise (high S/N). 5 number adjstarfinder_threshold @@ -10364,6 +9648,7 @@ True False + Changes of these three values should be tested on one representative image before using them for registration. start Radius: @@ -10376,6 +9661,7 @@ True False + Changes of these three values should be tested on one representative image before using them for registration. start Threshold: @@ -10388,6 +9674,7 @@ True False + Changes of these three values should be tested on one representative image before using them for registration. Roundness threshold: @@ -10399,9 +9686,8 @@ True True - Threshold value of star roundnesses. Decrease this value if your stars show small trails. - -WARNING: ensure you have a good reason to change this value because it may degrade the star detection. + Threshold value of star roundnesses. Decrease this value if stars in the images show small trails, conversely, increase it if they are very round to avoid false positives. +The default value is 0.5, suitable for stars twice as big in one direction as the other. 5 number adjstarfinder_roundness @@ -10460,10 +9746,12 @@ False icons False + 5 True False + Detect stars in the current loaded image (not sequence image) and compute PSF True image_starfinder @@ -10477,6 +9765,7 @@ True False + Average PSF parameters for selected stars True image_sum @@ -10500,9 +9789,7 @@ True False - True - Export PSF parameters in a ASCII file - Export PSF parameters in a ASCII file + Export PSF parameters in an ASCII file True image_export @@ -10526,11 +9813,9 @@ True False - True - Remove selected star from the list Remove selected star from the list True - image_remove1 + gtk-remove @@ -10542,11 +9827,9 @@ True False - True - Remove all stars from the list Remove all stars from the list True - gtk-remove + gtk-clear @@ -10583,7 +9866,6 @@ True center normal - True main_window @@ -10803,8 +10085,8 @@ 1 2 right - - + + 1 @@ -10820,8 +10102,8 @@ 1 2 right - - + + 1 @@ -10837,8 +10119,8 @@ 1 2 right - - + + 1 @@ -10854,8 +10136,8 @@ 1 2 right - - + + 1 @@ -10871,8 +10153,8 @@ 1 2 right - - + + 1 @@ -10888,8 +10170,8 @@ 1 2 right - - + + 1 @@ -11010,11 +10292,6 @@ - - True - False - pixmaps/rotate-cw_dark.png - -359.99000000000001 359.99000000000001 @@ -11255,6 +10532,15 @@ + + True + False + Informations... + True + + + + True False @@ -11370,12 +10656,35 @@ - + True False - Color Calibration... + Color Calibration True - + + + True + False + + + True + False + Color Calibration... + True + + + + + + True + False + Photometric Color Calibration... + True + + + + + @@ -11560,12 +10869,12 @@ - + True False Background Extraction... True - + @@ -11825,8 +11134,13 @@ False True 0 + + - + + multiple + + @@ -11871,60 +11185,54 @@ - + True False + 5 + 5 vertical - 2 + both + False - + True - True - True + False Add files to convert - start - add_convert_image - True + True + gtk-add True - True - 0 + True - + True - True - True + False Remove selected files - start - remove_convert_image - True + True + gtk-remove True - True - 1 + True - + True - True - True + False Remove all files from the list - start - clear_convert_image - True + True + gtk-clear True - True - 2 + True @@ -14572,19 +13880,6 @@ - - True - False - end - 7 - Stack this set of images: - - - 0 - 3 - - - True True @@ -14614,88 +13909,17 @@ 0 Sum stacking - Average stacking with rejection - Median stacking - Pixel maximum stacking - Pixel minimum stacking - - - - - 1 - 0 - 2 - - - - - True - True - Select the set of images to be stacked. All the images or only the manually selected can be used. But it is possible to only select the percentage of best images following quality criteria (planetary, roundness or fwhm). - - all the images of the sequence - images previously manually selected from the sequence - best images, automatically selected from the registration data (PSF - FWHM) - best images, automatically selected from the registration data (PSF - roundness) - best images, automatically selected from the registration data (Planetary) - - - - - 1 - 3 - 2 - - - - - True - False - False - start - 5 - True - Based on FWHM - center - - - 1 - 4 - - - - - True - False - True - end - - 6 - 5 - number - adjustment_stack_filter - 1 - 2 - True - - - - - 1 - 4 - - - - - True - False - end - Stack best: - center + Average stacking with rejection + Median stacking + Pixel maximum stacking + Pixel minimum stacking + + - 0 - 4 + 1 + 0 + 2 @@ -14823,6 +14047,7 @@ [1] Peter J. Huber and E. Ronchetti (2009), Robust Statistics, 2nd Ed., Wiley [2] Juan Conejero, ImageIntegration, Pixinsight Tutorial + start True 4 @@ -14841,21 +14066,7 @@ - - Normalise to 16-bit -(Don't check for Masters) - True - True - False - If you check this button, the final image will be normalized to 16-bit per channel. This is important when input sequence has a depth of 8-bit per channel. -However you may want to disable this option when building master frames of 8-bit sequences. - True - True - - - 0 - 1 - + @@ -14964,18 +14175,7 @@ 1 2 - - - - - True - False - start - % - - - 2 - 4 + 2 @@ -15001,12 +14201,13 @@ Siril uses a 32-bit internal image to process the stacking, which is then saved to a 16-bit image whose name is given below. 20 20 + 3 True 0 - 6 + 5 3 @@ -15020,7 +14221,7 @@ 0 - 5 + 4 @@ -15032,7 +14233,7 @@ 1 - 5 + 4 @@ -15042,12 +14243,13 @@ True False Overwrite file without notice if it already exists. + start True True 2 - 5 + 4 @@ -15111,10 +14313,291 @@ - + + True + False + 5 + 10 + + + True + True + True + Add another filter + end + addfilter1 + True + + + + 3 + 0 + + + + + True + True + Add another filter + end + addfilter2 + True + + + + 3 + 1 + + + + + True + True + Remove this filter + end + removefilter3 + True + + + + 4 + 2 + + + + + True + True + Remove this filter + end + removefilter2 + True + + + + 4 + 1 + + + + + True + True + Select the set of images to be stacked: +- selected: only use image that have not been unselected from the sequence +- FWHM: images with best computed FWHM (star-based registration only) +- roundness: images with best star roundness (star-based registration only) +- quality: images with best quality (planetary DFT or ECC registrations) + 0 + + all + selected + FWHM + roundness + quality + + + + + 0 + 0 + + + + + True + True + Percents of the images of the sequence. + end + + 6 + 5 + 90.00 + number + adjustment4 + 1 + 2 + True + 90 + + + + + 1 + 0 + + + + + True + Percents of the images of the sequence. + end + + 6 + 5 + 90.00 + number + adjustment6 + 1 + 2 + True + 90 + + + + + 1 + 1 + + + + + True + Percents of the images of the sequence. + end + + 6 + 5 + 90.00 + number + adjustment7 + 1 + 2 + True + 90 + + + + + 1 + 2 + + + + + True + Select the set of images to be stacked. All the images or only the manually selected can be used. But it is possible to only select the percentage of best images following quality criteria (planetary, roundness or fwhm). + 0 + + all + selected + FWHM + roundness + quality + + + + + 0 + 1 + + + + + True + Select the set of images to be stacked. All the images or only the manually selected can be used. But it is possible to only select the percentage of best images following quality criteria (planetary, roundness or fwhm). + 0 + + all + selected + FWHM + roundness + quality + + + + + 0 + 2 + + + + + True + False + 10 + + + 2 + 0 + + + + + True + False + 10 + + + 2 + 1 + + + + + True + False + 10 + + + 2 + 2 + + + + + + + + + + + 1 + 3 + - + + True + False + end + 7 + Stack this set of images: + + + 0 + 3 + + + + + True + False + start + Stacking 0 images of the 0 of the sequence + True + + + 2 + 3 + + + + + Normalise to 16-bit +(Don't check for Masters) + True + False + If you check this button, the final image will be normalized to 16-bit per channel. This is important when input sequence has a depth of 8-bit per channel. +However you may want to disable this option when building master frames of 8-bit sequences. + start + True + True + + + 2 + 1 + @@ -15154,25 +14637,79 @@ 12 vertical - + True False - queue - never - always - in + vertical + + + True + True + queue + never + always + in + + + True + True + + Siril output window, displays messages about what has been done and in response to command inputs. + 2 + False + word + False + False + + + + + True + True + 0 + + - + True - True - - Siril output window, displays messages about what has been done and in response to command inputs. - 2 - False - word - False - False + False + end + center + 2 + + + True + False + Export the log + True + gtk-save-as + + + + False + True + + + + + True + False + Clear the log + True + gtk-clear + + + + False + True + + + + False + True + 1 + @@ -15497,6 +15034,283 @@ + + False + Informations + False + dialog + True + control_window + + + + + + False + vertical + 2 + + + False + end + + + gtk-close + True + True + True + True + + + + False + True + 1 + + + + + False + False + 0 + + + + + True + False + start + 10 + 0 + none + + + True + False + 12 + + + True + False + start + 10 + 10 + + + True + False + start + Focal length (mm): + + + 0 + 0 + + + + + True + False + start + Pixel X dim. (micron): + + + 0 + 1 + + + + + gtk-clear + True + True + True + Clear all the fields. If you save your image after, the header will not contain any data about the focal or sensor size. + start + True + + + + 0 + 5 + 3 + + + + + True + True + If the Pixel Y size is not automatically loaded, using file's header, you can update the field by yourself. + True + + 10 + number + + + + 1 + 2 + 2 + + + + + True + False + start + Pixel Y dim. (micron): + + + 0 + 2 + + + + + True + True + If the focal length is not automatically loaded, using file's header, you can update the field by yourself. + True + + 10 + number + + + + 1 + 0 + 2 + + + + + True + True + If the Pixel X size is not automatically loaded, using file's header, you can update the field by yourself. + True + + 10 + number + + + + 1 + 1 + 2 + + + + + No binning in pixel size value + True + True + False + Check this button if binning is not taken into account in the pixel size value. In this case, the binning value in the combo box below will be used. + start + True + + + + 0 + 3 + 2 + + + + + False + start + True + FWHM is converted into arcsec + + + + + + 0 + 4 + 3 + + + + + True + False + False + + + True + False + end + Binning: + + + False + True + 0 + + + + + True + False + If the binning is not automatically loaded, using file's header, you can update this combo box. + start + 0 + + 1x1 + 2x2 + 3x3 + 4x4 + 1x2 + 1x3 + 2x1 + 3x1 + + + + + False + True + 1 + + + + + 2 + 3 + + + + + + + + + True + False + 10 + 10 + Informations + True + + + + + + + + False + True + 1 + + + + + + file_information_close + + 1 0.90000000000000002 diff -Nru siril-0.9.10/src/gui/statistics_list.c siril-0.9.11/src/gui/statistics_list.c --- siril-0.9.10/src/gui/statistics_list.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/statistics_list.c 2019-05-27 09:16:07.000000000 +0000 @@ -66,6 +66,7 @@ char format[6]; char rvalue[20], gvalue[20], bvalue[20]; double normValue[] = { 1.0, 1.0, 1.0 }; + int color; get_statlist_store(); if (!selection) @@ -94,12 +95,14 @@ sprintf(bvalue, "--"); } + color = com.want_dark ? 1 : 0; + gtk_list_store_append(list_store, &iter); gtk_list_store_set(list_store, &iter, COLUMN_NAME, _(statName[0]), COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, first_colour[com.have_dark_theme], + COLUMN_COLOR, first_colour[color], -1); sprintf(rvalue, "%lu", stat[RLAYER]->total); @@ -116,7 +119,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, second_colour[com.have_dark_theme], + COLUMN_COLOR, second_colour[color], -1); /** Mean */ @@ -134,7 +137,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, first_colour[com.have_dark_theme], + COLUMN_COLOR, first_colour[color], -1); /* median */ @@ -152,7 +155,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, second_colour[com.have_dark_theme], + COLUMN_COLOR, second_colour[color], -1); /* sigma */ @@ -170,7 +173,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, first_colour[com.have_dark_theme], + COLUMN_COLOR, first_colour[color], -1); /* avgDev */ @@ -188,7 +191,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, second_colour[com.have_dark_theme], + COLUMN_COLOR, second_colour[color], -1); /* MAD */ @@ -206,7 +209,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, first_colour[com.have_dark_theme], + COLUMN_COLOR, first_colour[color], -1); /* sqrt(BWMV) */ @@ -224,7 +227,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, second_colour[com.have_dark_theme], + COLUMN_COLOR, second_colour[color], -1); /* min */ @@ -242,7 +245,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, first_colour[com.have_dark_theme], + COLUMN_COLOR, first_colour[color], -1); /* max */ @@ -260,7 +263,7 @@ COLUMN_RVALUE, rvalue, COLUMN_GVALUE, gvalue, COLUMN_BVALUE, bvalue, - COLUMN_COLOR, second_colour[com.have_dark_theme], + COLUMN_COLOR, second_colour[color], -1); } diff -Nru siril-0.9.10/src/gui/wavelets.c siril-0.9.11/src/gui/wavelets.c --- siril-0.9.10/src/gui/wavelets.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/gui/wavelets.c 2019-05-27 09:16:07.000000000 +0000 @@ -98,14 +98,77 @@ } } -void on_scale_button_release_event(GtkWidget *widget, +gboolean on_scale_w0_button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { update_wavelets(); + return FALSE; } -void on_scale_w_key_release_event(GtkWidget *widget, GdkEvent *event, +gboolean on_scale_w1_button_release_event(GtkWidget *widget, + GdkEventButton *event, gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w2_button_release_event(GtkWidget *widget, + GdkEventButton *event, gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w3_button_release_event(GtkWidget *widget, + GdkEventButton *event, gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w4_button_release_event(GtkWidget *widget, + GdkEventButton *event, gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w5_button_release_event(GtkWidget *widget, + GdkEventButton *event, gpointer user_data) { + update_wavelets(); + return FALSE; +} + + +gboolean on_scale_w0_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w1_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w2_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w3_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w4_key_release_event(GtkWidget *widget, GdkEvent *event, + gpointer user_data) { + update_wavelets(); + return FALSE; +} + +gboolean on_scale_w5_key_release_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { update_wavelets(); + return FALSE; } void on_wavelets_dialog_hide(GtkWidget *widget, gpointer user_data) { diff -Nru siril-0.9.10/src/io/conversion.c siril-0.9.11/src/io/conversion.c --- siril-0.9.10/src/io/conversion.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/conversion.c 2019-05-27 09:16:07.000000000 +0000 @@ -39,6 +39,7 @@ #include "gui/message_dialog.h" #include "gui/progress_and_log.h" #include "algos/demosaicing.h" +#include "algos/sorting.h" #define MAX_OF_EXTENSIONS 50 // actual size of supported_extensions @@ -50,28 +51,28 @@ char **supported_extensions; supported_raw_list supported_raw[] = { - {"dng", "Adobe", BAYER_FILTER_RGGB}, - {"mos", "Aptus", BAYER_FILTER_RGGB}, - {"cr2", "Canon", BAYER_FILTER_RGGB}, - {"crw", "Canon", BAYER_FILTER_RGGB}, - {"bay", "Casio", BAYER_FILTER_NONE}, // Not tested - {"erf", "Epson", BAYER_FILTER_RGGB}, - {"raf", "Fuji", BAYER_FILTER_GBRG}, // Not really supported, specially XTRANS - {"3fr", "Hasselblad", BAYER_FILTER_GRBG}, // GRBG, RGGB - {"kdc", "Kodak", BAYER_FILTER_GRBG}, - {"dcr", "Kodak", BAYER_FILTER_GRBG}, - {"mef", "Mamiya", BAYER_FILTER_RGGB}, - {"mrw", "Minolta", BAYER_FILTER_RGGB}, - {"nef", "Nikon", BAYER_FILTER_RGGB}, - {"nrw", "Nikon", BAYER_FILTER_RGGB}, - {"orf", "Olympus", BAYER_FILTER_GRBG}, - {"raw", "Leica", BAYER_FILTER_RGGB}, - {"rw2", "Panasonic", BAYER_FILTER_BGGR}, - {"pef", "Pentax", BAYER_FILTER_BGGR}, - {"ptx", "Pentax", BAYER_FILTER_NONE}, // Not tested - {"x3f", "Sigma", BAYER_FILTER_NONE}, // Not supported yet - {"srw", "Samsung", BAYER_FILTER_BGGR}, - {"arw", "Sony", BAYER_FILTER_RGGB} + {"dng", "Adobe"}, + {"mos", "Aptus"}, + {"cr2", "Canon"}, + {"crw", "Canon"}, + {"bay", "Casio"}, // Not tested + {"erf", "Epson"}, + {"raf", "Fuji"}, + {"3fr", "Hasselblad"}, + {"kdc", "Kodak"}, + {"dcr", "Kodak"}, + {"mef", "Mamiya"}, + {"mrw", "Minolta"}, + {"nef", "Nikon"}, + {"nrw", "Nikon"}, + {"orf", "Olympus"}, + {"raw", "Leica"}, + {"rw2", "Panasonic"}, + {"pef", "Pentax"}, + {"ptx", "Pentax"}, // Not tested + {"x3f", "Sigma"}, // Not supported yet + {"srw", "Samsung"}, + {"arw", "Sony"} }; char *filter_pattern[] = { @@ -94,7 +95,7 @@ int get_nb_raw_supported() { - return sizeof(supported_raw) / sizeof(supported_raw_list); + return G_N_ELEMENTS(supported_raw); } /* This function is used with command line only */ @@ -202,6 +203,7 @@ static void initialize_ser_debayer_settings() { com.debayer.open_debayer = FALSE; com.debayer.use_bayer_header = TRUE; + com.debayer.stretch = TRUE; com.debayer.compatibility = FALSE; com.debayer.bayer_pattern = BAYER_FILTER_RGGB; com.debayer.bayer_inter = BAYER_VNG; @@ -269,14 +271,14 @@ } /* open the file with path source from any image type and load it into a new FITS object */ -static fits *any_to_new_fits(image_type imagetype, const char *source, gboolean compatibility) { +static fits *any_to_new_fits(image_type imagetype, const char *source, gboolean compatibility, gboolean stretch_cfa) { int retval = 0; fits *tmpfit = calloc(1, sizeof(fits)); retval = any_to_fits(imagetype, source, tmpfit); if (!retval) - retval = debayer_if_needed(imagetype, tmpfit, compatibility, FALSE); + retval = debayer_if_needed(imagetype, tmpfit, compatibility, FALSE, stretch_cfa); if (retval) { clearfits(tmpfit); @@ -298,9 +300,7 @@ return BAYER_FILTER_NONE; } -/**************************Public functions***********************************************************/ - -void check_for_conversion_form_completeness() { +static void check_for_conversion_form_completeness() { static GtkTreeView *tree_convert = NULL; GtkTreeIter iter; GtkTreeModel *model = NULL; @@ -308,7 +308,7 @@ GtkWidget *go_button = lookup_widget("convert_button"); if (tree_convert == NULL) - tree_convert = GTK_TREE_VIEW(gtk_builder_get_object(builder, "treeview_convert")); + tree_convert = GTK_TREE_VIEW(lookup_widget("treeview_convert")); model = gtk_tree_view_get_model(tree_convert); valid = gtk_tree_model_get_iter_first(model, &iter); @@ -322,30 +322,33 @@ update_statusbar_convert(); } +static void unset_debayer_in_convflags() { + convflags &= ~CONVDEBAYER; +} + +/**************************Public functions***********************************************************/ /* initialize converters (utilities used for different image types importing) * * updates the label listing the supported input file formats, and modifies the * list of file types used in convflags */ -void initialize_converters() { - GtkLabel *label_supported; +gchar *initialize_converters() { GString *string; gchar *text; int count_ext = 0; - string = g_string_new("\t"); /* internal converters */ supported_filetypes |= TYPEBMP; - g_string_append(string, _("BMP images, ")); + string = g_string_new("BMP images, "); supported_filetypes |= TYPEPIC; - g_string_append(string, _("PIC images (IRIS), ")); + string = g_string_append(string, _("PIC images (IRIS), ")); supported_filetypes |= TYPEPNM; - g_string_append(string, _("PGM and PPM binary images")); + string = g_string_append(string, _("PGM and PPM binary images")); supported_extensions = malloc(MAX_OF_EXTENSIONS * sizeof(char*)); /* internal extensions */ if (supported_extensions == NULL) { fprintf(stderr, "initialize_converters: error allocating data\n"); - return; + return NULL; } supported_extensions[count_ext++] = ".fit"; supported_extensions[count_ext++] = ".fits"; @@ -362,9 +365,8 @@ int i, nb_raw; supported_filetypes |= TYPERAW; - g_string_append(string, ", "); - g_string_append(string, _("RAW images")); - if (!com.script) set_libraw_settings_menu_available(TRUE); // enable libraw settings + string = g_string_append(string, ", "); + string = g_string_append(string, _("RAW images")); initialize_libraw_settings(); // below in the file nb_raw = get_nb_raw_supported(); @@ -374,55 +376,50 @@ strcat(supported_extensions[count_ext+i], supported_raw[i].extension); } count_ext += nb_raw; -#else - if (!com.script) set_libraw_settings_menu_available(FALSE); // disable libraw settings #endif - g_string_append(string, ", "); - g_string_append(string, _("FITS-CFA images")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("FITS-CFA images")); #if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) supported_filetypes |= TYPEAVI; - g_string_append(string, ", "); - g_string_append(string, _("Films")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("Films")); #endif supported_filetypes |= TYPESER; - g_string_append(string, ", "); - g_string_append(string, _("SER sequences")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("SER sequences")); /* library converters (detected by configure) */ #ifdef HAVE_LIBTIFF supported_filetypes |= TYPETIFF; - g_string_append(string, ", "); - g_string_append(string, _("TIFF images")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("TIFF images")); supported_extensions[count_ext++] = ".tif"; supported_extensions[count_ext++] = ".tiff"; #endif #ifdef HAVE_LIBJPEG supported_filetypes |= TYPEJPG; - g_string_append(string, ", "); - g_string_append(string, _("JPG images")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("JPG images")); supported_extensions[count_ext++] = ".jpg"; supported_extensions[count_ext++] = ".jpeg"; #endif #ifdef HAVE_LIBPNG supported_filetypes |= TYPEPNG; - g_string_append(string, ", "); - g_string_append(string, _("PNG images")); + string = g_string_append(string, ", "); + string = g_string_append(string, _("PNG images")); supported_extensions[count_ext++] = ".png"; #endif supported_extensions[count_ext++] = NULL; // NULL-terminated array - g_string_append(string, "."); + string = g_string_append(string, "."); text = g_string_free(string, FALSE); - if (!com.script) { - label_supported = GTK_LABEL(gtk_builder_get_object(builder, "label_supported_types")); - gtk_label_set_text(label_supported, text); - } - siril_log_message(_("Supported file types: %s\n"), text + 1); - g_free(text); + + siril_log_message(_("Supported file types: %s\n"), text); + return text; } int check_for_raw_extensions(const char *extension) { @@ -470,7 +467,7 @@ return TYPEUNDEF; // not recognized or not supported } -int count_selected_files() { +int count_converted_files() { static GtkTreeView *tree_convert = NULL; GtkTreeModel *model = NULL; GtkTreeIter iter; @@ -489,10 +486,19 @@ COLUMN_DATE, &file_date, -1); valid = gtk_tree_model_iter_next (model, &iter); count ++; + g_free(file_name); + g_free(file_date); } return count; } +int count_selected_files() { + GtkTreeView *tree_view = GTK_TREE_VIEW(lookup_widget("treeview_convert")); + GtkTreeSelection *selection = gtk_tree_view_get_selection(tree_view); + + return gtk_tree_selection_count_selected_rows(selection); +} + static void initialize_convert() { GDir *dir; GError *error = NULL; @@ -508,8 +514,8 @@ int count = 0; if (tree_convert == NULL) { - tree_convert = GTK_TREE_VIEW(gtk_builder_get_object(builder, "treeview_convert")); - startEntry = GTK_ENTRY(gtk_builder_get_object(builder, "startIndiceEntry")); + tree_convert = GTK_TREE_VIEW(lookup_widget("treeview_convert")); + startEntry = GTK_ENTRY(lookup_widget("startIndiceEntry")); } struct timeval t_start; @@ -545,7 +551,7 @@ while (valid) { gtk_tree_model_get(model, &iter, COLUMN_FILENAME, &file_data, COLUMN_DATE, &file_date, -1); - list = g_list_append (list, file_data); + list = g_list_prepend(list, file_data); const char *src_ext = get_filename_ext(file_data); if (count != 0) { @@ -554,18 +560,21 @@ } } imagetype = get_type_for_extension(src_ext); - valid = gtk_tree_model_iter_next (model, &iter); - count ++; + valid = gtk_tree_model_iter_next(model, &iter); + count++; } - if ((convflags & CONVDEBAYER) && (imagetype == TYPESER) && (several_type_of_files == FALSE)) { + if ((convflags & CONVDEBAYER) && imagetype == TYPESER && !several_type_of_files) { siril_message_dialog(GTK_MESSAGE_WARNING, _("A conflict has been detected."), _("The Debayer option is not allowed in SER conversion, please uncheck the option.")); + g_list_free_full(list, g_free); set_cursor_waiting(FALSE); return; - } else if ((convflags & CONVMULTIPLE) && (imagetype == TYPESER) && (several_type_of_files == FALSE)) { + } + if ((convflags & CONVMULTIPLE) && imagetype == TYPESER && !several_type_of_files) { siril_message_dialog(GTK_MESSAGE_WARNING, _("A conflict has been detected."), _("The Multiple SER option is not allowed in SER conversion, please uncheck the option.")); + g_list_free_full(list, g_free); set_cursor_waiting(FALSE); return; } @@ -585,6 +594,7 @@ if (!com.wd) { tmpmsg = siril_log_message(_("Conversion: no working directory set.\n")); siril_message_dialog(GTK_MESSAGE_WARNING, _("Warning"), tmpmsg); + g_list_free_full(list, g_free); set_cursor_waiting(FALSE); return; } @@ -592,10 +602,18 @@ tmpmsg = siril_log_message(_("Conversion: error opening working directory %s.\n"), com.wd); siril_message_dialog(GTK_MESSAGE_ERROR, _("Error"), tmpmsg); fprintf (stderr, "Conversion: %s\n", error->message); + g_error_free(error); + g_list_free_full(list, g_free); set_cursor_waiting(FALSE); return ; } + /* g_list_append() has to traverse the entire list to find the end, + * which is inefficient when adding multiple elements. A common idiom + * to avoid the inefficiency is to use g_list_prepend() and reverse the + * list with g_list_reverse() when all elements have been added. */ + list = g_list_reverse(list); + args = malloc(sizeof(struct _convert_data)); args->start = (atof(indice) == 0 || atof(indice) > USHRT_MAX) ? 1 : atof(indice); args->dir = dir; @@ -605,6 +623,7 @@ args->t_start.tv_sec = t_start.tv_sec; args->t_start.tv_usec = t_start.tv_usec; args->compatibility = com.debayer.compatibility; + args->stretch_cfa = com.debayer.stretch; args->command_line = FALSE; args->several_type_of_files = several_type_of_files; args->destroot = g_strdup(destroot); @@ -630,7 +649,6 @@ struct _convert_data *args = (struct _convert_data *) p; GList *list; - list = g_list_first(args->list); indice = args->start; if (convflags & CONVDSTSER) { @@ -648,7 +666,7 @@ } } - while (list) { + for (list = args->list; list; list = list->next) { gchar *src_filename = (gchar *)list->data; const char *src_ext = get_filename_ext(src_filename); image_type imagetype; @@ -804,7 +822,7 @@ free(fit); } else { // single image - fits *fit = any_to_new_fits(imagetype, src_filename, args->compatibility); + fits *fit = any_to_new_fits(imagetype, src_filename, args->compatibility, args->stretch_cfa); if (fit) { if (convflags & CONVDSTSER) { if (convflags & CONV1X1) @@ -828,8 +846,6 @@ set_progress_bar_data(msg_bar, progress/((double)args->total)); progress += 1.0; args->nb_converted++; - - list = g_list_next(list); } clean_exit: @@ -847,7 +863,7 @@ return NULL; } -int debayer_if_needed(image_type imagetype, fits *fit, gboolean compatibility, gboolean force_debayer) { +int debayer_if_needed(image_type imagetype, fits *fit, gboolean compatibility, gboolean force_debayer, gboolean stretch_cfa) { int retval = 0; sensor_pattern tmp; /* What the hell? @@ -890,7 +906,11 @@ siril_log_message(_("Filter Pattern: %s\n"), filter_pattern[com.debayer.bayer_pattern]); } - if (debayer(fit, com.debayer.bayer_inter)) { + if (stretch_cfa && fit->maximum_pixel_value) { + siril_log_message(_("The FITS file is being normalized to 16-bit\n")); + } + + if (debayer(fit, com.debayer.bayer_inter, stretch_cfa)) { siril_log_message(_("Cannot perform debayering\n")); retval = -1; } else { @@ -957,23 +977,165 @@ convflags |= CONVDEBAYER; } -void unset_debayer_in_convflags() { - convflags &= ~CONVDEBAYER; +/**************** Conversion tree managment ***********************************/ +/* + * Main conversion list static functions + */ + +static GtkListStore *liststore_convert = NULL; + +static void add_convert_to_list(char *filename, GStatBuf st) { + GtkTreeIter iter; + char *date; + + date = ctime(&st.st_mtime); + date[strlen(date) - 1] = 0; // removing '\n' at the end of the string + + gtk_list_store_append(liststore_convert, &iter); + gtk_list_store_set(liststore_convert, &iter, COLUMN_FILENAME, filename, // copied in the store + COLUMN_DATE, date, -1); +} +static void get_convert_list_store() { + if (liststore_convert == NULL) + liststore_convert = GTK_LIST_STORE( + gtk_builder_get_object(builder, "liststore_convert")); +} + +static GList *get_row_references_of_selected_rows(GtkTreeSelection *selection, + GtkTreeModel *model) { + GList *ref = NULL; + GList *sel, *s; + + sel = gtk_tree_selection_get_selected_rows(selection, &model); + + for (s = sel; s; s = s->next) { + GtkTreeRowReference *rowref = gtk_tree_row_reference_new(model, (GtkTreePath *) s->data); + ref = g_list_prepend(ref, rowref); + } + g_list_free_full(sel, (GDestroyNotify) gtk_tree_path_free); + return ref; +} + +static void remove_selected_files_from_list() { + GtkTreeSelection *selection; + GtkTreeModel *model; + GList *references, *list; + GtkTreeView *tree_view; + + tree_view = GTK_TREE_VIEW(lookup_widget("treeview_convert")); + model = gtk_tree_view_get_model(tree_view); + selection = gtk_tree_view_get_selection(tree_view); + references = get_row_references_of_selected_rows(selection, model); + for (list = references; list; list = list->next) { + GtkTreeIter iter; + GtkTreePath *path = gtk_tree_row_reference_get_path((GtkTreeRowReference*)list->data); + if (path) { + if (gtk_tree_model_get_iter(model, &iter, path)) { + gtk_list_store_remove(liststore_convert, &iter); + } + gtk_tree_path_free(path); + } + } + g_list_free(references); + gtk_tree_selection_unselect_all(selection); } -/******************Callback functions*******************************************************************/ +void fill_convert_list(GSList *list) { + GStatBuf st; + GSList *l; -static gchar forbidden_char[] = { '/', '\\' }; + get_convert_list_store(); -static int get_nb_forbidden_char() { - return sizeof(forbidden_char) / sizeof(gchar); + for (l = list; l; l = l->next) { + char *filename; + + filename = (char *) l->data; + if (g_stat(filename, &st) == 0) { + add_convert_to_list(filename, st); + } + g_free(filename); + } + check_for_conversion_form_completeness(); +} + +void on_clear_convert_button_clicked(GtkToolButton *button, gpointer user_data) { + get_convert_list_store(); + gtk_list_store_clear(liststore_convert); + check_for_conversion_form_completeness(); +} + +void on_remove_convert_button_clicked(GtkToolButton *button, gpointer user_data) { + remove_selected_files_from_list(); + check_for_conversion_form_completeness(); +} + +void on_treeview_convert_drag_data_received(GtkWidget *widget, + GdkDragContext *context, gint x, gint y, + GtkSelectionData *selection_data, guint info, guint time, + gpointer user_data) { + + gchar **uris, **str; + const guchar *data; + GSList *list = NULL; + gint bad_files = 0; + + if (info != 0) + return; + + data = gtk_selection_data_get_data(selection_data); + uris = g_uri_list_extract_uris((gchar *) data); + + for (str = uris; *str; str++) { + GError *error = NULL; + gchar *path = g_filename_from_uri(*str, NULL, &error); + if (path) { + const char *src_ext = get_filename_ext(path); + if (src_ext) { + if (get_type_for_extension(src_ext) == TYPEUNDEF) { + bad_files++; + } else { + list = g_slist_prepend(list, path); + } + } else bad_files++; + } else { + fprintf(stderr, "Could not convert uri to local path: %s", + error->message); + bad_files++; + g_error_free(error); + } + } + list = g_slist_sort(list, (GCompareFunc) strcompare); + fill_convert_list(list); + if (bad_files) { + char *msg = siril_log_message(_("%d file(s) were ignored while drag and drop\n"), bad_files); + siril_message_dialog(GTK_MESSAGE_INFO, msg, + _("Files with unknown extension cannot be dropped in this area. " + "Therefore they are ignored.")); + } + g_strfreev(uris); + g_slist_free(list); } +gboolean on_treeview_convert_key_release_event(GtkWidget *widget, GdkEventKey *event, + gpointer user_data) { + if (event->keyval == GDK_KEY_Delete || event->keyval == GDK_KEY_KP_Delete + || event->keyval == GDK_KEY_BackSpace) { + remove_selected_files_from_list(); + check_for_conversion_form_completeness(); + return TRUE; + } + return FALSE; +} + + +/******************Callback functions*******************************************************************/ + +static gchar forbidden_char[] = { '/', '\\' }; + static gboolean is_forbiden(gchar c) { - int i, n; + int i; - n = get_nb_forbidden_char(); - for (i = 0; i < n; i++) { + for (i = 0; i < G_N_ELEMENTS(forbidden_char); i++) { if (c == forbidden_char[i]) { return TRUE; } @@ -985,7 +1147,8 @@ gint *position, gpointer data) { GtkEditable *editable = GTK_EDITABLE(entry); int i, count = 0; - gchar *result = g_new(gchar, length); + + gchar *result = g_strndup(text, length); for (i = 0; i < length; i++) { if (is_forbiden(text[i])) @@ -1005,6 +1168,11 @@ g_free(result); } +void on_treeview_selection5_changed(GtkTreeSelection *treeselection, + gpointer user_data) { + update_statusbar_convert(); +} + // truncates destroot if it's more than 120 characters, append a '_' if it // doesn't end with one or a '-'. SER extensions are accepted and unmodified. void on_convtoroot_changed (GtkEditable *editable, gpointer user_data){ @@ -1066,4 +1234,3 @@ convflags |= CONV1X1; convflags &= ~(CONV3X1|CONV1X3); } - diff -Nru siril-0.9.10/src/io/conversion.h siril-0.9.11/src/io/conversion.h --- siril-0.9.10/src/io/conversion.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/conversion.h 2019-05-27 09:16:07.000000000 +0000 @@ -1,10 +1,15 @@ #ifndef CONVERSION_H #define CONVERSION_H +enum { + COLUMN_FILENAME, // string + COLUMN_DATE, // string + N_COLUMNS_CONVERT +}; + typedef struct { char *extension; // name of the extension of raw char *manufacturer; // name of the manufacturer - sensor_pattern suggested_pattern;// type of bayer pattern. Not used for now } supported_raw_list; struct _convert_data { @@ -15,6 +20,7 @@ int total; int nb_converted; gboolean compatibility; + gboolean stretch_cfa; gboolean command_line; gboolean several_type_of_files; gchar *destroot; @@ -23,15 +29,16 @@ extern supported_raw_list supported_raw[]; //supported raw extensions int get_nb_raw_supported(); +void fill_convert_list(GSList *list); + void list_format_available(); -void check_for_conversion_form_completeness(); image_type get_type_for_extension(const char *extension); -void initialize_converters(); +gchar *initialize_converters(); int count_selected_files(); +int count_converted_files(); gpointer convert_thread_worker(gpointer p); -int debayer_if_needed(image_type imagetype, fits *fit, gboolean compatibility, gboolean force_debayer); +int debayer_if_needed(image_type imagetype, fits *fit, gboolean compatibility, gboolean force_debayer, gboolean stretch_cfa); int any_to_fits(image_type imagetype, const char *source, fits *dest); void set_debayer_in_convflags(); -void unset_debayer_in_convflags(); #endif diff -Nru siril-0.9.10/src/io/films.c siril-0.9.11/src/io/films.c --- siril-0.9.10/src/io/films.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/films.c 2019-05-27 09:16:07.000000000 +0000 @@ -45,7 +45,7 @@ }; int get_nb_film_ext_supported() { - return sizeof(supported_film) / sizeof(supported_film_list); + return G_N_ELEMENTS(supported_film); } static void film_init_struct(struct film_struct *film) { @@ -203,6 +203,7 @@ FFMS_RESIZER_BICUBIC, &film->errinfo)) { /* handle error */ fprintf(stderr, "FILM error: %s\n", film->errmsg); + film_close_file(film); return FILM_ERROR; } @@ -361,6 +362,8 @@ void film_close_file(struct film_struct *film) { /* now it's time to clean up */ + free(film->errmsg); + free(film->filename); FFMS_DestroyVideoSource(film->videosource); } diff -Nru siril-0.9.10/src/io/image_format_fits.c siril-0.9.11/src/io/image_format_fits.c --- siril-0.9.10/src/io/image_format_fits.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/image_format_fits.c 2019-05-27 09:16:07.000000000 +0000 @@ -39,8 +39,8 @@ static char *MIPSHI[] = {"MIPS-HI", "CWHITE", "DATAMAX", NULL }; static char *MIPSLO[] = {"MIPS-LO", "CBLACK", "DATAMIN", NULL }; -static char *PixSizeX[] = { "XPIXSZ", "XPIXELSZ", NULL }; -static char *PixSizeY[] = { "YPIXSZ", "YPIXELSZ", NULL }; +static char *PixSizeX[] = { "XPIXSZ", "XPIXELSZ", "PIXSIZE1", NULL }; +static char *PixSizeY[] = { "YPIXSZ", "YPIXELSZ", "PIXSIZE2", NULL }; static char *BinX[] = { "XBINNING", "BINX", NULL }; static char *BinY[] = { "YBINNING", "BINY", NULL }; static char *Focal[] = { "FOCAL", "FOCALLEN", NULL }; @@ -83,6 +83,10 @@ double meanval = 0., minval = 1.E33, maxval = -1.E33; + /* initialize value in case where it does not work */ + *mini = 0; + *maxi = 0; + fits_get_img_dim(fit->fptr, &(fit->naxis), &status); fits_get_img_size(fit->fptr, 2, fit->naxes, &status); @@ -144,18 +148,17 @@ for (; !*status; hdupos++) { fits_get_hdrspace(fptr, &nkeys, NULL, status); for (i = 1; i <= nkeys; i++) { - int cardlen; if (fits_read_record(fptr, i, card, status)) break; - cardlen = strlen(card); if (!strncmp(card, "HISTORY", 7)) { - list = g_slist_append(list, g_strdup(card + 8)); + list = g_slist_prepend(list, g_strdup(card + 8)); } } fits_movrel_hdu(fptr, 1, NULL, status); } if (*history) g_slist_free_full(*history, free); + list = g_slist_reverse(list); *history = list; } @@ -182,7 +185,7 @@ fits_read_key(fit->fptr, TDOUBLE, "BSCALE", &zero, NULL, &status); if (!status && 1.0 != zero) { siril_log_message(_("Loaded FITS file has " - "a BSCALE different than 1 (%lf)\n"), zero); + "a BSCALE different than 1 (%f)\n"), zero); status = 0; /* We reset the scaling factors as we don't use it */ fits_set_bscale(fit->fptr, 1.0, 0.0, &status); @@ -196,6 +199,11 @@ fit->data_max = maxi; } + status = 0; + fits_read_key(fit->fptr, TUINT, "MAXCFA", &(fit->maximum_pixel_value), + NULL, &status); + + /******************************************************************* * ************* CAMERA AND INSTRUMENT KEYWORDS ******************** * ****************************************************************/ @@ -223,6 +231,14 @@ fits_read_key(fit->fptr, TSTRING, "BAYERPAT", &(fit->bayer_pattern), NULL, &status); + status = 0; + fits_read_key(fit->fptr, TINT, "XBAYROFF", &(fit->bayer_xoffset), NULL, + &status); + + status = 0; + fits_read_key(fit->fptr, TINT, "YBAYROFF", &(fit->bayer_yoffset), NULL, + &status); + read_fits_date_obs_header(fit); status = 0; @@ -260,6 +276,12 @@ fits_read_key(fit->fptr, TUINT, "EQUINOX", &(fit->wcs.equinox), NULL, &status); status = 0; + fits_read_key(fit->fptr, TSTRING, "OBJCTRA", &(fit->wcs.objctra), NULL, &status); + + status = 0; + fits_read_key(fit->fptr, TSTRING, "OBJCTDEC", &(fit->wcs.objctdec), NULL, &status); + + status = 0; fits_read_key(fit->fptr, TDOUBLE, "CRPIX1", &(fit->wcs.crpix1), NULL, &status); status = 0; @@ -272,10 +294,16 @@ fits_read_key(fit->fptr, TDOUBLE, "CRVAL2", &(fit->wcs.crval2), NULL, &status); status = 0; - fits_read_key(fit->fptr, TSTRING, "OBJCTRA", &(fit->wcs.objctra), NULL, &status); + fits_read_key(fit->fptr, TDOUBLE, "CDELT1", &(fit->wcs.cdelt1), NULL, &status); status = 0; - fits_read_key(fit->fptr, TSTRING, "OBJCTDEC", &(fit->wcs.objctdec), NULL, &status); + fits_read_key(fit->fptr, TDOUBLE, "CDELT2", &(fit->wcs.cdelt2), NULL, &status); + + status = 0; + fits_read_key(fit->fptr, TDOUBLE, "CROTA1", &(fit->wcs.crota1), NULL, &status); + + status = 0; + fits_read_key(fit->fptr, TDOUBLE, "CROTA2", &(fit->wcs.crota2), NULL, &status); /******************************************************************* @@ -283,28 +311,24 @@ * ****************************************************************/ status = 0; - fits_read_key(fit->fptr, TDOUBLE, "DFT_NOR0", &(fit->dft.norm[0]), NULL, + fits_read_key(fit->fptr, TDOUBLE, "DFTNORM0", &(fit->dft.norm[0]), NULL, &status); status = 0; - fits_read_key(fit->fptr, TDOUBLE, "DFT_NOR1", &(fit->dft.norm[1]), NULL, + fits_read_key(fit->fptr, TDOUBLE, "DFTNORM1", &(fit->dft.norm[1]), NULL, &status); status = 0; - fits_read_key(fit->fptr, TDOUBLE, "DFT_NOR2", &(fit->dft.norm[2]), NULL, + fits_read_key(fit->fptr, TDOUBLE, "DFTNORM2", &(fit->dft.norm[2]), NULL, &status); status = 0; - fits_read_key(fit->fptr, TSTRING, "DFT_ORD", &(fit->dft.ord), NULL, + fits_read_key(fit->fptr, TSTRING, "DFTORD", &(fit->dft.ord), NULL, &status); status = 0; - fits_read_key(fit->fptr, TSTRING, "DFT_TYPE", &(fit->dft.type), NULL, + fits_read_key(fit->fptr, TSTRING, "DFTTYPE", &(fit->dft.type), NULL, &status); status = 0; - fits_read_key(fit->fptr, TUSHORT, "DFT_RX", &(fit->dft.rx), NULL, &status); - fits_read_key(fit->fptr, TUSHORT, "DFT_RY", &(fit->dft.ry), NULL, &status); - - status = 0; fits_read_history(fit->fptr, &(fit->history), &status); } @@ -386,7 +410,6 @@ * from is not freed, to must be allocated and can be the same as from */ static void convert_data(int bitpix, const void *from, WORD *to, unsigned int nbdata, gboolean values_above_1) { int i; - int8_t *sdata8; BYTE *data8; int16_t *data16; double *pixels_double; @@ -395,11 +418,6 @@ unsigned long *data32; switch (bitpix) { - case SBYTE_IMG: // TO BE TESTED - sdata8 = (int8_t *)from; - for (i = 0; i < nbdata; i++) - to[i] = (WORD)sdata8[i] + 128; - break; case BYTE_IMG: data8 = (BYTE *)from; for (i = 0; i < nbdata; i++) @@ -416,7 +434,6 @@ to[i] = (WORD)sum; } break; - case ULONG_IMG: // 32-bit unsigned integer pixels data32 = (unsigned long *)from; for (i = 0; i < nbdata; i++) @@ -427,7 +444,6 @@ for (i = 0; i < nbdata; i++) to[i] = (WORD)((sdata32[i] >> 16) + 32768); break; - case DOUBLE_IMG: // 64-bit floating point pixels case FLOAT_IMG: // 32-bit floating point pixels pixels_double = (double *)from; @@ -440,7 +456,6 @@ to[i] = round_to_WORD(norm * pixels_double[i]); } break; - case LONGLONG_IMG: // 64-bit integer pixels default: siril_log_message(_("Unknown FITS data format in internal conversion\n")); @@ -461,8 +476,9 @@ // orig ^ gives the coordinate in each dimension of the first pixel to be read unsigned int nbdata = fit->naxes[0] * fit->naxes[1] * fit->naxes[2]; + fits_movabs_hdu(fit->fptr, 1, 0, &status); // make sure reading primary HDU + switch (fit->bitpix) { - case SBYTE_IMG: // UNTESTED, may not exist while reading data case BYTE_IMG: data8 = malloc(nbdata * sizeof(BYTE)); datatype = fit->bitpix == BYTE_IMG ? TBYTE : TSBYTE; @@ -558,7 +574,6 @@ unsigned int nbdata = area->w * area->h; switch (bitpix) { - case SBYTE_IMG: case BYTE_IMG: data8 = malloc(nbdata * sizeof(BYTE)); datatype = bitpix == BYTE_IMG ? TBYTE : TSBYTE; @@ -619,36 +634,35 @@ fits_update_key(fit->fptr, TUINT, "EQUINOX", &(fit->wcs.equinox), "Equatorial equinox", &status); status = 0; - fits_update_key(fit->fptr, TSTRING, "CTYPE1", "RA---TA", - "the coordinate type for the first axis", &status); + fits_update_key(fit->fptr, TSTRING, "CTYPE1", "RA---TA", "Coordinate type for the first axis", &status); + status = 0; + fits_update_key(fit->fptr, TSTRING, "CTYPE2", "DEC--TA", "Coordinate type for the second axis", &status); status = 0; - fits_update_key(fit->fptr, TSTRING, "CTYPE2", "DEC--TA", - "the coordinate type for the second axis", &status); + fits_update_key(fit->fptr, TSTRING, "OBJCTRA", &(fit->wcs.objctra), "Image center R.A. (hms)", &status); status = 0; - fits_update_key(fit->fptr, TDOUBLE, "CRPIX1", &(fit->wcs.crpix1), - "axis1 reference pixel", &status); + fits_update_key(fit->fptr, TSTRING, "OBJCTDEC", &(fit->wcs.objctdec), "Image center declination (dms)", &status); status = 0; - fits_update_key(fit->fptr, TDOUBLE, "CRPIX2", &(fit->wcs.crpix2), - "axis2 reference pixel", &status); + fits_update_key(fit->fptr, TDOUBLE, "CRPIX1", &(fit->wcs.crpix1), "Axis1 reference pixel", &status); status = 0; - fits_update_key(fit->fptr, TDOUBLE, "CRVAL1", &(fit->wcs.crval1), - "axis1 reference value", &status); + fits_update_key(fit->fptr, TDOUBLE, "CRPIX2", &(fit->wcs.crpix2), "Axis2 reference pixel", &status); status = 0; - fits_update_key(fit->fptr, TDOUBLE, "CRVAL2", &(fit->wcs.crval2), - "axis2 reference value", &status); + fits_update_key(fit->fptr, TDOUBLE, "CRVAL1", &(fit->wcs.crval1), "Axis1 reference value", &status); status = 0; - fits_update_key(fit->fptr, TSTRING, "OBJCTRA", &(fit->wcs.objctra), - "image center R.A. (hms)", &status); + fits_update_key(fit->fptr, TDOUBLE, "CRVAL2", &(fit->wcs.crval2), "Axis2 reference value", &status); status = 0; - fits_update_key(fit->fptr, TSTRING, "OBJCTDEC", &(fit->wcs.objctdec), - "image center declination (dms)", &status); + fits_update_key(fit->fptr, TDOUBLE, "CDELT1", &(fit->wcs.cdelt1), "Axis1 scale", &status); + status = 0; + fits_update_key(fit->fptr, TDOUBLE, "CDELT2", &(fit->wcs.cdelt2), "Axis2 scale", &status); + status = 0; + fits_update_key(fit->fptr, TDOUBLE, "CROTA1", &(fit->wcs.crota1), "Axis1 rotation angle (deg)", &status); + status = 0; + fits_update_key(fit->fptr, TDOUBLE, "CROTA2", &(fit->wcs.crota2), "Axis2 rotation angle (deg)", &status); } } static void save_fits_header(fits *fit) { int i, status = 0; double zero; - unsigned int offset = 0; char comment[FLEN_COMMENT]; if (fit->hi) { /* may not be initialized */ @@ -676,6 +690,11 @@ fits_update_key(fit->fptr, TDOUBLE, "BSCALE", &zero, "default scaling factor", &status); + status = 0; + if (fit->maximum_pixel_value) + fits_update_key(fit->fptr, TUINT, "MAXCFA", + &(fit->maximum_pixel_value), "maximum raw pixel value", &status); + /******************************************************************* * ************* CAMERA AND INSTRUMENT KEYWORDS ******************** * ******************** AND DATES ********************************** @@ -753,11 +772,11 @@ "Bayer color pattern", &status); status = 0; - fits_update_key(fit->fptr, TUINT, "XBAYROFF", &(offset), + fits_update_key(fit->fptr, TINT, "XBAYROFF", &(fit->bayer_xoffset), "X offset of Bayer array", &status); status = 0; - fits_update_key(fit->fptr, TUINT, "YBAYROFF", &(offset), + fits_update_key(fit->fptr, TINT, "YBAYROFF", &(fit->bayer_yoffset), "Y offset of Bayer array", &status); } @@ -789,10 +808,9 @@ status = 0; if (fit->history) { - GSList *list = fit->history; - while (list) { + GSList *list; + for (list = fit->history; list; list = list->next) { fits_write_history(fit->fptr, (char *)list->data, &status); - list = list->next; } } @@ -816,7 +834,7 @@ strcpy(comment, "Phase of a Discrete Fourier Transform"); else status = 1; // should not happen - fits_update_key(fit->fptr, TSTRING, "DFT_TYPE", &(fit->dft.type), + fits_update_key(fit->fptr, TSTRING, "DFTTYPE", &(fit->dft.type), comment, &status); } @@ -828,13 +846,13 @@ strcpy(comment, "High spatial freq. are located at image center"); else status = 1; // should not happen - fits_update_key(fit->fptr, TSTRING, "DFT_ORD", &(fit->dft.ord), comment, + fits_update_key(fit->fptr, TSTRING, "DFTORD", &(fit->dft.ord), comment, &status); } for (i = 0; i < fit->naxes[2]; i++) { if (fit->dft.norm[i] > 0.) { - char str1[] = "DFT_NOR"; + char str1[] = "DFTNORM"; char str2[] = "Normalisation value for channel #"; char key_str[FLEN_KEYWORD], comment_str[FLEN_VALUE]; sprintf(key_str, "%s%d", str1, i); @@ -844,14 +862,6 @@ comment_str, &status); } } - - status = 0; - if (fit->dft.rx) { /* may not be initialized */ - fits_update_key(fit->fptr, TUSHORT, "DFT_RX", &(fit->dft.rx), - "Original width size", &status); - fits_update_key(fit->fptr, TUSHORT, "DFT_RY", &(fit->dft.ry), - "Original height size", &status); - } } /********************** public functions ************************************/ @@ -1000,6 +1010,7 @@ read_fits_header(fit); // stores useful header data in fit retval = read_fits_with_convert(fit, filename); + fit->top_down = FALSE; if (!retval) { // copy the entire header @@ -1234,7 +1245,7 @@ } status = 0; /* some float cases where it is USHORT saved as float */ - if (f->bitpix > BYTE_IMG && f->data_max > 1.0 && f->data_max <= USHRT_MAX) { + if (f->bitpix != BYTE_IMG && f->data_max > 1.0 && f->data_max <= USHRT_MAX) { f->bitpix = USHORT_IMG; } if (fits_create_img(f->fptr, f->bitpix, f->naxis, f->naxes, &status)) { @@ -1386,6 +1397,8 @@ if (from->stats[i]) add_stats_to_fit(to, i, from->stats[i]); } + } else { + invalidate_stats_from_fit(to); } } @@ -1418,6 +1431,8 @@ to->binning_x = from->binning_x; to->binning_y = from->binning_y; + to->maximum_pixel_value = from->maximum_pixel_value; + strncpy(to->date_obs, from->date_obs, FLEN_VALUE); strncpy(to->date, from->date, FLEN_VALUE); strncpy(to->instrume, from->instrume, FLEN_VALUE); @@ -1427,6 +1442,8 @@ strncpy(to->dft.ord, from->dft.ord, FLEN_VALUE); strncpy(to->bayer_pattern, from->bayer_pattern, FLEN_VALUE); + to->bayer_xoffset = from->bayer_xoffset; + to->bayer_yoffset = from->bayer_yoffset; to->focal_length = from->focal_length; to->iso_speed = from->iso_speed; to->exposure = from->exposure; @@ -1436,8 +1453,6 @@ to->dft.norm[0] = from->dft.norm[0]; to->dft.norm[1] = from->dft.norm[1]; to->dft.norm[2] = from->dft.norm[2]; - to->dft.rx = from->dft.rx; - to->dft.ry = from->dft.ry; return 0; } diff -Nru siril-0.9.10/src/io/image_formats_internal.c siril-0.9.11/src/io/image_formats_internal.c --- siril-0.9.10/src/io/image_formats_internal.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/image_formats_internal.c 2019-05-27 09:16:07.000000000 +0000 @@ -358,7 +358,7 @@ return 1; } - norm = (fit->orig_bitpix > BYTE_IMG ? + norm = (fit->orig_bitpix != BYTE_IMG ? UCHAR_MAX_DOUBLE / USHRT_MAX_DOUBLE : 1.0); fwrite(bmpfileheader, sizeof(bmpfileheader), 1, f); @@ -601,7 +601,7 @@ WORD *gbuf[3] = { fit->pdata[RLAYER], fit->pdata[GLAYER], fit->pdata[BLAYER] }; fits_flip_top_to_bottom(fit); - norm = (fit->orig_bitpix > BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; + norm = (fit->orig_bitpix != BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; for (i = 0; i < ndata; i++) { WORD color[3]; color[0] = *gbuf[RLAYER]++ * norm; @@ -640,7 +640,7 @@ fprintf(fp, "P5\n%s\n%u %u\n%u\n", comment, fit->rx, fit->ry, USHRT_MAX); fits_flip_top_to_bottom(fit); - norm = (fit->orig_bitpix > BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; + norm = (fit->orig_bitpix != BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; for (i = 0; i < ndata; i++) { WORD tmp = *gbuf++ * norm; /* change endianness in place */ @@ -781,23 +781,19 @@ retval = fclose(pic_file->file); pic_file->file = NULL; } - if (pic_file->date) - free(pic_file->date); - if (pic_file->time) - free(pic_file->time); - memset(pic_file, 0, sizeof(struct pic_struct)); + g_free(pic_file->date); + g_free(pic_file->time); free(pic_file); return retval; } int readpic(const char *name, fits *fit) { - char header[290]; + char header[290] = { 0 }; struct pic_struct *pic_file; WORD *buf; int retval = 0; unsigned int nbdata; - memset(&header, 0, sizeof(header)); pic_file = calloc(1, sizeof(struct pic_struct)); if ((pic_file->file = g_fopen(name, "rb")) == NULL) { @@ -817,7 +813,7 @@ fit->lo = pic_file->lo; nbdata = fit->rx * fit->ry; - assert(nbdata > 0); + fseek(pic_file->file, sizeof(header), SEEK_SET); buf = malloc(nbdata * pic_file->nbplane * sizeof(WORD)); @@ -844,7 +840,6 @@ char *basename = g_path_get_basename(name); siril_log_message(_("Reading PIC: file %s, %ld layer(s), %ux%u pixels\n"), basename, fit->naxes[2], fit->rx, fit->ry); - g_free(basename); siril_log_message("(%d,%d)-(%d,%d) - Binning %dx%d\n", pic_file->bin[0], pic_file->bin[1], pic_file->bin[2], pic_file->bin[3], fit->binning_x, fit->binning_y); @@ -859,6 +854,7 @@ } _pic_close_file(pic_file); + g_free(basename); free(buf); return retval; } diff -Nru siril-0.9.10/src/io/image_formats_libraries.c siril-0.9.11/src/io/image_formats_libraries.c --- siril-0.9.10/src/io/image_formats_libraries.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/image_formats_libraries.c 2019-05-27 09:16:07.000000000 +0000 @@ -23,7 +23,7 @@ #endif #include #include -#include +#include #ifdef HAVE_LIBTIFF #define uint64 uint64_hack_ @@ -357,7 +357,7 @@ switch (bitspersample) { case 8: buf8 = _TIFFmalloc(width * sizeof(unsigned char) * nsamples); - norm = fit->orig_bitpix > BYTE_IMG ? UCHAR_MAX_DOUBLE / USHRT_MAX_DOUBLE : 1.0; + norm = fit->orig_bitpix != BYTE_IMG ? UCHAR_MAX_DOUBLE / USHRT_MAX_DOUBLE : 1.0; for (row = 0; row < height; row++) { for (col = 0; col < width; col++) { for (n = 0; n < nsamples; n++) { @@ -372,7 +372,7 @@ break; case 16: buf16 = _TIFFmalloc(width * sizeof(WORD) * nsamples); - norm = (fit->orig_bitpix > BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; + norm = (fit->orig_bitpix != BYTE_IMG) ? 1.0 : USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE; for (row = 0; row < height; row++) { for (col = 0; col < width; col++) { @@ -505,7 +505,7 @@ unsigned char *image_buffer = (unsigned char*) malloc( cinfo.image_width * cinfo.image_height * cinfo.num_components); - norm = (fit->orig_bitpix > BYTE_IMG ? + norm = (fit->orig_bitpix != BYTE_IMG ? UCHAR_MAX_DOUBLE / USHRT_MAX_DOUBLE : 1.0); for (i = (cinfo.image_height - 1); i >= 0; i--) { @@ -860,6 +860,51 @@ } } +#if (LIBRAW_MAJOR_VERSION == 0) && (LIBRAW_MINOR_VERSION < 18) +#define LIBRAW_FORMAT_1INCH 5 +#endif + +/* this is an estimation of the pixel size. Indeed, we cannot know + * the real width resolution with libraw. + * However, this approximation should be good enough. + */ +static float estimate_pixel_pitch(libraw_data_t *raw) { + float s_width; + + switch (raw->lens.makernotes.CameraFormat) { + case LIBRAW_FORMAT_APSC: + if (!g_ascii_strncasecmp("Canon", raw->idata.make, 5)) + s_width = 22.3; + else + s_width = 23.6; + break; + case LIBRAW_FORMAT_FF: + if (!g_ascii_strncasecmp("Sony", raw->idata.make, 4)) + s_width = 35.6; + else + s_width = 36.0; + break; + case LIBRAW_FORMAT_FT: + s_width = 17.3; + break; + case LIBRAW_FORMAT_APSH: + s_width = 28.7; + break; + case LIBRAW_FORMAT_1INCH: + s_width = 13.2; + break; + case LIBRAW_FORMAT_MF: + s_width = 44.0; + break; + default: + s_width = 0.0; + break; + } +// printf("s_width=%f\n", s_width); + float pitch = s_width / (float) raw->sizes.width * 1000.f; + return roundf(pitch * 100.f) / 100.f; +} + static int siril_libraw_open_file(libraw_data_t* rawdata, const char *name) { /* libraw_open_wfile is not defined for all windows compilers */ #if defined(_WIN32) && !defined(__MINGW32__) && defined(_MSC_VER) && (_MSC_VER > 1310) @@ -886,6 +931,7 @@ static int readraw(const char *name, fits *fit) { ushort width, height; int npixels, i; + double pitch; WORD *data = NULL; libraw_data_t *raw = libraw_init(0); libraw_processed_image_t *image = NULL; @@ -909,13 +955,13 @@ raw->params.output_bps = 16; /* 16-bits files */ raw->params.four_color_rgb = 0; /* If == 1, interpolate RGB as four colors.*/ raw->params.no_auto_bright = 1; /* no auto_bright */ - raw->params.gamm[0] = 1./com.raw_set.gamm[0]; /* Gamma curve set by the user */ + raw->params.gamm[0] = 1.0 / com.raw_set.gamm[0]; /* Gamma curve set by the user */ raw->params.gamm[1] = com.raw_set.gamm[1]; raw->params.bright = com.raw_set.bright; /* Brightness */ raw->params.user_flip = 0; /* no flip */ raw->params.use_camera_wb = com.raw_set.use_camera_wb; raw->params.use_auto_wb = com.raw_set.use_auto_wb; - if (com.raw_set.user_black==1) + if (com.raw_set.user_black == 1) raw->params.user_black = 0; /* user black level equivalent to dcraw -k 0 */ raw->params.output_color = 0; /* output colorspace, 0=raw, 1=sRGB, 2=Adobe, 3=Wide, 4=ProPhoto, 5=XYZ*/ @@ -959,6 +1005,7 @@ width = raw->sizes.iwidth; height = raw->sizes.iheight; + pitch = estimate_pixel_pitch(raw); npixels = width * height; @@ -1035,13 +1082,15 @@ fit->pdata[GLAYER] = fit->data + npixels; fit->pdata[BLAYER] = fit->data + npixels * 2; fit->binning_x = fit->binning_y = 1; - if (raw->other.focal_len > 0.) + if (pitch > 0.f) + fit->pixel_size_x = fit->pixel_size_y = pitch; + if (raw->other.focal_len > 0.f) fit->focal_length = raw->other.focal_len; - if (raw->other.iso_speed > 0.) + if (raw->other.iso_speed > 0.f) fit->iso_speed = raw->other.iso_speed; - if (raw->other.shutter > 0.) + if (raw->other.shutter > 0.f) fit->exposure = raw->other.shutter; - if (raw->other.aperture > 0.) + if (raw->other.aperture > 0.f) fit->aperture = raw->other.aperture; g_snprintf(fit->instrume, FLEN_VALUE, "%s %s", raw->idata.make, raw->idata.model); @@ -1088,6 +1137,7 @@ static int readraw_in_cfa(const char *name, fits *fit) { libraw_data_t *raw = libraw_init(0); unsigned int i, j, c, col, row; + float pitch; char pattern[FLEN_VALUE]; ushort raw_width, raw_height, left_margin, top_margin; ushort width, height; @@ -1136,6 +1186,7 @@ height = raw->sizes.iheight; } + pitch = estimate_pixel_pitch(raw); npixels = width * height; if (raw->other.shutter > 0 && raw->other.shutter < 1) @@ -1200,13 +1251,16 @@ fit->pdata[GLAYER] = fit->data; fit->pdata[BLAYER] = fit->data; fit->binning_x = fit->binning_y = 1; - if (raw->other.focal_len > 0.) + fit->maximum_pixel_value = raw->color.maximum; + if (pitch > 0.f) + fit->pixel_size_x = fit->pixel_size_y = pitch; + if (raw->other.focal_len > 0.f) fit->focal_length = raw->other.focal_len; - if (raw->other.iso_speed > 0.) + if (raw->other.iso_speed > 0.f) fit->iso_speed = raw->other.iso_speed; - if (raw->other.shutter > 0.) + if (raw->other.shutter > 0.f) fit->exposure = raw->other.shutter; - if (raw->other.aperture > 0.) + if (raw->other.aperture > 0.f) fit->aperture = raw->other.aperture; g_snprintf(fit->instrume, FLEN_VALUE, "%s %s", raw->idata.make, raw->idata.model); diff -Nru siril-0.9.10/src/io/seqfile.c siril-0.9.11/src/io/seqfile.c --- siril-0.9.10/src/io/seqfile.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/seqfile.c 2019-05-27 09:16:07.000000000 +0000 @@ -44,8 +44,9 @@ /* seqfile version history * * no version up to 0.9.9 * version 1 introduced roundness in regdata, 0.9.9 + * version 2 allowed regdata to be stored for CFA SER sequences, 0.9.11 */ -#define CURRENT_SEQFILE_VERSION 1 // to increment on format change +#define CURRENT_SEQFILE_VERSION 2 // to increment on format change /* File format (lines starting with # are comments, lines that are (for all * something) need to be in all in sequence of this only type of line): @@ -118,6 +119,12 @@ fprintf(stderr, "readseqfile: sequence is empty?\n"); goto error; } + if (version > CURRENT_SEQFILE_VERSION) + siril_log_message(_("This sequence file was created by a version of " + "siril that is newer than this one, it may not " + "be loaded as expected\n"), + "salmon"); + /* for now, only the R* line is not supported in the previous version */ seq->seqname = strdup(filename); seq->imgparam = calloc(seq->number, sizeof(imgdata)); allocated = 1; @@ -194,17 +201,39 @@ case 'R': /* registration info */ - current_layer = line[1] - '0'; - if (current_layer < 0 || current_layer > 9) { - fprintf(stderr,"readseqfile: sequence file format error: %s\n",line); - goto error; + if (line[1] == '*') { + /* these are registration data for the CFA channel, the + * star is a way to differentiate stats belonging to + * CFA and those belonging to the demosaiced red + * channel, both would have layer number 0 otherwise */ + if (seq->type == SEQ_SER && ser_is_cfa(seq->ser_file) && + !com.debayer.open_debayer) { + siril_debug_print("- using CFA registration info\n"); + to_backup = 0; + } else { + siril_debug_print("- backing up CFA registration info\n"); + to_backup = 1; + } + current_layer = 0; } - if ((!seq->cfa_opened_monochrome && current_layer >= seq->nb_layers) || + else { + to_backup = 0; + if (seq->type == SEQ_SER && ser_is_cfa(seq->ser_file) && + !com.debayer.open_debayer) { + to_backup = 1; + siril_debug_print("- stats: backing up demosaiced stats\n"); + } + current_layer = line[1] - '0'; + } + + if (current_layer < 0 || current_layer > 9 || + (!seq->cfa_opened_monochrome && current_layer >= seq->nb_layers) || (seq->cfa_opened_monochrome && current_layer >= 3)) { fprintf(stderr,"readseqfile: sequence file format error: %s\n",line); goto error; } - if (seq->cfa_opened_monochrome) + + if (to_backup) regparam = seq->regparam_bkp[current_layer]; else regparam = seq->regparam[current_layer]; @@ -216,7 +245,7 @@ } i = 0; // one line per image, starting with 0 // reassign, because we didn't use a pointer - if (seq->cfa_opened_monochrome) + if (to_backup) seq->regparam_bkp[current_layer] = regparam; else seq->regparam[current_layer] = regparam; } @@ -303,8 +332,9 @@ GString *filmString; /* test for extension in lowercase */ filmString = g_string_new(seqfilename); - g_string_truncate(filmString, strlen(seqfilename) - 3); - g_string_append(filmString, supported_film[i].extension); + filmString = g_string_truncate(filmString, strlen(seqfilename) - 3); + filmString = g_string_append(filmString, supported_film[i].extension); + g_free(filmname); filmname = g_string_free(filmString, FALSE); if (g_file_test(filmname, G_FILE_TEST_EXISTS)) { @@ -314,12 +344,13 @@ gchar *upcase; g_free(filmname); + filmname = NULL; filmString = g_string_new(seqfilename); g_string_truncate(filmString, strlen(seqfilename) - 3); len_ext = strlen(supported_film[i].extension); upcase = g_ascii_strup(supported_film[i].extension, len_ext); - g_string_append(filmString, upcase); + filmString = g_string_append(filmString, upcase); filmname = g_string_free(filmString, FALSE); g_free(upcase); @@ -333,11 +364,13 @@ if (film_open_file(filmname, seq->film_file)) { free(seq->film_file); seq->film_file = NULL; + g_free(filmname); goto error; } else { film_display_info(seq->film_file); seq->ext = strdup(get_filename_ext(seq->film_file->filename)); + g_free(filmname); } } else seq->ext = "fit"; @@ -366,10 +399,10 @@ * would have layer number 0 otherwise */ if (seq->type == SEQ_SER && ser_is_cfa(seq->ser_file) && !com.debayer.open_debayer) { - fprintf(stdout, "- stats: using CFA stats\n"); + siril_debug_print("- stats: using CFA stats\n"); to_backup = 0; - } else { ; - fprintf(stdout, "- stats: backing up CFA stats\n"); + } else { + siril_debug_print("- stats: backing up CFA stats\n"); to_backup = 1; } current_layer = 0; @@ -379,7 +412,7 @@ if (seq->type == SEQ_SER && ser_is_cfa(seq->ser_file) && !com.debayer.open_debayer) { to_backup = 1; - fprintf(stdout, "- stats: backing up demosaiced stats\n"); + siril_debug_print("- stats: backing up demosaiced stats\n"); } current_layer = line[1] - '0'; } @@ -441,16 +474,13 @@ } // copy some regparam_bkp to regparam if it applies - if (seq->cfa_opened_monochrome && seq->regparam_bkp && (!seq->regparam || !seq->regparam[0])) { - for (i = 0; i < 3; i++) { - if (seq->regparam_bkp[i]) { - siril_log_message(_("%s: Using registration data from demosaiced layer %d (red is 0, green is 1, blue is 2)\n"), seqfilename, i); - seq->regparam[0] = calloc(seq->number, sizeof(regdata)); - for (image = 0; image < seq->number; image++) { - memcpy(&seq->regparam[0][image], &seq->regparam_bkp[i][image], sizeof(regdata)); - } - break; - } + if (ser_is_cfa(seq->ser_file) && com.debayer.open_debayer && + seq->regparam_bkp && seq->regparam_bkp[0] && + seq->regparam && seq->nb_layers == 3 && !seq->regparam[1]) { + siril_log_color_message(_("%s: Copying registration data from non-demosaiced layer to green layer\n"), "salmon", seqfilename); + seq->regparam[1] = calloc(seq->number, sizeof(regdata)); + for (image = 0; image < seq->number; image++) { + memcpy(&seq->regparam[1][image], &seq->regparam_bkp[0][image], sizeof(regdata)); } } @@ -515,9 +545,10 @@ } for (layer = 0; layer < seq->nb_layers; layer++) { - if (seq->regparam[layer] && !seq->cfa_opened_monochrome) { + if (seq->regparam[layer]) { for (i=0; i < seq->number; ++i) { - fprintf(seqfile, "R%d %f %f %g %g %g\n", layer, + fprintf(seqfile, "R%c %f %f %g %g %g\n", + seq->cfa_opened_monochrome ? '*' : '0' + layer, seq->regparam[layer][i].shiftx, seq->regparam[layer][i].shifty, seq->regparam[layer][i].fwhm, @@ -553,7 +584,8 @@ for (layer = 0; layer < 3; layer++) { if (seq->regparam_bkp && seq->regparam_bkp[layer]) { for (i=0; i < seq->number; ++i) { - fprintf(seqfile, "R%d %f %f %g %g %g\n", layer, + fprintf(seqfile, "R%c %f %f %g %g %g\n", + seq->cfa_opened_monochrome ? '0' + layer : '*', seq->regparam_bkp[layer][i].shiftx, seq->regparam_bkp[layer][i].shifty, seq->regparam_bkp[layer][i].fwhm, diff -Nru siril-0.9.10/src/io/sequence.c siril-0.9.11/src/io/sequence.c --- siril-0.9.10/src/io/sequence.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/sequence.c 2019-05-27 09:16:07.000000000 +0000 @@ -22,8 +22,13 @@ #include #endif +#ifdef _WIN32 +#include +#endif + #include #include +#include #include #include #include @@ -58,6 +63,7 @@ #include "registration/registration.h" #include "stacking/stacking.h" // for update_stack_interface + /* com.seq is a static struct containing the sequence currently selected by the * user from the interface. It may change to be a pointer to any sequence * someday, until then, the seqname is NULL when no sequence is loaded and the @@ -103,8 +109,12 @@ int retval=3; // needs to return 3 if ok !!! char *name = strdup(realname); gchar *dirname = g_path_get_dirname(realname); - if (!changedir(dirname, NULL)) + if (!changedir(dirname, NULL)) { writeinitfile(); + if (!com.script) { + set_GUI_CWD(); + } + } g_free(dirname); if (check_only_one_film_seq(realname)) retval = 1; @@ -170,6 +180,7 @@ } if ((dir = g_dir_open(com.wd, 0, &error)) == NULL) { fprintf (stderr, "check_seq: %s\n", error->message); + g_error_free(error); g_free(com.wd); com.wd = NULL; return 1; @@ -284,8 +295,8 @@ return retval; } free(sequences); - //TODO: to be translated - fprintf(stderr, "No sequence found, verify working directory or change FITS extension in settings (current is %s)\n", com.ext); + siril_log_message(_("No sequence found, verify working directory or " + "change FITS extension in settings (current is %s)\n"), com.ext); return 1; // no sequence found } @@ -303,6 +314,7 @@ } if ((dir = g_dir_open(com.wd, 0, &error)) == NULL) { fprintf (stderr, "check_only_one_film_seq: %s\n", error->message); + g_error_free(error); g_free(com.wd); com.wd = NULL; return 1; @@ -541,63 +553,65 @@ } /** - * Computes size of the sequence in B. If sequence is a SER or film file - * it returns the size of the file. If it is regular sequence, then - * the total of selected images times the size of the reference - * is returned + * Computes size of an opened sequence in bytes for a passed number of frames. + * For SER or films, it returns the size of the file. + * For FITS sequences, the reference image's size is used as baseline. + * Unsupported for internal sequences. * @param seq input sequence - * @return the size of the sequence in B + * @param nb_frames number of frames to compute the size of the sequence of + * @return the size of the sequence in bytes, or -1 if an error happened. */ -double seq_compute_size(sequence *seq) { - double size = -1.0; - double frame_size = 0; - int nb_of_frame = 0; +int64_t seq_compute_size(sequence *seq, int nb_frames) { + int64_t frame_size, size = -1LL; char filename[256]; GStatBuf sts; int ref; switch(seq->type) { case SEQ_SER: - size = (double) seq->ser_file->filesize; - /* We remove size of un-selected frames */ - frame_size = (size - SER_HEADER_LEN) / seq->ser_file->frame_count; /* frame_size also contain trailer associated */ - nb_of_frame = seq->ser_file->frame_count - seq->selnum; - size -= (nb_of_frame * frame_size); - /* don't forget we can demosaiced on the fly in - * the case of a new ser is created. We should test - * how many channels are displayed on screen if - * there is a Bayer pattern */ - switch (seq->ser_file->color_id) { - case SER_BAYER_BGGR: - case SER_BAYER_GBRG: - case SER_BAYER_GRBG: - case SER_BAYER_RGGB: - size *= seq->nb_layers; - break; - default: - break; - } + size = ser_compute_file_size(seq->ser_file, nb_frames); break; case SEQ_REGULAR: ref = sequence_find_refimage(seq); - fit_sequence_get_image_filename(seq, ref, filename, TRUE); - if (g_stat(filename, &sts) == 0) { - size = (double) sts.st_size; - size *= (double) seq->selnum; + if (fit_sequence_get_image_filename(seq, ref, filename, TRUE)) { + if (!g_lstat(filename, &sts)) { +#ifndef _WIN32 + if ( S_ISLNK(sts.st_mode) ) +#else + if (GetFileAttributesA(filename) & FILE_ATTRIBUTE_REPARSE_POINT ) +#endif + { + gchar *target_link = g_file_read_link(filename, NULL); + if ( !g_lstat(target_link, &sts) ) + { + frame_size = sts.st_size; // force 64 bits + } + else { + fprintf(stderr, "Could not open reference image of the sequence\n"); + return size; + } + g_free(target_link); + } + else + { + frame_size = sts.st_size; // force 64 bits + } + + size = frame_size * nb_frames; + } } break; #if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) case SEQ_AVI: if (g_stat(seq->film_file->filename, &sts) == 0) { - size = (double) sts.st_size; - frame_size = size / seq->film_file->frame_count; - nb_of_frame = seq->film_file->frame_count - seq->selnum; - size -= (nb_of_frame * frame_size); + // this is a close approximation + frame_size = sts.st_size / seq->film_file->frame_count; + size = nb_frames * frame_size; } break; #endif default: - fprintf(stderr, "seq_compute_size: Should not happen\n"); + fprintf(stderr, "Failure: computing sequence size on internal sequence is unsupported\n"); } return size; } @@ -618,7 +632,7 @@ if (!name_buf || index < 0 || index > seq->end) { return NULL; } - snprintf(name_buf, 255, _("%d from %s.ser"), index, seq->seqname); + snprintf(name_buf, 255, "%s_%d.ser", seq->seqname, index); name_buf[255] = '\0'; return name_buf; #if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) @@ -649,7 +663,7 @@ fit_sequence_get_image_filename(seq, index, filename, TRUE); if (readfits(filename, dest, NULL)) { siril_log_message(_("Could not load image %d from sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } break; @@ -657,7 +671,7 @@ assert(seq->ser_file); if (ser_read_frame(seq->ser_file, index, dest)) { siril_log_message(_("Could not load frame %d from SER sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } break; @@ -666,7 +680,7 @@ assert(seq->film_file); if (film_read_frame(seq->film_file, index, dest)) { siril_log_message(_("Could not load frame %d from AVI sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } // should dest->maxi be set to 255 here? @@ -698,7 +712,7 @@ fit_sequence_get_image_filename(seq, index, filename, TRUE); if (readfits_partial(filename, layer, dest, area, do_photometry)) { siril_log_message(_("Could not load partial image %d from sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } break; @@ -706,9 +720,10 @@ assert(seq->ser_file); if (ser_read_opened_partial_fits(seq->ser_file, layer, index, dest, area)) { siril_log_message(_("Could not load frame %d from SER sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } + break; #if defined(HAVE_FFMS2_1) || defined(HAVE_FFMS2_2) case SEQ_AVI: @@ -716,7 +731,7 @@ memset(&tmp_fit, 0, sizeof(fits)); if (film_read_frame(seq->film_file, index, &tmp_fit)) { siril_log_message(_("Could not load frame %d from AVI sequence %s\n"), - index, seq->seqname); + index, seq->seqname); return 1; } extract_region_from_fits(&tmp_fit, layer, dest, area); @@ -728,6 +743,7 @@ extract_region_from_fits(seq->internal_fits[index], 0, dest, area); break; } + return 0; } @@ -860,7 +876,7 @@ char format[20]; if (index < 0 || index > seq->number || name_buffer == NULL) return NULL; - if (seq->fixed <= 1){ + if (seq->fixed <= 1) { sprintf(format, "%%s%%d"); } else { sprintf(format, "%%s%%.%dd", seq->fixed); @@ -873,6 +889,16 @@ return name_buffer; } +char *fit_sequence_get_image_filename_prefixed(sequence *seq, const char *prefix, int index) { + char format[16]; + GString *str = g_string_sized_new(70); + sprintf(format, "%%s%%s%%0%dd%%s", seq->fixed); + g_string_printf(str, format, prefix, + seq->seqname, seq->imgparam[index].filenum, + com.ext); + return g_string_free(str, FALSE); +} + /* Returns a filename for an image that could be in a sequence, but the sequence structure * has not been fully initialized yet. Only beg, end, fixed and seqname are used. */ @@ -934,6 +960,44 @@ return 0; } +void remove_prefixed_sequence_files(sequence *seq, const char *prefix) { + int i, len; + gchar *basename, *seqname; + if (!prefix || prefix[0] == '\0') + return; + basename = g_path_get_basename(seq->seqname); + len = strlen(basename) + 5 + strlen(prefix); + seqname = malloc(len); + g_snprintf(seqname, len, "%s%s.seq", prefix, basename); + siril_debug_print("Removing %s\n", seqname); + g_unlink(seqname); // removing the seqfile + free(seqname); + g_free(basename); + + switch (seq->type) { + default: + case SEQ_REGULAR: + for (i = 0; i < seq->number; i++) { + // TODO: use com.cache_upscaled and the current sequence + // filter to leave the images to be up-scaled. + char *filename = fit_sequence_get_image_filename_prefixed( + seq, prefix, i); + siril_debug_print("Removing %s\n", filename); + g_unlink(filename); + free(filename); + } + break; + case SEQ_SER: + basename = seq->ser_file->filename; + len = strlen(basename) + strlen(prefix) + 1; + seqname = malloc(len); + g_snprintf(seqname, len, "%s%s", prefix, basename); + siril_debug_print("Removing %s\n", seqname); + g_unlink(seqname); + break; + } +} + /* sets default values for the sequence */ void initialize_sequence(sequence *seq, gboolean is_zeroed) { int i; @@ -957,7 +1021,7 @@ * (= do it for com.seq) */ void free_sequence(sequence *seq, gboolean free_seq_too) { int layer, j; - + if (seq == NULL) return; // free regparam if (seq->nb_layers > 0 && seq->regparam) { @@ -1016,6 +1080,13 @@ free(seq->stats_bkp); } + // free name of the layers + if (seq->nb_layers > 0) { + for (layer = 0; layer < seq->nb_layers; layer++) { + free(seq->layers[layer].name); + } + } + for (j=0; jnumber; j++) { if (seq->fptr && seq->fptr[j]) { int status = 0; @@ -1070,34 +1141,9 @@ free_photometry_set(seq, j); } - sequence_free_preprocessing_data(seq); - if (free_seq_too) free(seq); } -void sequence_free_preprocessing_data(sequence *seq) { - // free opened files - if (seq->ppprefix) { - free(seq->ppprefix); - seq->ppprefix = NULL; - } - if (seq->offset) { - clearfits(seq->offset); - free(seq->offset); - seq->offset = NULL; - } - if (seq->dark) { - clearfits(seq->dark); - free(seq->dark); - seq->dark = NULL; - } - if (seq->flat) { - clearfits(seq->flat); - free(seq->flat); - seq->flat = NULL; - } -} - gboolean sequence_is_loaded() { return (com.seq.seqname != NULL && com.seq.imgparam != NULL); } @@ -1108,16 +1154,17 @@ if (sequence_is_loaded()) { siril_log_message(_("Closing sequence %s\n"), com.seq.seqname); if (!com.headless) { - save_all_windows_position(); free_cbbt_layers(); clear_sequence_list(); } if (com.seq.needs_saving) writeseqfile(&com.seq); free_sequence(&com.seq, FALSE); - if (!com.headless) - clear_stars_list(); initialize_sequence(&com.seq, FALSE); + if (!com.headless) { + clear_stars_list(); + update_stack_interface(TRUE); + } if (!loading_another && !com.headless) { // unselect the sequence in the sequence list GtkComboBox *seqcombo = GTK_COMBO_BOX(lookup_widget("sequence_list_combobox")); @@ -1172,7 +1219,7 @@ } } } - + if (best == -1) best = 0; // the first anyway if no regdata and no selected return best; @@ -1190,6 +1237,14 @@ } } +/* assign shift values for registration data of a sequence, depending on its type and sign */ +void set_shifts(sequence *seq, int frame, int layer, float shiftx, float shifty, gboolean data_is_top_down) { + if (seq->regparam[layer]) { + seq->regparam[layer][frame].shiftx = shiftx; + seq->regparam[layer][frame].shifty = data_is_top_down ? -shifty : shifty; + } +} + /* internal sequence are a set of 1-layer images already loaded elsewhere, and * directly referenced as fits *. * This is used in LRGV composition. @@ -1287,7 +1342,7 @@ } set_progress_bar_data(_("Processing..."), PROGRESS_RESET); for (frame = 0, cur_nb = 0.f; frame < args->seq->number; frame++) { - if (!get_thread_run()) + if (!get_thread_run() || args->retvalue) break; fits fit; memset(&fit, 0, sizeof(fits)); @@ -1301,7 +1356,7 @@ fit_sequence_get_image_filename(args->seq, frame, filename, TRUE); sprintf(dest, "%s%s", args->prefix, filename); - savefits(dest, &fit); + args->retvalue = savefits(dest, &fit); break; case SEQ_SER: if (ser_file) { @@ -1309,6 +1364,7 @@ ser_file->image_height = fit.ry; if (ser_write_frame_from_fit(ser_file, &fit, frame)) { siril_log_message(_("Error while converting to SER (no space left?)\n")); + args->retvalue = 1; } } break; @@ -1390,18 +1446,17 @@ data->image_index = index; rectangle psfarea = { .x = 0, .y = 0, .w = fit->rx, .h = fit->ry }; - data->psf = psf_get_minimisation(fit, 0, &psfarea, !spsfargs->for_registration); + data->psf = psf_get_minimisation(fit, 0, &psfarea, !spsfargs->for_registration, TRUE); if (data->psf) { data->psf->xpos = data->psf->x0 + area->x; - // for Y, it's a bit special because FITS are upside-down - if (args->seq->type == SEQ_SER) + if (fit->top_down) data->psf->ypos = data->psf->y0 + area->y; else data->psf->ypos = area->y + area->h - data->psf->y0; /* let's move args->area to center it on the star */ if (spsfargs->framing == FOLLOW_STAR_FRAME) { - args->area.x = round_to_int(data->psf->xpos - args->area.w/2.0); - args->area.y = round_to_int(data->psf->ypos - args->area.h/2.0); + args->area.x = round_to_int(data->psf->xpos - args->area.w*0.5); + args->area.y = round_to_int(data->psf->ypos - args->area.h*0.5); //fprintf(stdout, "moving area to %d, %d\n", args->area.x, args->area.y); } @@ -1458,8 +1513,8 @@ photometry_index = i; } - GSList *iterator = spsfargs->list; - while (iterator) { + GSList *iterator; + for (iterator = spsfargs->list; iterator; iterator = iterator->next) { struct seqpsf_data *data = iterator->data; /* check exposure consistency (only obtained when !for_registration) */ if (!spsfargs->for_registration && seq->exposure > 0.0 && @@ -1482,8 +1537,6 @@ if (!spsfargs->for_registration) { seq->photometry[photometry_index][data->image_index] = data->psf; } - - iterator = g_slist_next(iterator); } // for registration use: store data in seq->regparam diff -Nru siril-0.9.10/src/io/sequence_export.c siril-0.9.11/src/io/sequence_export.c --- siril-0.9.10/src/io/sequence_export.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/sequence_export.c 2019-05-27 09:16:07.000000000 +0000 @@ -59,8 +59,8 @@ } static gpointer export_sequence(gpointer ptr) { - int i, x, y, nx, ny, shiftx, shifty, layer, retval = 0, reglayer, nb_layers, skipped; - float cur_nb = 0.f, nb_frames; + int i, x, y, nx, ny, shiftx, shifty, layer, retval = 0, reglayer, + nb_layers, skipped, nb_frames, cur_nb = 0; unsigned int out_width, out_height, in_width, in_height, nbdata = 0; uint8_t *data; fits fit = { 0 }; @@ -68,6 +68,7 @@ char filename[256], dest[256]; struct ser_struct *ser_file = NULL; GSList *timestamp = NULL; + char *filter_descr; gchar *strTime; #ifdef HAVE_FFMPEG struct mp4_struct *mp4_file = NULL; @@ -170,18 +171,26 @@ break; } + nb_frames = compute_nb_filtered_images(args->seq, + args->filtering_criterion, args->filtering_parameter); + filter_descr = describe_filter(args->seq, args->filtering_criterion, + args->filtering_parameter); + siril_log_message(filter_descr); + g_free(filter_descr); + if (args->normalize) { - struct stacking_args stackargs; + struct stacking_args stackargs = { 0 }; stackargs.force_norm = FALSE; stackargs.seq = args->seq; - stackargs.nb_images_to_stack = args->seq->number; - stackargs.filtering_criterion = stack_filter_all; + stackargs.filtering_criterion = args->filtering_criterion; + stackargs.filtering_parameter = args->filtering_parameter; + stackargs.nb_images_to_stack = nb_frames; stackargs.normalize = ADDITIVE_SCALING; stackargs.reglayer = reglayer; // build image indices used by normalization - stackargs.image_indices = malloc(stackargs.nb_images_to_stack * sizeof(int)); - stack_fill_list_of_unfiltered_images(&stackargs); + if (stack_fill_list_of_unfiltered_images(&stackargs)) + goto free_and_reset_progress_bar; do_normalization(&stackargs); coeff.offset = stackargs.coeff.offset; @@ -192,8 +201,6 @@ free(stackargs.image_indices); } - nb_frames = (float)args->seq->number; - set_progress_bar_data(NULL, PROGRESS_RESET); for (i = 0, skipped = 0; i < args->seq->number; ++i) { if (!get_thread_run()) { @@ -212,8 +219,7 @@ } char *tmpmsg = strdup(_("Processing image ")); tmpmsg = str_append(&tmpmsg, filename); - set_progress_bar_data(tmpmsg, - (double) cur_nb / ((double) nb_frames + 1.)); + set_progress_bar_data(tmpmsg, (double)cur_nb / (double)nb_frames); free(tmpmsg); if (seq_read_frame(args->seq, i, &fit)) { @@ -337,9 +343,7 @@ break; #endif } - cur_nb += 1.f; - set_progress_bar_data(NULL, cur_nb / nb_frames); - + cur_nb++; clearfits(&fit); } @@ -385,13 +389,10 @@ void on_buttonExportSeq_clicked(GtkButton *button, gpointer user_data) { int selected = gtk_combo_box_get_active(GTK_COMBO_BOX(lookup_widget("comboExport"))); const char *bname = gtk_entry_get_text(GTK_ENTRY(lookup_widget("entryExportSeq"))); - GtkAdjustment *stackadj = GTK_ADJUSTMENT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(lookup_widget("stackspin")))); - GtkComboBox *stack_type = GTK_COMBO_BOX(lookup_widget("comboboxstacksel")); struct exportseq_args *args; GtkToggleButton *exportNormalize, *checkResize; GtkEntry *fpsEntry, *widthEntry, *heightEntry; GtkAdjustment *adjQual; - double percent; if (bname[0] == '\0') return; if (selected == -1) return; @@ -407,28 +408,7 @@ memcpy(&args->crop_area, &com.selection, sizeof(rectangle)); // filtering - switch (gtk_combo_box_get_active(stack_type)) { - case ALL_IMAGES: - args->filtering_criterion = stack_filter_all; - break; - case SELECTED_IMAGES: - args->filtering_criterion = stack_filter_included; - break; - case BEST_PSF_IMAGES: - percent = gtk_adjustment_get_value(stackadj); - args->filtering_criterion = stack_filter_fwhm; - args->filtering_parameter = compute_highest_accepted_fwhm(percent); - break; - case BEST_ROUND_IMAGES: - percent = gtk_adjustment_get_value(stackadj); - args->filtering_criterion = stack_filter_roundness; - args->filtering_parameter = compute_lowest_accepted_roundness(percent); - break; - case BEST_QUALITY_IMAGES: - percent = gtk_adjustment_get_value(stackadj); - args->filtering_criterion = stack_filter_quality; - args->filtering_parameter = compute_highest_accepted_quality(percent); - } + get_sequence_filtering_from_gui(&args->filtering_criterion, &args->filtering_parameter); // format switch (selected) { diff -Nru siril-0.9.10/src/io/sequence.h siril-0.9.11/src/io/sequence.h --- siril-0.9.10/src/io/sequence.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/sequence.h 2019-05-27 09:16:07.000000000 +0000 @@ -1,6 +1,7 @@ #ifndef _SEQUENCE_H_ #define _SEQUENCE_H_ +#include #include "../core/siril.h" int read_single_sequence(char *realname, int imagetype); @@ -13,14 +14,16 @@ int seq_read_frame(sequence *seq, int index, fits *dest); int seq_read_frame_part(sequence *seq, int layer, int index, fits *dest, const rectangle *area, gboolean do_photometry); int seq_load_image(sequence *seq, int index, gboolean load_it); -double seq_compute_size(sequence *seq); +int64_t seq_compute_size(sequence *seq, int nb_frames); int seq_open_image(sequence *seq, int index); void seq_close_image(sequence *seq, int index); int seq_opened_read_region(sequence *seq, int layer, int index, WORD *buffer, const rectangle *area); void set_fwhm_star_as_star_list(sequence *seq); char * fit_sequence_get_image_filename(sequence *seq, int index, char *name_buffer, gboolean add_fits_ext); +char * fit_sequence_get_image_filename_prefixed(sequence *seq, const char *prefix, int index); char * get_possible_image_filename(sequence *seq, int image_number, char *name_buffer); int get_index_and_basename(const char *filename, char **basename, int *index, int *fixed); +void remove_prefixed_sequence_files(sequence *seq, const char *prefix); void initialize_sequence(sequence *seq, gboolean is_zeroed); void free_sequence(sequence *seq, gboolean free_seq_too); void sequence_free_preprocessing_data(sequence *seq); @@ -48,6 +51,7 @@ #endif int sequence_find_refimage(sequence *seq); void check_or_allocate_regparam(sequence *seq, int layer); +void set_shifts(sequence *seq, int frame, int layer, float shiftx, float shifty, gboolean data_is_top_down); sequence *create_internal_sequence(int size); void internal_sequence_set(sequence *seq, int index, fits *fit); int internal_sequence_find_index(sequence *seq, fits *fit); diff -Nru siril-0.9.10/src/io/ser.c siril-0.9.11/src/io/ser.c --- siril-0.9.10/src/io/ser.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/ser.c 2019-05-27 09:16:07.000000000 +0000 @@ -41,7 +41,7 @@ #include "algos/demosaicing.h" #include "io/ser.h" -static gboolean warning = FALSE; +static gboolean user_warned = FALSE; /* 62135596800 sec from year 0001 to 01 janv. 1970 00:00:00 GMT */ static const uint64_t epochTicks = 621355968000000000UL; @@ -537,10 +537,11 @@ ser_file->ts = calloc(8, ser_file->frame_count); ser_file->ts_alloc = ser_file->frame_count; - while (timestamp && i < ser_file->frame_count) { + GSList *t = timestamp; + while (t && i < ser_file->frame_count) { uint64_t utc, local; - FITS_date_key_to_Unix_time(timestamp->data, &utc, &local); - timestamp = timestamp->next; + FITS_date_key_to_Unix_time(t->data, &utc, &local); + t = t->next; memcpy(&ser_file->ts[i], &utc, 8); i++; } @@ -824,21 +825,24 @@ sensor_pattern bayer; bayer = get_SER_Bayer_Pattern(type_ser); if (bayer != com.debayer.bayer_pattern) { - if (bayer == BAYER_FILTER_NONE && warning == FALSE) { + if (bayer == BAYER_FILTER_NONE && user_warned == FALSE) { siril_log_color_message(_("No Bayer pattern found in the header file.\n"), "red"); } else { - if (warning == FALSE) { + if (user_warned == FALSE) { siril_log_color_message(_("Bayer pattern found in header (%s) is different" " from Bayer pattern in settings (%s). Overriding settings.\n"), "red", filter_pattern[bayer], filter_pattern[com.debayer.bayer_pattern]); } com.debayer.bayer_pattern = bayer; } - warning = TRUE; + user_warned = TRUE; } } - debayer(fit, com.debayer.bayer_inter); + /* for performance consideration (and many others) we force the interpolation algorithm + * to be BAYER_BILINEAR + */ + debayer(fit, BAYER_BILINEAR, FALSE); com.debayer.bayer_pattern = sensortmp; break; case SER_BGR: @@ -880,6 +884,7 @@ } fits_flip_top_to_bottom(fit); + fit->top_down = FALSE; return 0; } @@ -1030,18 +1035,18 @@ sensor_pattern bayer; bayer = get_SER_Bayer_Pattern(type_ser); if (bayer != com.debayer.bayer_pattern) { - if (bayer == BAYER_FILTER_NONE && warning == FALSE) { + if (bayer == BAYER_FILTER_NONE && user_warned == FALSE) { siril_log_color_message(_("No Bayer pattern found in the header file.\n"), "red"); } else { - if (warning == FALSE) { + if (user_warned == FALSE) { siril_log_color_message(_("Bayer pattern found in header (%s) is different" " from Bayer pattern in settings (%s). Overriding settings.\n"), "red", filter_pattern[bayer], filter_pattern[com.debayer.bayer_pattern]); } com.debayer.bayer_pattern = bayer; } - warning = TRUE; + user_warned = TRUE; } } if (layer < 0 || layer >= 3) { @@ -1056,16 +1061,19 @@ // allocating a buffer for WORD because it's going to be converted in-place rawbuf = malloc(debayer_area.w * debayer_area.h * sizeof(WORD)); if (!rawbuf) { - siril_log_message(_("Out of memory - aborting\n")); + PRINT_ALLOC_ERR; return -1; } if (read_area_from_image(ser_file, frame_no, rawbuf, &debayer_area, -1)) return -1; ser_manage_endianess_and_depth(ser_file, rawbuf, debayer_area.w * debayer_area.h); + /* for performance consideration (and many others) we force the interpolation algorithm + * to be BAYER_BILINEAR + */ demosaiced_buf = debayer_buffer(rawbuf, &debayer_area.w, - &debayer_area.h, com.debayer.bayer_inter, - com.debayer.bayer_pattern, NULL); + &debayer_area.h, BAYER_BILINEAR, com.debayer.bayer_pattern, + NULL); free(rawbuf); if (demosaiced_buf == NULL) { return -1; @@ -1104,6 +1112,14 @@ int frame_no, fits *fit, const rectangle *area) { if (new_fit_image(&fit, area->w, area->h, 1)) return -1; + fit->top_down = TRUE; + if (ser_file->ts) { + char *timestamp = ser_timestamp(ser_file->ts[frame_no]); + if (timestamp) { + g_snprintf(fit->date_obs, FLEN_VALUE, "%s", timestamp); + free(timestamp); + } + } return ser_read_opened_partial(ser_file, layer, frame_no, fit->pdata[0], area); } @@ -1206,3 +1222,17 @@ if (data16) free(data16); return retval; } + +int64_t ser_compute_file_size(struct ser_struct *ser_file, int nb_frames) { + int64_t frame_size, size = ser_file->filesize; + + if (nb_frames != ser_file->frame_count) { + frame_size = (size - SER_HEADER_LEN) / ser_file->frame_count; + size = SER_HEADER_LEN + frame_size * nb_frames; + } + /* SER can be demosaiced on the fly on creation. + * TODO: Is this the good test? */ + if (ser_is_cfa(ser_file) && com.debayer.open_debayer) + size *= 3; + return size; +} diff -Nru siril-0.9.10/src/io/ser.h siril-0.9.11/src/io/ser.h --- siril-0.9.10/src/io/ser.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/ser.h 2019-05-27 09:16:07.000000000 +0000 @@ -129,6 +129,7 @@ int ser_read_opened_partial(struct ser_struct *ser_file, int layer, int frame_no, WORD *buffer, const rectangle *area); int ser_write_frame_from_fit(struct ser_struct *ser_file, fits *fit, int frame); +int64_t ser_compute_file_size(struct ser_struct *ser_file, int nb_frames); #endif diff -Nru siril-0.9.10/src/io/single_image.c siril-0.9.11/src/io/single_image.c --- siril-0.9.10/src/io/single_image.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/single_image.c 2019-05-27 09:16:07.000000000 +0000 @@ -26,6 +26,7 @@ #include "core/siril.h" #include "core/proto.h" #include "algos/statistics.h" +#include "algos/background_extraction.h" #include "gui/callbacks.h" #include "gui/message_dialog.h" #include "io/conversion.h" @@ -62,6 +63,8 @@ clear_stars_list(); delete_selected_area(); clear_sampling_setting_box(); // clear focal and pixel pitch info + free_background_sample_list(com.grad_samples); + com.grad_samples = NULL; } clear_histograms(); @@ -84,10 +87,9 @@ com.rgbbuf = NULL; } if (com.uniq) { - if (com.uniq->filename) - free(com.uniq->filename); - if (com.uniq->comment) - free(com.uniq->comment); + free(com.uniq->filename); + free(com.uniq->comment); + free(com.uniq->layers); free(com.uniq); com.uniq = NULL; } @@ -137,7 +139,7 @@ } else { retval = any_to_fits(imagetype, realname, dest); if (!retval) - debayer_if_needed(imagetype, dest, com.debayer.compatibility, FALSE); + debayer_if_needed(imagetype, dest, com.debayer.compatibility, FALSE, com.debayer.stretch); } if (retval != 0 && retval != 3) siril_log_message(_("Opening %s failed.\n"), realname); @@ -151,8 +153,7 @@ } static gboolean end_open_single_image(gpointer arg) { - char *name = (char *)arg; - open_single_image_from_gfit(name); + open_single_image_from_gfit(); return FALSE; } @@ -201,10 +202,8 @@ } /* creates a single_image structure and displays a single image, found in gfit. - * The argument, realname, should be the file path, and it must be allocated - * on the heap, since destroying the single image will attempt to free it. */ -void open_single_image_from_gfit(char *realname) { +void open_single_image_from_gfit() { /* now initializing everything * code based on seq_load_image or set_seq (sequence.c) */ @@ -226,7 +225,6 @@ update_MenuItem(); redraw(com.cvport, REMAP_ALL); - update_used_memory(); show_main_gray_window(); adjust_vport_size_to_image(); update_gfit_histogram_if_needed(); @@ -235,6 +233,7 @@ else hide_rgb_window(); close_tab(); + update_used_memory(); } /* searches the image for minimum and maximum pixel value, on each layer @@ -333,29 +332,6 @@ } } -void unique_free_preprocessing_data(single *uniq) { - // free opened files - if (uniq->ppprefix) { - free(uniq->ppprefix); - uniq->ppprefix = NULL; - } - if (uniq->offset) { - clearfits(uniq->offset); - free(uniq->offset); - uniq->offset = NULL; - } - if (uniq->dark) { - clearfits(uniq->dark); - free(uniq->dark); - uniq->dark = NULL; - } - if (uniq->flat) { - clearfits(uniq->flat); - free(uniq->flat); - uniq->flat = NULL; - } -} - int single_image_is_loaded() { return (com.uniq != NULL && com.uniq->nb_layers > 0); } diff -Nru siril-0.9.10/src/io/single_image.h siril-0.9.11/src/io/single_image.h --- siril-0.9.10/src/io/single_image.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/io/single_image.h 2019-05-27 09:16:07.000000000 +0000 @@ -5,7 +5,7 @@ void free_image_data(); int read_single_image(const char* filename, fits *dest, char **realname_out); int open_single_image(const char* filename); -void open_single_image_from_gfit(char *realname); +void open_single_image_from_gfit(); int image_find_minmax(fits *fit); double fit_get_max(fits *fit, int layer); diff -Nru siril-0.9.10/src/main.c siril-0.9.11/src/main.c --- siril-0.9.10/src/main.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/main.c 2019-05-27 09:16:07.000000000 +0000 @@ -30,6 +30,8 @@ #ifdef _WIN32 #include #include +#include +#include #endif #include #include @@ -58,14 +60,14 @@ #include "core/undo.h" #include "io/single_image.h" #include "algos/star_finder.h" +#include "algos/photometry.h" #define GLADE_FILE "siril3.glade" /* the global variables of the whole project */ cominfo com; // the main data struct fits gfit; // currently loaded image -GtkBuilder *builder; // get widget references anywhere -void initialize_scrollbars(); +GtkBuilder *builder = NULL; // get widget references anywhere #ifdef MAC_INTEGRATION @@ -85,7 +87,7 @@ gtkosx_application_insert_app_menu_item(osx_app, GTK_WIDGET(item), index); } -static void set_osx_integration(GtkosxApplication *osx_app, gchar *siril_path) { +static void set_osx_integration(GtkosxApplication *osx_app) { GtkWidget *menubar = lookup_widget("menubar1"); GtkWidget *file_quit_menu_item = lookup_widget("exit"); GtkWidget *help_menu = lookup_widget("help1"); @@ -113,7 +115,7 @@ gtk_widget_hide(file_quit_menu_item); gtk_widget_hide(help_menu); - icon_path = g_build_filename(siril_path, "pixmaps/siril.svg", NULL); + icon_path = g_build_filename(com.app_path, "pixmaps/siril.svg", NULL); icon = gdk_pixbuf_new_from_file(icon_path, NULL); gtkosx_application_set_dock_icon_pixbuf(osx_app, icon); @@ -122,10 +124,54 @@ } #endif +#ifdef _WIN32 +/* origine du source: https://stackoverflow.com/questions/24171017/win32-console-application-that-can-open-windows */ +int ReconnectIO(int OpenNewConsole) +{ + int hConHandle; + HANDLE lStdHandle; + FILE *fp; + int MadeConsole; + + MadeConsole=0; + if(!AttachConsole(ATTACH_PARENT_PROCESS)) + { + if(!OpenNewConsole) + return 0; + + MadeConsole=1; + if(!AllocConsole()) + return 0; + } + + // STDOUT to the console + lStdHandle = GetStdHandle(STD_OUTPUT_HANDLE); + hConHandle = _open_osfhandle((intptr_t)lStdHandle, _O_TEXT); + fp = _fdopen( hConHandle, "w" ); + *stdout = *fp; + setvbuf( stdout, NULL, _IONBF, 0 ); + + // STDIN to the console + lStdHandle = GetStdHandle(STD_INPUT_HANDLE); + hConHandle = _open_osfhandle((intptr_t)lStdHandle, _O_TEXT); + fp = _fdopen( hConHandle, "r" ); + *stdin = *fp; + setvbuf( stdin, NULL, _IONBF, 0 ); + + // STDERR to the console + lStdHandle = GetStdHandle(STD_ERROR_HANDLE); + hConHandle = _open_osfhandle((intptr_t)lStdHandle, _O_TEXT); + fp = _fdopen( hConHandle, "w" ); + *stderr = *fp; + setvbuf( stderr, NULL, _IONBF, 0 ); + + return MadeConsole; +} +#endif -char *siril_sources[] = { +static char *siril_sources[] = { #ifdef _WIN32 - "../share/siril", + "../share/siril", #elif (defined(__APPLE__) && defined(__MACH__)) "/tmp/siril/Contents/Resources/share/siril/", #endif @@ -135,7 +181,7 @@ "" }; -void usage(const char *command) { +static void usage(const char *command) { printf("\nUsage: %s [OPTIONS] [IMAGE_FILE_TO_OPEN]\n\n", command); puts(" -d, --directory CWD changing the current working directory as the argument"); puts(" -s, --script SCRIPTFILE run the siril commands script in console mode"); @@ -146,21 +192,11 @@ puts(" -h, --help show this message"); } -void signal_handled(int s) { +static void signal_handled(int s) { // printf("Caught signal %d\n", s); gtk_main_quit(); } -static void initialize_path_directory() { - GtkFileChooser *swap_dir; - - swap_dir = GTK_FILE_CHOOSER(lookup_widget("filechooser_swap")); - if (com.swap_dir && com.swap_dir[0] != '\0') - gtk_file_chooser_set_filename (swap_dir, com.swap_dir); - else - gtk_file_chooser_set_filename (swap_dir, g_get_tmp_dir()); -} - struct option long_opts[] = { {"version", no_argument, 0, 'v'}, {"help", no_argument, 0, 'h'}, @@ -170,13 +206,40 @@ {0, 0, 0, 0} }; +static char *load_glade_file() { + int i = 0; + + /* try to load the glade file, from the sources defined above */ + builder = gtk_builder_new(); + + do { + GError *err = NULL; + gchar *gladefile; + + gladefile = g_build_filename (siril_sources[i], GLADE_FILE, NULL); + if (gtk_builder_add_from_file (builder, gladefile, &err)) { + fprintf(stdout, _("Successfully loaded '%s'\n"), gladefile); + g_free(gladefile); + break; + } + fprintf (stderr, _("%s. Looking into another directory...\n"), err->message); + g_error_free(err); + g_free(gladefile); + i++; + } while (i < G_N_ELEMENTS(siril_sources)); + if (i == G_N_ELEMENTS(siril_sources)) { + fprintf(stderr, _("%s was not found or contains errors, cannot render GUI. Exiting.\n"), GLADE_FILE); + exit(EXIT_FAILURE); + } + /* get back to the saved working directory */ + return siril_sources[i]; +} int main(int argc, char *argv[]) { int i, c; extern char *optarg; extern int opterr; - gchar *siril_path = NULL; - gchar *current_cwd = NULL; + gchar *startup_cwd = NULL; gboolean forcecwd = FALSE; char *cwd_forced = NULL, *start_script = NULL; @@ -241,166 +304,73 @@ exit(EXIT_SUCCESS); } } - - if (!com.headless) { - gtk_init (&argc, &argv); - - /* try to load the glade file, from the sources defined above */ - builder = gtk_builder_new(); - i = 0; - do { - GError *err = NULL; - gchar *gladefile; - - gladefile = g_build_filename (siril_sources[i], GLADE_FILE, NULL); - if (gtk_builder_add_from_file (builder, gladefile, &err)) { - fprintf(stdout, _("Successfully loaded '%s'\n"), gladefile); - g_free(gladefile); - break; - } - fprintf (stderr, _("%s. Looking into another directory...\n"), err->message); - g_error_free(err); - g_free(gladefile); - i++; - } while (i < sizeof(siril_sources)/sizeof(char *)); - if (i == sizeof(siril_sources) / sizeof(char *)) { - fprintf(stderr, _("%s was not found or contains errors, cannot render GUI. Exiting.\n"), GLADE_FILE); - exit(EXIT_FAILURE); - } - siril_path = siril_sources[i]; - - gtk_builder_connect_signals (builder, NULL); - - /* Create tags associated with the buffer for the output text. */ - GtkTextBuffer *tbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtk_builder_get_object(builder, "output"))); - /* Tag with weight bold and tag name "bold" . */ - gtk_text_buffer_create_tag (tbuf, "bold", "weight", PANGO_WEIGHT_BOLD, NULL); - /* Tag with style normal */ - gtk_text_buffer_create_tag (tbuf, "normal", "weight", PANGO_WEIGHT_NORMAL, NULL); - /* Couleur Tags */ - gtk_text_buffer_create_tag (tbuf, "red", "foreground", "#e72828", NULL); - gtk_text_buffer_create_tag (tbuf, "salmon", "foreground", "#ff9898", NULL); - gtk_text_buffer_create_tag (tbuf, "green", "foreground", "#01b301", NULL); - gtk_text_buffer_create_tag (tbuf, "blue", "foreground", "#7a7af8", NULL); - gtk_text_buffer_create_tag (tbuf, "plum", "foreground", "#8e4585", NULL); - } - - siril_log_color_message(_("Welcome to %s v%s\n"), "bold", PACKAGE, VERSION); - - /* initialize converters (utilities used for different image types importing) */ - initialize_converters(); - - /* initializing internal structures with widgets (drawing areas) */ - if (!com.headless) { - com.vport[RED_VPORT] = lookup_widget("drawingarear"); - com.vport[GREEN_VPORT] = lookup_widget("drawingareag"); - com.vport[BLUE_VPORT] = lookup_widget("drawingareab"); - com.vport[RGB_VPORT] = lookup_widget("drawingareargb"); - com.preview_area[0] = lookup_widget("drawingarea_preview1"); - com.preview_area[1] = lookup_widget("drawingarea_preview2"); - } com.cvport = RED_VPORT; com.show_excluded = TRUE; com.selected_star = -1; com.star_is_seqdata = FALSE; com.stars = NULL; com.uniq = NULL; - com.grad = NULL; - com.grad_boxes_drawn = TRUE; com.color = NORMAL_COLOR; - for (i=0; idata); assert(image->rx); - WORD *bgrbgr = fits_to_bgrbgr(image); + // preparing data + Mat in, out; + WORD *bgrbgr = NULL; - Mat in(image->ry, image->rx, CV_16UC3, bgrbgr); - Mat out(toY, toX, CV_16UC3); + if (image->naxes[2] == 1) { + in = Mat(image->ry, image->rx, CV_16UC1, image->data); + out = Mat(toY, toX, CV_16UC1); + } + else if (image->naxes[2] == 3) { + bgrbgr = fits_to_bgrbgr(image); + in = Mat(image->ry, image->rx, CV_16UC3, bgrbgr); + out = Mat(toY, toX, CV_16UC3); + } + else { + siril_log_message("Image resizing is not supported for images with %d channels\n", image->naxes[2]); + return -1; + } + // OpenCV function resize(in, out, out.size(), 0, 0, interpolation); + // saving result WORD *newdata = (WORD*) realloc(image->data, toX * toY * sizeof(WORD) * image->naxes[2]); if (!newdata) { @@ -108,34 +123,33 @@ image->naxes[0] = toX; image->ry = toY; image->naxes[1] = toY; - image->data = newdata; - Mat channel[3]; - split(out, channel); - - memcpy(image->data, channel[2].data, toX * toY * sizeof(WORD)); - if (image->naxes[2] == 3) { - memcpy(image->data + toX * toY, channel[1].data, - toX * toY * sizeof(WORD)); - memcpy(image->data + toX * toY * 2, channel[0].data, - toX * toY * sizeof(WORD)); - } + unsigned int dataSize = toX * toY; if (image->naxes[2] == 1) { + memcpy(image->data, out.data, dataSize * sizeof(WORD)); image->pdata[0] = image->data; image->pdata[1] = image->data; image->pdata[2] = image->data; - } else { + } + else { + Mat channel[3]; + split(out, channel); + memcpy(image->data, channel[2].data, dataSize * sizeof(WORD)); + memcpy(image->data + dataSize, channel[1].data, dataSize * sizeof(WORD)); + memcpy(image->data + dataSize * 2, channel[0].data, dataSize * sizeof(WORD)); + image->pdata[0] = image->data; - image->pdata[1] = image->data + (toX * toY); - image->pdata[2] = image->data + (toX * toY) * 2; + image->pdata[1] = image->data + dataSize; + image->pdata[2] = image->data + dataSize * 2; + + channel[0].release(); + channel[1].release(); + channel[2].release(); + delete[] bgrbgr; } - delete[] bgrbgr; in.release(); out.release(); - channel[0].release(); - channel[1].release(); - channel[2].release(); invalidate_stats_from_fit(image); return 0; } @@ -291,12 +305,13 @@ to->h22 = from.at(2, 2); } -int cvCalculH(s_star *star_array_img, +unsigned char *cvCalculH(s_star *star_array_img, struct s_star *star_array_ref, int n, Homography *Hom) { std::vector ref; std::vector img; Mat mask; + unsigned char *ret = NULL; int i; /* build vectors with lists of stars. */ @@ -307,15 +322,21 @@ Mat H = findHomography(img, ref, CV_RANSAC, defaultRANSACReprojThreshold, mask); if (countNonZero(H) < 1) { - return 1; + return NULL; } Hom->Inliers = countNonZero(mask); + if (n > 0) { + ret = (unsigned char *) malloc(n * sizeof(unsigned char)); + for (i = 0; i < n; i++) { + ret[i] = mask.at(i); + } + } convert_MatH_to_H(H, Hom); mask.release(); H.release(); - return 0; + return ret; } /** @@ -350,65 +371,77 @@ return 0; } -int cvTransformImage(fits *image, point ref, Homography Hom, int interpolation) { +// transform an image using the homography. +int cvTransformImage(fits *image, long width, long height, Homography Hom, int interpolation) { assert(image->data); assert(image->rx); assert(image->ry); - int ndata = ref.x * ref.y; + // preparing data + Mat in, out; + WORD *bgrbgr = NULL; WORD *newdata; - WORD *bgrbgr = fits_to_bgrbgr(image); - Mat in(image->ry, image->rx, CV_16UC3, bgrbgr); - Mat out(ref.y, ref.x, CV_16UC3); - Mat H = Mat::eye(3, 3, CV_64FC1); + if (image->naxes[2] == 1) { + in = Mat(image->ry, image->rx, CV_16UC1, image->data); + out = Mat(height, width, CV_16UC1); + } + else if (image->naxes[2] == 3) { + bgrbgr = fits_to_bgrbgr(image); + in = Mat(image->ry, image->rx, CV_16UC3, bgrbgr); + out = Mat(height, width, CV_16UC3); + } + else { + siril_log_message("Image resizing is not supported for images with %d channels\n", image->naxes[2]); + return -1; + } + Mat H = Mat::eye(3, 3, CV_64FC1); convert_H_to_MatH(&Hom, H); - warpPerspective(in, out, H, Size(ref.x, ref.y), interpolation); + // OpenCV function + warpPerspective(in, out, H, Size(width, height), interpolation); - Mat channel[3]; - split(out, channel); + // saving result + long ndata = height * width; - if (image->ry != ref.y || image->rx != ref.x) { - newdata = (WORD*) realloc(image->data, - ref.x * ref.y * sizeof(WORD) * image->naxes[2]); + if (image->ry != height || image->rx != width) { + newdata = (WORD*) realloc(image->data, ndata * sizeof(WORD) * image->naxes[2]); if (!newdata) { - free(newdata); + PRINT_ALLOC_ERR; return 1; } image->data = newdata; } - memcpy(image->data, channel[2].data, ndata * sizeof(WORD)); - if (image->naxes[2] == 3) { - memcpy(image->data + ndata, channel[1].data, ndata * sizeof(WORD)); - memcpy(image->data + ndata * 2, channel[0].data, ndata * sizeof(WORD)); - } - if (image->naxes[2] == 1) { + memcpy(image->data, out.data, ndata * sizeof(WORD)); image->pdata[RLAYER] = image->data; image->pdata[GLAYER] = image->data; image->pdata[BLAYER] = image->data; } else { + Mat channel[3]; + split(out, channel); + memcpy(image->data, channel[2].data, ndata * sizeof(WORD)); + memcpy(image->data + ndata, channel[1].data, ndata * sizeof(WORD)); + memcpy(image->data + ndata * 2, channel[0].data, ndata * sizeof(WORD)); + image->pdata[RLAYER] = image->data; image->pdata[GLAYER] = image->data + ndata; image->pdata[BLAYER] = image->data + ndata * 2; - } - image->rx = out.cols; - image->ry = out.rows; - image->naxes[0] = image->rx; - image->naxes[1] = image->ry; - invalidate_stats_from_fit(image); - /* free data */ - delete[] bgrbgr; + + channel[0].release(); + channel[1].release(); + channel[2].release(); + delete[] bgrbgr; + } + image->rx = image->naxes[0] = out.cols; + image->ry = image->naxes[1] = out.rows; + H.release(); in.release(); out.release(); - channel[0].release(); - channel[1].release(); - channel[2].release(); - H.release(); + invalidate_stats_from_fit(image); return 0; } diff -Nru siril-0.9.10/src/opencv/opencv.h siril-0.9.11/src/opencv/opencv.h --- siril-0.9.10/src/opencv/opencv.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/opencv/opencv.h 2019-05-27 09:16:07.000000000 +0000 @@ -20,10 +20,10 @@ int toX, int toY, int chan, int interpolation); int cvTranslateImage(fits *image, point shift, int interpolation); int cvRotateImage(fits *, point, double, int, int); -int cvCalculH(s_star *star_array_img, +unsigned char *cvCalculH(s_star *star_array_img, struct s_star *star_array_ref, int n, Homography *H); int cvApplyScaleToH(Homography *H1, double scale); -int cvTransformImage(fits *, point, Homography, int); +int cvTransformImage(fits *image, long width, long height, Homography Hom, int interpolation); int cvUnsharpFilter(fits*, double, double); int cvComputeFinestScale(fits *image); int cvLucyRichardson(fits *image, double sigma, int iterations); diff -Nru siril-0.9.10/src/registration/comet.c siril-0.9.11/src/registration/comet.c --- siril-0.9.10/src/registration/comet.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/comet.c 2019-05-27 09:16:07.000000000 +0000 @@ -142,7 +142,7 @@ if (com.selection.h && com.selection.w) { set_cursor_waiting(TRUE); - result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE); + result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE, FALSE); if (result) { pos_of_image1.x = result->x0 + com.selection.x; pos_of_image1.y = com.selection.y + com.selection.h - result->y0; @@ -166,7 +166,7 @@ if (com.selection.h && com.selection.w) { set_cursor_waiting(TRUE); - result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE); + result = psf_get_minimisation(&gfit, layer, &com.selection, FALSE, FALSE); if (result) { pos_of_image2.x = result->x0 + com.selection.x; pos_of_image2.y = com.selection.y + com.selection.h - result->y0; @@ -220,6 +220,7 @@ fprintf(stderr, "Error allocating registration data\n"); return -2; } + args->seq->regparam[regargs->layer] = cadata->current_regdata; } /* loading reference frame */ @@ -231,7 +232,6 @@ free(cadata->current_regdata); return 1; } - cadata->reference_date = FITS_date_key_to_sec(ref.date_obs); clearfits(&ref); @@ -248,15 +248,14 @@ if (!regargs->cumul) { /* data initialization */ - cadata->current_regdata[in_index].shiftx = 0.0; - cadata->current_regdata[in_index].shifty = 0.0; + set_shifts(args->seq, in_index, regargs->layer, 0.0, 0.0, FALSE); } time_t date_obs = FITS_date_key_to_sec(fit->date_obs); get_comet_shift(cadata->reference_date, date_obs, velocity, ®_x, ®_y); - cadata->current_regdata[in_index].shiftx += -reg_x; - cadata->current_regdata[in_index].shifty += reg_y; + /* get_comet_shift does not car about orientation of image */ + set_shifts(args->seq, in_index, regargs->layer, -reg_x, reg_y, FALSE); return 0; } @@ -264,8 +263,10 @@ struct comet_align_data *cadata = args->user; struct registration_args *regargs = cadata->regargs; - if (!args->retval) - args->seq->regparam[regargs->layer] = cadata->current_regdata; + if (args->retval) { + free(args->seq->regparam[regargs->layer]); + args->seq->regparam[regargs->layer] = NULL; + } free(args->user); args->user = NULL; diff -Nru siril-0.9.10/src/registration/global.c siril-0.9.11/src/registration/global.c --- siril-0.9.10/src/registration/global.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/global.c 2019-05-27 09:16:07.000000000 +0000 @@ -47,23 +47,24 @@ */ static void create_output_sequence_for_global_star(struct registration_args *args); -static void print_alignment_results(Homography H, int filenum, float FWHMx, float FWHMy); +static void print_alignment_results(Homography H, int filenum, float FWHMx, float FWHMy, char *units); struct star_align_data { struct registration_args *regargs; regdata *current_regdata; fitted_PSF **refstars; int fitted_stars; - point ref; BYTE *success; + point ref; }; static int star_align_prepare_hook(struct generic_seq_args *args) { struct star_align_data *sadata = args->user; struct registration_args *regargs = sadata->regargs; float FWHMx, FWHMy; + char *units; fits fit = { 0 }; - int i, nb_stars; + int i, nb_stars = 0; if (args->seq->regparam[regargs->layer]) { siril_log_message( @@ -77,6 +78,7 @@ fprintf(stderr, "Error allocating registration data\n"); return -2; } + args->seq->regparam[regargs->layer] = sadata->current_regdata; } /* first we're looking for stars in reference image */ @@ -94,10 +96,11 @@ else { com.stars = peaker(&fit, regargs->layer, &com.starfinder_conf, &nb_stars, NULL, FALSE); } + siril_log_message(_("Found %d stars in reference, channel #%d\n"), nb_stars, regargs->layer); - if (nb_stars < AT_MATCH_MINPAIRS) { + if (!com.stars || nb_stars < AT_MATCH_MINPAIRS) { siril_log_message( _("There are not enough stars in reference image to perform alignment\n")); args->seq->regparam[regargs->layer] = NULL; @@ -110,6 +113,7 @@ sadata->ref.x = fit.rx; sadata->ref.y = fit.ry; + clearfits(&fit); if (regargs->x2upscale) { @@ -145,9 +149,9 @@ } else { sadata->fitted_stars = nb_stars; } - FWHM_average(sadata->refstars, &FWHMx, &FWHMy, sadata->fitted_stars); - siril_log_message(_("FWHMx:%*.2f px\n"), 12, FWHMx); - siril_log_message(_("FWHMy:%*.2f px\n"), 12, FWHMy); + FWHM_average(sadata->refstars, sadata->fitted_stars, &FWHMx, &FWHMy, &units); + siril_log_message(_("FWHMx:%*.2f %s\n"), 12, FWHMx, units); + siril_log_message(_("FWHMy:%*.2f %s\n"), 12, FWHMy, units); sadata->current_regdata[regargs->reference_image].fwhm = FWHMx; sadata->current_regdata[regargs->reference_image].roundness = FWHMy/FWHMx; @@ -192,14 +196,13 @@ static int star_align_image_hook(struct generic_seq_args *args, int out_index, int in_index, fits *fit, rectangle *_) { struct star_align_data *sadata = args->user; struct registration_args *regargs = sadata->regargs; - int nbpoints, nb_stars; + int nbpoints, nb_stars = 0; int retvalue = 1; int nobj = 0; int attempt = 1; float FWHMx, FWHMy; - fitted_PSF **stars; + char *units; Homography H = { 0 }; - point image_size = { 0 }; int filenum = args->seq->imgparam[in_index].filenum; // for display purposes if (regargs->translation_only) { @@ -210,6 +213,7 @@ } if (in_index != regargs->reference_image) { + fitted_PSF **stars; if (args->seq->type == SEQ_SER) { siril_log_color_message(_("Frame %d:\n"), "bold", filenum); } @@ -219,11 +223,13 @@ else { stars = peaker(fit, regargs->layer, &com.starfinder_conf, &nb_stars, NULL, FALSE); } + siril_log_message(_("Found %d stars in image %d, channel #%d\n"), nb_stars, filenum, regargs->layer); - if (nb_stars < AT_MATCH_MINPAIRS) { + if (!stars || nb_stars < AT_MATCH_MINPAIRS) { siril_log_message( _("Not enough stars. Image %d skipped\n"), filenum); + if (stars) free_fitted_stars(stars); return 1; } @@ -236,11 +242,10 @@ else { nbpoints = nb_stars; } - image_size.x = fit->rx; - image_size.y = fit->ry; + /* make a loop with different tries in order to align the two sets of data */ while (retvalue && attempt < NB_OF_MATCHING_TRY){ - retvalue = new_star_match(stars, sadata->refstars, nbpoints, nobj, 0.9, 1.1, &H, image_size); + retvalue = new_star_match(stars, sadata->refstars, nbpoints, nobj, 0.9, 1.1, &H, FALSE); nobj += 50; attempt++; } @@ -251,20 +256,20 @@ return 1; } - FWHM_average(stars, &FWHMx, &FWHMy, nbpoints); + FWHM_average(stars, nbpoints, &FWHMx, &FWHMy, &units); #pragma omp critical - print_alignment_results(H, filenum, FWHMx, FWHMy); + print_alignment_results(H, filenum, FWHMx, FWHMy, units); sadata->current_regdata[in_index].fwhm = FWHMx; sadata->current_regdata[in_index].roundness = FWHMy/FWHMx; if (!regargs->translation_only) { if (regargs->x2upscale) { - double upscale = 2.0; - - cvResizeGaussian(fit, fit->rx * upscale, fit->ry * upscale, OPENCV_NEAREST); - cvApplyScaleToH(&H, upscale); + cvResizeGaussian(fit, fit->rx * 2, fit->ry * 2, OPENCV_NEAREST); + cvApplyScaleToH(&H, 2.0); } - cvTransformImage(fit, sadata->ref, H, regargs->interpolation); + fits_flip_top_to_bottom(fit); + cvTransformImage(fit, (long) sadata->ref.x, (long) sadata->ref.y, H, regargs->interpolation); + fits_flip_top_to_bottom(fit); } free_fitted_stars(stars); @@ -281,8 +286,8 @@ regargs->regparam[out_index].fwhm = sadata->current_regdata[in_index].fwhm; // not FWHMx because of the ref frame regargs->regparam[out_index].roundness = sadata->current_regdata[in_index].roundness; } else { - sadata->current_regdata[in_index].shiftx = +H.h02; - sadata->current_regdata[in_index].shifty = -H.h12; + set_shifts(args->seq, in_index, regargs->layer, (float)H.h02, (float)-H.h12, + fit->top_down); args->seq->imgparam[out_index].incl = SEQUENCE_DEFAULT_INCLUDE; } sadata->success[out_index] = 1; @@ -306,7 +311,6 @@ // that failed to be registered if (failed && !regargs->translation_only) { int j; - for (i = 0, j = 0; i < regargs->new_total; i++, j++) { while (!sadata->success[j] && j < args->nb_filtered_images) j++; assert(sadata->success[j]); @@ -327,9 +331,10 @@ free(args->new_ser); } - args->seq->regparam[regargs->layer] = sadata->current_regdata; } else { regargs->new_total = 0; + free(args->seq->regparam[regargs->layer]); + args->seq->regparam[regargs->layer] = NULL; } if (sadata->success) free(sadata->success); free(sadata); @@ -394,7 +399,9 @@ args->user = sadata; generic_sequence_worker(args); - return args->retval; + regargs->retval = args->retval; + free(args); + return regargs->retval; } static void create_output_sequence_for_global_star(struct registration_args *args) { @@ -432,7 +439,7 @@ free_sequence(&seq, FALSE); } -static void print_alignment_results(Homography H, int filenum, float FWHMx, float FWHMy) { +static void print_alignment_results(Homography H, int filenum, float FWHMx, float FWHMy, char *units) { double rotation, scale, scaleX, scaleY; point shift; double inliers; @@ -452,15 +459,15 @@ siril_log_message(_("scale:%*.3f\n"), 13, scale); /* Rotation */ - rotation = -atan2(H.h01, H.h00) * 180 / M_PI; - siril_log_message(_("rotation:%+*.2f deg\n"), 9, rotation); + rotation = atan2(H.h01, H.h00) * 180 / M_PI; + siril_log_message(_("rotation:%+*.3f deg\n"), 9, rotation); /* Translation */ shift.x = -H.h02; shift.y = -H.h12; siril_log_message(_("dx:%+*.2f px\n"), 15, shift.x); siril_log_message(_("dy:%+*.2f px\n"), 15, shift.y); - siril_log_message(_("FWHMx:%*.2f px\n"), 12, FWHMx); - siril_log_message(_("FWHMy:%*.2f px\n"), 12, FWHMy); + siril_log_message(_("FWHMx:%*.2f %s\n"), 12, FWHMx, units); + siril_log_message(_("FWHMy:%*.2f %s\n"), 12, FWHMy, units); } diff -Nru siril-0.9.10/src/registration/matching/apply_match.c siril-0.9.11/src/registration/matching/apply_match.c --- siril-0.9.10/src/registration/matching/apply_match.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/apply_match.c 2019-05-27 09:16:07.000000000 +0000 @@ -152,7 +152,6 @@ static int proc_star_file(fitted_PSF **s, /* I: name of input data with star list */ image_solved *solved, TRANS *trans /* I: TRANS taking (x,y) -> (ra, dec) */ ) { - char line[LINELEN]; // int i = 0; double xval, yval; double r_dec; diff -Nru siril-0.9.10/src/registration/matching/atpmatch.c siril-0.9.11/src/registration/matching/atpmatch.c --- siril-0.9.10/src/registration/matching/atpmatch.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/atpmatch.c 2019-05-27 09:16:07.000000000 +0000 @@ -145,6 +145,7 @@ #include "registration/matching/misc.h" #include "registration/matching/atpmatch.h" #include "opencv/opencv.h" +#include "gui/photometric_cc.h" #undef DEBUG /* get some of diagnostic output */ #undef DEBUG2 /* get LOTS more diagnostic output */ @@ -590,13 +591,15 @@ struct s_star *listA, /* I: match this set of objects with list B */ int numB, /* I: number of stars in list B */ struct s_star *listB, /* I: match this set of objects with list A */ - Homography *H + Homography *H, + gboolean print_output ) { int ret = 0; int num_stars_B; /* number of stars in chain B */ s_star *star_array_A; s_star *star_array_B; + unsigned char *mask; num_stars_B = numB; star_array_A = list_to_array(numA, listA); @@ -605,24 +608,29 @@ g_assert(star_array_A != NULL); g_assert(star_array_B != NULL); - ret = cvCalculH(star_array_A, star_array_B, num_stars_B, H); -// -// int i; -// s_star *star; -// -// for (i = 0; i < numB; i++) { -// star = &(star_array_B[i]); -// g_assert(star != NULL); -// printf(" %4d %11.4e %11.4e %6.2f\n", i, star->x, -// star->y, star->BV); -// } -// -// for (i = 0; i < numA; i++) { -// star = &(star_array_A[i]); -// g_assert(star != NULL); -// printf(" %4d %11.4e %11.4e %6.2f\n", i, star->x, -// star->y, star->BV); -// } + mask = cvCalculH(star_array_A, star_array_B, num_stars_B, H); + ret = (mask == NULL ? 1 : 0); + +#ifdef HAVE_LIBCURL + if (print_output) { + int i; + s_star *starA, *starB; + FILE *BV_file = open_bv_file("w+t"); + + for (i = 0; i < numB; i++) { + starA = &(star_array_A[i]); + starB = &(star_array_B[i]); + g_assert(starA != NULL); + g_assert(starB != NULL); + if (mask[i] && starB->BV != -99.9) { + fprintf(BV_file, + " %4d %11.4e %11.4e %.3f\n", + i, starA->x, starA->y, starB->BV); + } + } + fclose(BV_file); + } +#endif /* @@ -630,6 +638,7 @@ */ free_star_array(star_array_A); free_star_array(star_array_B); + free(mask); return ret; } @@ -1426,7 +1435,7 @@ star_array[tri->a_index].y - star_array[tri->b_index].y, star_array[tri->a_index].x - star_array[tri->b_index].x); #ifdef DEBUG2 - printf(" triangle %5d has side_a_angle %lf = %lf deg \n", + printf(" triangle %5d has side_a_angle %f = %f deg \n", tri->id, tri->side_a_angle, tri->side_a_angle*(180/3.14159)); #endif @@ -2896,6 +2905,9 @@ sa = &(star_array_A[winner_index_A[i]]); if (calc_trans_coords(sa, trans, &newx, &newy) != SH_SUCCESS) { shError("iter_trans: calc_trans_coords fails"); + shFree(dist2); + shFree(dist2_sorted); + shFree(a_prime); return (SH_GENERIC_ERROR); } a_prime[i].x = newx; @@ -3086,6 +3098,9 @@ winner_votes, winner_index_A, winner_index_B, trans) != SH_SUCCESS) { shError("iter_trans: calc_trans returns with error"); + shFree(dist2); + shFree(dist2_sorted); + shFree(a_prime); return (SH_GENERIC_ERROR); } @@ -5626,7 +5641,6 @@ * */ -#define SWAP(a,b) { double temp = (a); (a) = (b); (b) = temp; } static int gauss_pivot(double **matrix, /* I/O: a square 2-D matrix we are inverting */ int num, /* I: number of rows and cols in matrix */ diff -Nru siril-0.9.10/src/registration/matching/atpmatch.h siril-0.9.11/src/registration/matching/atpmatch.h --- siril-0.9.10/src/registration/matching/atpmatch.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/atpmatch.h 2019-05-27 09:16:07.000000000 +0000 @@ -235,7 +235,7 @@ int max_iter, double halt_sigma, TRANS *trans); int atPrepareHomography(int numA, struct s_star *listA, int numB, - struct s_star *listB, Homography *H); + struct s_star *listB, Homography *H, gboolean print_output); int atCalcRMS(int num_A, struct s_star *mlistA, diff -Nru siril-0.9.10/src/registration/matching/match.c siril-0.9.11/src/registration/matching/match.c --- siril-0.9.10/src/registration/matching/match.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/match.c 2019-05-27 09:16:07.000000000 +0000 @@ -122,7 +122,7 @@ TRANS *trans); int new_star_match(fitted_PSF **s1, fitted_PSF **s2, int n, int nobj_override, double s_min, double s_max, - Homography *H, point image_size) { + Homography *H, gboolean print_output) { int ret; int numA, numB; int num_matched_A, num_matched_B; @@ -210,7 +210,7 @@ #endif /* read information from the first list */ - if (get_stars(s1, n, &numA, &star_list_A, image_size)) { + if (get_stars(s1, n, &numA, &star_list_A)) { shFatal("can't read data\n"); atTransDel(trans); return (SH_GENERIC_ERROR); @@ -226,7 +226,7 @@ * so that we can restore the output matched coords * (which have been converted to those in set B) with the original coords. */ - if (get_stars(s1, n, &numA_copy, &star_list_A_copy, image_size)) { + if (get_stars(s1, n, &numA_copy, &star_list_A_copy)) { atTransDel(trans); free_stars(star_list_A); fprintf(stderr,"can't read data\n"); @@ -243,7 +243,7 @@ reset_copy_ids(numA, star_list_A, star_list_A_copy); /* read information from the second list */ - if (get_stars(s2, n, &numB, &star_list_B, image_size)) { + if (get_stars(s2, n, &numB, &star_list_B)) { atTransDel(trans); free_stars(star_list_A); free_stars(star_list_A_copy); @@ -428,7 +428,7 @@ Hom->pair_matched = num_matches; if (atPrepareHomography(num_matched_A, matched_list_A, num_matched_B, - matched_list_B, Hom)) { + matched_list_B, Hom, print_output)) { fprintf(stderr,"atPrepareHomography fails on computing H\n"); /** */ atTransDel(trans); diff -Nru siril-0.9.10/src/registration/matching/match.h siril-0.9.11/src/registration/matching/match.h --- siril-0.9.10/src/registration/matching/match.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/match.h 2019-05-27 09:16:07.000000000 +0000 @@ -8,6 +8,6 @@ int new_star_match(fitted_PSF **s1, fitted_PSF **s2, int n, int nobj_override, double s_min, double s_max, - Homography *H, point image_size); + Homography *H, gboolean print_output); #endif /* MATCH_H */ diff -Nru siril-0.9.10/src/registration/matching/misc.c siril-0.9.11/src/registration/matching/misc.c --- siril-0.9.10/src/registration/matching/misc.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/misc.c 2019-05-27 09:16:07.000000000 +0000 @@ -391,7 +391,7 @@ * Return 1 if there is an error. */ -int get_stars(fitted_PSF **s, int n, int *num_stars, struct s_star **list, point image_size) { +int get_stars(fitted_PSF **s, int n, int *num_stars, struct s_star **list) { int i = 0; struct s_star *head, *last, *new; @@ -399,7 +399,7 @@ last = head; while (i < n) { - new = atStarNew(s[i]->xpos, image_size.y - s[i]->ypos, s[i]->mag, s[i]->BV); + new = atStarNew(s[i]->xpos, s[i]->ypos, s[i]->mag, s[i]->BV); new->id = i; if (head == NULL) { @@ -424,7 +424,7 @@ while (head != NULL) { tmp = head; head = head->next; - free(tmp); + shFree(tmp); } } diff -Nru siril-0.9.10/src/registration/matching/misc.h siril-0.9.11/src/registration/matching/misc.h --- siril-0.9.10/src/registration/matching/misc.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/misc.h 2019-05-27 09:16:07.000000000 +0000 @@ -173,7 +173,7 @@ */ int -get_stars(fitted_PSF **s, int n, int *num_stars, struct s_star **list, point image_size); +get_stars(fitted_PSF **s, int n, int *num_stars, struct s_star **list); void free_stars(struct s_star *head); diff -Nru siril-0.9.10/src/registration/matching/project_coords.c siril-0.9.11/src/registration/matching/project_coords.c --- siril-0.9.10/src/registration/matching/project_coords.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/matching/project_coords.c 2019-05-27 09:16:07.000000000 +0000 @@ -236,28 +236,38 @@ * different output formats for (xi, eta) if they are expressed * in radians or arcseconds. */ - line[0] = '\0'; - for (i = 0; i < ncol; i++) { + + gchar *l = g_strdup(line); + l = g_strstrip(l); + + gchar **token = g_strsplit_set(l, " \t", -1); + i = 0; + while (token[i] && strcmp(token[i], "\n")) { if (i == racol) { + g_free(token[i]); if (doASEC > 0) { /* write the offsets in arcsec */ - sprintf(line, "%s %12.5f", line, xi); + token[i] = g_strdup_printf("%12.5f", xi); } else { - sprintf(line, "%s %13.6e", line, xi); + token[i] = g_strdup_printf("%13.6e", xi); } } else if (i == deccol) { + g_free(token[i]); if (doASEC > 0) { /* write the offsets in arcsec */ - sprintf(line, "%s %12.5f", line, eta); + token[i] = g_strdup_printf("%12.5f", eta); } else { - sprintf(line, "%s %13.6e", line, eta); + token[i] = g_strdup_printf("%13.6e", eta); } - } else { - sprintf(line, "%s %s", line, col[i]); } + i++; } - fprintf(out_fp, "%s\n", line); + gchar *newline = g_strjoinv(" ", token); + fprintf(out_fp, "%s\n", newline); + g_strfreev(token); + g_free(newline); + g_free(l); } fclose(in_fp); diff -Nru siril-0.9.10/src/registration/registration.c siril-0.9.11/src/registration/registration.c --- siril-0.9.10/src/registration/registration.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/registration.c 2019-05-27 09:16:07.000000000 +0000 @@ -76,7 +76,8 @@ }; /* callback for the selected area event */ void _reg_selected_area_callback() { - update_reg_interface(TRUE); + if (!com.headless) + update_reg_interface(TRUE); } static struct registration_method *reg_methods[NUMBER_OF_METHODS]; @@ -112,9 +113,9 @@ tip = g_string_new (""); for (j = 0; j < i; j ++) { - g_string_append(tip, _(tooltip_text[j])); + tip = g_string_append(tip, _(tooltip_text[j])); if (j < i - 1) - g_string_append(tip, "\n\n"); + tip = g_string_append(tip, "\n\n"); } ctip = g_string_free (tip, FALSE); gtk_widget_set_tooltip_text(lookup_widget("comboboxregmethod"), ctip); @@ -214,6 +215,7 @@ printf("Error allocating registration data\n"); return -2; } + args->seq->regparam[args->layer] = current_regdata; } /* loading reference frame */ @@ -225,6 +227,7 @@ ret = seq_read_frame_part(args->seq, args->layer, ref_image, &fit_ref, &args->selection, FALSE); + if (ret) { siril_log_message( _("Register: could not load first image to register, aborting.\n")); @@ -255,8 +258,7 @@ current_regdata[ref_image].quality = QualityEstimate(&fit_ref, args->layer, QUALTYPE_NORMAL); clearfits(&fit_ref); fftw_execute_dft(p, ref, in); /* repeat as needed */ - current_regdata[ref_image].shiftx = 0.0; - current_regdata[ref_image].shifty = 0.0; + set_shifts(args->seq, ref_image, args->layer, 0.0, 0.0, FALSE); q_min = q_max = current_regdata[ref_image].quality; q_index = ref_image; @@ -295,12 +297,9 @@ for (x = 0; x < sqsize; x++) img[x] = (double) fit.data[x]; - // We don't need fit anymore, we can destroy it. current_regdata[frame].quality = QualityEstimate(&fit, args->layer, QUALTYPE_NORMAL); - clearfits(&fit); - #ifdef _OPENMP #pragma omp critical #endif @@ -340,11 +339,12 @@ shiftx -= size; } - /* for Y, it's a bit special because FITS are upside-down */ - float sign = args->seq->type == SEQ_SER ? -1 : 1; + set_shifts(args->seq, frame, args->layer, (float)shiftx, (float)shifty, + fit.top_down); + + // We don't need fit anymore, we can destroy it. + clearfits(&fit); - current_regdata[frame].shiftx = (float) shiftx; - current_regdata[frame].shifty = (float) shifty * sign; /* shiftx and shifty are the x and y values for translation that * would make this image aligned with the reference image. @@ -382,7 +382,6 @@ fftw_free(ref); fftw_free(convol); if (!ret) { - args->seq->regparam[args->layer] = current_regdata; if (args->x2upscale) args->seq->upscale_at_stacking = 2.0; else @@ -391,6 +390,9 @@ update_used_memory(); siril_log_message(_("Registration finished.\n")); siril_log_color_message(_("Best frame: #%d.\n"), "bold", q_index); + } else { + free(args->seq->regparam[args->layer]); + args->seq->regparam[args->layer] = NULL; } return ret; } @@ -401,7 +403,7 @@ */ int register_shift_fwhm(struct registration_args *args) { int frame, ref_image; - float nb_frames, cur_nb; + float nb_frames, cur_nb = 0.f; double reference_xpos, reference_ypos; double fwhm_min = DBL_MAX; int fwhm_index = -1; @@ -441,15 +443,14 @@ fwhm_index = ref_image; /* Second step: align image by aligning star coordinates together */ - for (frame = 0, cur_nb = 0.f; frame < args->seq->number; frame++) { + for (frame = 0; frame < args->seq->number; frame++) { double tmp; if (args->run_in_thread && !get_thread_run()) break; if (!args->process_all_frames && !args->seq->imgparam[frame].incl) continue; if (frame == ref_image || !current_regdata[frame].fwhm_data) { - current_regdata[frame].shiftx = 0.0; - current_regdata[frame].shifty = 0.0; + set_shifts(args->seq, frame, args->layer, 0.0, 0.0, FALSE); continue; } if (current_regdata[frame].fwhm < fwhm_min @@ -462,11 +463,6 @@ tmp = current_regdata[frame].fwhm_data->ypos - reference_ypos; current_regdata[frame].shifty = tmp; - /* shiftx and shifty are the x and y values for translation that - * would make this image aligned with the reference image. - * WARNING: the y value is counted backwards, since the FITS is - * stored down from up. - */ fprintf(stderr, "reg: file %d, shiftx=%f shifty=%f\n", args->seq->imgparam[frame].filenum, current_regdata[frame].shiftx, current_regdata[frame].shifty); @@ -504,6 +500,7 @@ printf("Error allocating registration data\n"); return -2; } + args->seq->regparam[args->layer] = current_regdata; } if (args->process_all_frames) @@ -552,8 +549,7 @@ } if (!args->process_all_frames && !args->seq->imgparam[frame].incl) continue; - current_regdata[frame].shiftx = 0.0; - current_regdata[frame].shifty = 0.0; + set_shifts(args->seq, frame, args->layer, 0.0, 0.0, FALSE); char tmpmsg[1024], tmpfilename[256]; @@ -601,9 +597,8 @@ q_min = min(q_min, qual); } - current_regdata[frame].shiftx = -reg_param.dx; - current_regdata[frame].shifty = -reg_param.dy; - + set_shifts(args->seq, frame, args->layer, -reg_param.dx, + -reg_param.dy, im.top_down); #ifdef _OPENMP #pragma omp atomic #endif @@ -614,7 +609,7 @@ } } } - args->seq->regparam[args->layer] = current_regdata; + if (args->x2upscale) args->seq->upscale_at_stacking = 2.0; else @@ -624,8 +619,9 @@ clearfits(&ref); update_used_memory(); siril_log_message(_("Registration finished.\n")); - if (failed) + if (failed) { siril_log_color_message(_("%d frames were excluded.\n"), "red", failed); + } siril_log_color_message(_("Best frame: #%d.\n"), "bold", q_index); return 0; @@ -839,7 +835,8 @@ GtkComboBox *cbbt_layers; GtkComboBoxText *ComboBoxRegInter; - if (get_thread_run()) { + + if (!reserve_thread()) { // reentrant from here siril_log_message( _("Another task is already in progress, ignoring new request.\n")); return; @@ -849,10 +846,10 @@ fprintf(stderr, "regparam should have been created before\n"); // means that a call to seq_check_basic_data() or // check_or_allocate_regparam() is missing somewhere else + unreserve_thread(); return; } - /* getting the selected registration method */ method = get_selected_registration_method(); if (com.selection.w <= 0 && com.selection.h <= 0 @@ -860,9 +857,9 @@ msg = siril_log_message( _("All prerequisites are not filled for registration. Select a rectangle first.\n")); siril_message_dialog( GTK_MESSAGE_WARNING, _("Warning"), msg); + unreserve_thread(); return; } - // TODO: check for reentrance reg_args = calloc(1, sizeof(struct registration_args)); @@ -887,14 +884,27 @@ reg_args->translation_only = gtk_toggle_button_get_active(no_translate); reg_args->x2upscale = gtk_toggle_button_get_active(x2upscale); reg_args->cumul = gtk_toggle_button_get_active(cumul); - /* Here we should test available free disk space for Drizzle operation */ - if (reg_args->x2upscale) { - double size = seq_compute_size(reg_args->seq); - double diff = test_available_space(size * 4.0); //FIXME: 4 is only ok for x2 Drizzle - if (diff < 0.0) { - msg = siril_log_message(_("Not enough disk space to perform Drizzle operation!\n")); - siril_message_dialog(GTK_MESSAGE_ERROR, _("Not enough disk space"), msg); + reg_args->prefix = gtk_entry_get_text( + GTK_ENTRY(gtk_builder_get_object(builder, "regseqname_entry"))); + + /* We check that available disk space is enough when: + * - activating the subpixel alignment, which requires generating a new + * sequence with bigger images + * - using global star registration with rotation enabled, also generating a + * new sequence */ + if (reg_args->x2upscale || + (method->method_ptr == register_star_alignment && + !reg_args->translation_only)) { + // first, remove the files that we are about to create + remove_prefixed_sequence_files(reg_args->seq, reg_args->prefix); + + int nb_frames = reg_args->process_all_frames ? reg_args->seq->number : reg_args->seq->selnum; + int64_t size = seq_compute_size(reg_args->seq, nb_frames); + if (reg_args->x2upscale) + size *= 4; + if (test_available_space(size) > 0) { free(reg_args); + unreserve_thread(); return; } } @@ -905,8 +915,6 @@ reg_args->interpolation = gtk_combo_box_get_active(GTK_COMBO_BOX(ComboBoxRegInter)); get_the_registration_area(reg_args, method); // sets selection reg_args->run_in_thread = TRUE; - reg_args->prefix = gtk_entry_get_text( - GTK_ENTRY(gtk_builder_get_object(builder, "regseqname_entry"))); reg_args->load_new_sequence = FALSE; // only TRUE for global registration. Will be updated in this case msg = siril_log_color_message(_("Registration: processing using method: %s\n"), @@ -915,12 +923,13 @@ set_cursor_waiting(TRUE); set_progress_bar_data(msg, PROGRESS_RESET); - start_in_new_thread(register_thread_func, reg_args); + start_in_reserved_thread(register_thread_func, reg_args); } // worker thread function for the registration gpointer register_thread_func(gpointer p) { struct registration_args *args = (struct registration_args *) p; + int retval; args->retval = args->func(args); @@ -930,8 +939,12 @@ args->seq->reference_image = sequence_find_refimage(args->seq); } writeseqfile(args->seq); - siril_add_idle(end_register_idle, args); - return GINT_TO_POINTER(args->retval); + retval = args->retval; + if (!siril_add_idle(end_register_idle, args)) { + free_sequence(args->seq, TRUE); + free(args); + } + return GINT_TO_POINTER(retval); } // end of registration, GTK thread. Executed when started from the GUI and in @@ -965,7 +978,6 @@ gtkosx_application_attention_request(osx_app, INFO_REQUEST); g_object_unref (osx_app); #endif - free(args); return FALSE; } diff -Nru siril-0.9.10/src/registration/registration.h siril-0.9.11/src/registration/registration.h --- siril-0.9.10/src/registration/registration.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/registration/registration.h 2019-05-27 09:16:07.000000000 +0000 @@ -3,7 +3,7 @@ #include "core/siril.h" -#define NUMBER_OF_METHODS 5 +#define NUMBER_OF_METHODS 6 struct registration_args; typedef int (*registration_function)(struct registration_args *); diff -Nru siril-0.9.10/src/stacking/median_and_mean.c siril-0.9.11/src/stacking/median_and_mean.c --- siril-0.9.10/src/stacking/median_and_mean.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/stacking/median_and_mean.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,314 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include "core/siril.h" +#include "core/proto.h" +#include "stacking.h" +#include "io/sequence.h" +#include "io/ser.h" +#include "gui/progress_and_log.h" +#include + +int stack_open_all_files(struct stacking_args *args, int *bitpix, int *naxis, long *naxes, double *exposure, fits *fit) { + char msg[256], filename[256]; + int i, status, oldbitpix = 0, oldnaxis = -1, nb_frames = args->nb_images_to_stack; + long oldnaxes[3] = { 0 }; + *exposure = 0.0; + + if (args->seq->type == SEQ_REGULAR) { + for (i = 0; i < nb_frames; ++i) { + int image_index = args->image_indices[i]; // image index in sequence + if (!get_thread_run()) { + return 1; + } + if (!fit_sequence_get_image_filename(args->seq, image_index, filename, TRUE)) + continue; + + snprintf(msg, 255, _("Opening image %s for stacking"), filename); + msg[255] = '\0'; + set_progress_bar_data(msg, PROGRESS_NONE); + + /* open input images */ + if (seq_open_image(args->seq, image_index)) { + return 1; + } + + /* here we use the internal data of sequences, it's quite ugly, we should + * consider moving these tests in seq_open_image() or wrapping them in a + * sequence function */ + status = 0; + fits_get_img_param(args->seq->fptr[image_index], 3, bitpix, naxis, naxes, &status); + if (status) { + fits_report_error(stderr, status); /* print error message */ + return 1; + } + if (*naxis > 3) { + siril_log_message(_("Stacking error: images with > 3 dimensions " + "are not supported\n")); + return 1; + } + + if (oldnaxis > 0) { + if (*naxis != oldnaxis || + oldnaxes[0] != naxes[0] || + oldnaxes[1] != naxes[1] || + oldnaxes[2] != naxes[2]) { + siril_log_message(_("Stacking error: input images have " + "different sizes\n")); + return 2; + } + } else { + oldnaxis = *naxis; + oldnaxes[0] = naxes[0]; + oldnaxes[1] = naxes[1]; + oldnaxes[2] = naxes[2]; + } + + if (oldbitpix > 0) { + if (*bitpix != oldbitpix) { + siril_log_message(_("Stacking error: input images have " + "different precision\n")); + return 2; + } + } else { + oldbitpix = *bitpix; + } + + /* exposure summing */ + *exposure += get_exposure_from_fitsfile(args->seq->fptr[image_index]); + + /* We copy metadata from reference to the final fit */ + if (args->seq->type == SEQ_REGULAR && image_index == args->ref_image) + import_metadata_from_fitsfile(args->seq->fptr[image_index], fit); + } + + if (naxes[2] == 0) + naxes[2] = 1; + g_assert(naxes[2] <= 3); + } + + else if (args->seq->type == SEQ_SER) { + g_assert(args->seq->ser_file); + naxes[0] = args->seq->ser_file->image_width; + naxes[1] = args->seq->ser_file->image_height; + ser_color type_ser = args->seq->ser_file->color_id; + *bitpix = (args->seq->ser_file->byte_pixel_depth == SER_PIXEL_DEPTH_8) ? BYTE_IMG : USHORT_IMG; + if (!com.debayer.open_debayer && type_ser != SER_RGB && type_ser != SER_BGR) + type_ser = SER_MONO; + naxes[2] = type_ser == SER_MONO ? 1 : 3; + *naxis = type_ser == SER_MONO ? 2 : 3; + /* case of Super Pixel not handled yet */ + if (com.debayer.open_debayer && com.debayer.bayer_inter == BAYER_SUPER_PIXEL) { + siril_log_message(_("Super-pixel is not handled yet for on the fly SER stacking\n")); + return 1; + } + } + else { + siril_log_message(_("Rejection stacking is only supported for FITS images and SER sequences.\nUse \"Sum Stacking\" instead.\n")); + return 2; + } + + return 0; +} + +int stack_create_result_fit(fits *fit, int bitpix, int naxis, long *naxes) { + long nbdata; + nbdata = naxes[0] * naxes[1]; + fit->data = malloc(nbdata * naxes[2] * sizeof(WORD)); + if (!fit->data) { + fprintf(stderr, "Memory allocation error for result\n"); + return 1; + } + fit->bitpix = fit->orig_bitpix = bitpix; + fit->naxes[0] = naxes[0]; + fit->naxes[1] = naxes[1]; + fit->naxes[2] = naxes[2]; + fit->rx = naxes[0]; + fit->ry = naxes[1]; + fit->naxis = naxis; + fit->maxi = 0; + if (fit->naxis == 3) { + fit->pdata[RLAYER] = fit->data; + fit->pdata[GLAYER] = fit->data + nbdata; + fit->pdata[BLAYER] = fit->data + nbdata * 2; + } else { + fit->pdata[RLAYER] = fit->data; + fit->pdata[GLAYER] = fit->data; + fit->pdata[BLAYER] = fit->data; + } + update_used_memory(); + return 0; +} + +int stack_compute_parallel_blocks(struct _image_block **blocksptr, int max_number_of_rows, + int nb_channels, long *naxes, long *largest_block_height, + int *nb_blocks) { + int size_of_stacks = max_number_of_rows; + if (size_of_stacks == 0) + size_of_stacks = 1; + /* Note: this size of stacks based on the max memory configured doesn't take into + * account memory for demosaicing if it applies. + * Now we compute the total number of "stacks" which are the independent areas where + * the stacking will occur. This will then be used to create the image areas. */ + int remainder; + if (naxes[1] / size_of_stacks < 4) { + /* We have enough RAM to process each channel with 4 threads. + * We should cut images at least in 4 on one channel to use enough threads, + * and if only one is available, it will use much less RAM for a small time overhead. + * Also, for slow data access like rotating drives or on-the-fly debayer, + * it feels more responsive this way. + */ + *nb_blocks = 4 * nb_channels; + size_of_stacks = naxes[1] / 4; + remainder = naxes[1] % 4; + } else { + /* We don't have enough RAM to process a channel with all available threads */ + *nb_blocks = naxes[1] * nb_channels / size_of_stacks; + if (*nb_blocks % nb_channels != 0 + || (naxes[1] * nb_channels) % size_of_stacks != 0) { + /* we need to take into account the fact that the stacks are computed for + * each channel, not for the total number of pixels. So it needs to be + * a factor of the number of channels. + */ + *nb_blocks += nb_channels - (*nb_blocks % nb_channels); + size_of_stacks = naxes[1] * nb_channels / *nb_blocks; + } + remainder = naxes[1] - (*nb_blocks / nb_channels * size_of_stacks); + } + siril_log_message(_("We have %d parallel blocks of size %d (+%d) for stacking.\n"), + *nb_blocks, size_of_stacks, remainder); + + *largest_block_height = 0; + long channel = 0, row = 0, end, j = 0; + *blocksptr = malloc(*nb_blocks * sizeof(struct _image_block)); + if (!*blocksptr) return 1; + struct _image_block *blocks = *blocksptr; + do { + if (j >= *nb_blocks) { + siril_log_message(_("A bug has been found. Unable to split the image " + "area into the correct processing blocks.\n")); + return 1; + } + + blocks[j].channel = channel; + blocks[j].start_row = row; + end = row + size_of_stacks - 1; + if (remainder > 0) { + // just add one pixel from the remainder to the first blocks to + // avoid having all of them in the last block + end++; + remainder--; + } + if (end >= naxes[1] - 1 || // end of the line + (naxes[1] - end < size_of_stacks / 10)) { // not far from it + end = naxes[1] - 1; + row = 0; + channel++; + remainder = naxes[1] - (*nb_blocks / nb_channels * size_of_stacks); + } else { + row = end + 1; + } + blocks[j].end_row = end; + blocks[j].height = blocks[j].end_row - blocks[j].start_row + 1; + if (*largest_block_height < blocks[j].height) { + *largest_block_height = blocks[j].height; + } + fprintf(stdout, "Block %ld: channel %lu, from %lu to %lu (h = %lu)\n", + j, blocks[j].channel, blocks[j].start_row, + blocks[j].end_row, blocks[j].height); + j++; + + } while (channel < nb_channels) ; + + return 0; +} + +void stack_read_block_data(struct stacking_args *args, int use_regdata, + struct _image_block *my_block, struct _data_block *data, long *naxes) { + + int frame; + /* Read the block from all images, store them in pix[image] */ + for (frame = 0; frame < args->nb_images_to_stack; ++frame){ + gboolean clear = FALSE, readdata = TRUE; + long offset = 0; + /* area in C coordinates, starting with 0, not cfitsio coordinates. */ + rectangle area = {0, my_block->start_row, naxes[0], my_block->height}; + + if (!get_thread_run()) { + return; + } + if (use_regdata && args->reglayer >= 0) { + /* Load registration data for current image and modify area. + * Here, only the y shift is managed. If possible, the remaining part + * of the original area is read, the rest is filled with zeros. The x + * shift is managed in the main loop after the read. */ + regdata *layerparam = args->seq->regparam[args->reglayer]; + if (layerparam) { + int shifty = round_to_int( + layerparam[args->image_indices[frame]].shifty * + args->seq->upscale_at_stacking); +#ifdef STACK_DEBUG + fprintf(stdout, "shifty for image %d: %d\n", args->image_indices[frame], shifty); +#endif + if (area.y + area.h - 1 + shifty < 0 || area.y + shifty >= naxes[1]) { + // entirely outside image below or above: all black pixels + clear = TRUE; readdata = FALSE; + } else if (area.y + shifty < 0) { + /* we read only the bottom part of the area here, which + * requires an offset in pix */ + clear = TRUE; + area.h += area.y + shifty; // cropping the height + offset = naxes[0] * (area.y - shifty); // positive + area.y = 0; + } else if (area.y + area.h - 1 + shifty >= naxes[1]) { + /* we read only the upper part of the area here */ + clear = TRUE; + area.y += shifty; + area.h += naxes[1] - (area.y + area.h); + } else { + area.y += shifty; + } + } +#ifdef STACK_DEBUG + else fprintf(stderr, "NO REGPARAM\n"); +#endif + + if (clear) { + /* we are reading outside an image, fill with + * zeros and attempt to read lines that fit */ + memset(data->pix[frame], 0, my_block->height * naxes[0] * sizeof(WORD)); + } + } + + if (!use_regdata || readdata) { + // reading pixels from current frame + int retval = seq_opened_read_region(args->seq, my_block->channel, + args->image_indices[frame], data->pix[frame]+offset, &area); + if (retval) { +#ifdef _OPENMP + int tid = omp_get_thread_num(); + if (tid == 0) +#endif + siril_log_message(_("Error reading one of the image areas\n")); + break; + } + } + } +} diff -Nru siril-0.9.10/src/stacking/normalization.c siril-0.9.11/src/stacking/normalization.c --- siril-0.9.10/src/stacking/normalization.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/stacking/normalization.c 2019-05-27 09:16:07.000000000 +0000 @@ -21,11 +21,14 @@ args->coeff.scale = malloc(nb_frames * sizeof(double)); if (!args->coeff.offset || !args->coeff.mul || !args->coeff.scale) { printf("allocation issue in stacking normalization\n"); + args->retval = -1; return -1; } - if (compute_normalization(args)) + if (compute_normalization(args)) { + args->retval = -1; return -1; + } if (args->seq->needs_saving) // if we had to compute new stats writeseqfile(args->seq); @@ -87,6 +90,26 @@ return 0; } +static int normalization_get_max_number_of_threads(sequence *seq) { + int max_memory_MB = round_to_int(com.stack.memory_percent * + (double)get_available_memory_in_MB()); + uint64_t memory_per_image = seq->rx * seq->ry * seq->nb_layers * (2 * sizeof(WORD) + 2 * sizeof(double)); + unsigned int memory_per_image_MB = memory_per_image / BYTES_IN_A_MB; + + fprintf(stdout, "Memory per image: %u MB. Max memory: %d MB\n", memory_per_image_MB, max_memory_MB); + + if (memory_per_image_MB > max_memory_MB) { + siril_log_color_message(_("Your system does not have enough memory to normalize images for stacking operation (%d MB free for %d MB required)\n"), "red", max_memory_MB, memory_per_image_MB); + return 0; + } + + int nb_threads = max_memory_MB / memory_per_image_MB; + if (nb_threads > com.max_thread) + nb_threads = com.max_thread; + siril_log_message(_("With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) can be used for sequence normalization\n"), com.stack.memory_percent, com.max_thread, nb_threads); + return nb_threads; +} + static int compute_normalization(struct stacking_args *args) { int i, ref_image_filtred_idx = -1, retval = 0, cur_nb = 1; double scale0, mul0, offset0; // for reference frame @@ -107,15 +130,18 @@ set_progress_bar_data(tmpmsg, PROGRESS_RESET); // first, find the index of the ref image in the filtered image list - for (i = 0; i < args->nb_images_to_stack; i++) - if (args->image_indices[i] == args->ref_image) { - ref_image_filtred_idx = i; - break; - } + ref_image_filtred_idx = find_refimage_in_indices(args->image_indices, + args->nb_images_to_stack, args->ref_image); if (ref_image_filtred_idx == -1) { siril_log_color_message(_("The reference image is not in the selected set of images. " "Please choose another reference image.\n"), "red"); - siril_log_color_message(_("Normalization skipped.\n"), "red"); + return 1; + } + + // check memory first + int nb_threads = normalization_get_max_number_of_threads(args->seq); + if (nb_threads == 0) { + set_progress_bar_data(_("Normalization failed."), PROGRESS_NONE); return 1; } @@ -135,7 +161,7 @@ set_progress_bar_data(NULL, 1.0 / (double)args->nb_images_to_stack); #ifdef _OPENMP -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) if (args->seq->type == SEQ_SER || fits_is_reentrant()) +#pragma omp parallel for num_threads(nb_threads) private(i) schedule(static) if (args->seq->type == SEQ_SER || fits_is_reentrant()) #endif for (i = 0; i < args->nb_images_to_stack; ++i) { if (!retval && i != ref_image_filtred_idx) { diff -Nru siril-0.9.10/src/stacking/stacking.c siril-0.9.11/src/stacking/stacking.c --- siril-0.9.10/src/stacking/stacking.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/stacking/stacking.c 2019-05-27 09:16:07.000000000 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #ifdef _OPENMP @@ -37,46 +38,34 @@ #include "core/initfile.h" #include "gui/callbacks.h" #include "gui/progress_and_log.h" +#include "gui/PSF_list.h" +#include "gui/histogram.h" // update_gfit_histogram_if_needed(); #include "io/sequence.h" #include "io/single_image.h" +#include "io/ser.h" #include "registration/registration.h" -#include "stacking/stacking.h" #include "algos/PSF.h" -#include "gui/PSF_list.h" -#include "gui/histogram.h" // update_gfit_histogram_if_needed(); -#include "io/ser.h" +#include "algos/sorting.h" +#include "stacking.h" #include "sum.h" #include "opencv/opencv.h" -#define TMP_UPSCALED_PREFIX "tmp_upscaled_" - -#undef STACK_DEBUG - static struct stacking_args stackparam = { // parameters passed to stacking - NULL, NULL, -1, NULL, -1.0, 0, NULL, { '\0' }, NULL, FALSE, { 0, 0 }, -1, 0, { 0, 0 }, NO_REJEC, NO_NORM, { NULL, NULL, NULL}, FALSE, -1 + NULL, NULL, -1, NULL, -1.0, 0, NULL, NULL, NULL, FALSE, { 0, 0 }, -1, 0, + { 0, 0 }, NO_REJEC, NO_NORM, { NULL, NULL, NULL}, FALSE, -1 }; +#define MAX_FILTERS 5 +static struct filtering_tuple stackfilters[MAX_FILTERS]; + stack_method stacking_methods[] = { stack_summing_generic, stack_mean_with_rejection, stack_median, stack_addmax, stack_addmin }; static gboolean end_stacking(gpointer p); static int stack_addminmax(struct stacking_args *args, gboolean ismax); -static void start_stacking(); - -struct image_block { - unsigned long channel, start_row, end_row, height; -}; -/* pool of memory blocks for parallel processing */ -struct _data_block { - WORD **pix; // buffer for a block on all images - WORD *tmp; // the actual single buffer for pix - WORD *stack; // the reordered stack for one pixel in all images - int *rejected; // 0 if pixel ok, 1 or -1 if rejected -}; - void initialize_stacking_methods() { GtkComboBoxText *stackcombo, *rejectioncombo; @@ -86,135 +75,49 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(rejectioncombo), com.stack.rej_method); } +static void normalize_to16bit(int bitpix, double *mean) { + switch(bitpix) { + case BYTE_IMG: + *mean *= (USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE); + break; + default: + case SHORT_IMG: + case USHORT_IMG: + ; // do nothing + } +} + /******************************* MEDIAN STACKING ****************************** - * This is a bit special as median stacking requires all images to be in memory - * So we dont use the generic readfits but directly the cfitsio routines, and - * allocates as many pix tables as needed. + * Median stacking requires all images to be in memory, so we dont use the + * generic readfits but directly the cfitsio routines, and allocates as many + * pix tables as needed. + * Median stacking does not use registration data, as it's generally used for + * preprocessing master file creation. * ****************************************************************************/ int stack_median(struct stacking_args *args) { int nb_frames; /* number of frames actually used */ - int status; /* CFITSIO status value MUST be initialized to zero for EACH call */ - int bitpix; - int naxis, oldnaxis = -1, cur_nb = 0; - long npixels_in_block, nbdata; - long naxes[3], oldnaxes[3]; - int i; - double exposure = 0.0; - char filename[256], msg[256]; - int retval = 0; + int bitpix, i, naxis, cur_nb = 0, retval = 0, pool_size = 1; + long npixels_in_block, naxes[3]; + double exposure; struct _data_block *data_pool = NULL; - int pool_size = 1; - fits fit; - struct image_block *blocks = NULL; + struct _image_block *blocks = NULL; + fits fit = { 0 }; nb_frames = args->nb_images_to_stack; - memset(&fit, 0, sizeof(fits)); + naxes[0] = naxes[1] = 0; naxes[2] = 1; - if (args->seq->type != SEQ_REGULAR && args->seq->type != SEQ_SER) { - siril_log_message(_("Median stacking is only supported for FITS images and SER sequences.\n")); - return -1; - } if (nb_frames < 2) { siril_log_message(_("Select at least two frames for stacking. Aborting.\n")); return -1; } - g_assert(nb_frames <= args->seq->number); set_progress_bar_data(NULL, PROGRESS_RESET); - /* allocate data structures */ - oldnaxes[0] = oldnaxes[1] = oldnaxes[2] = 0; // fix compiler warning - naxes[0] = naxes[1] = 0; naxes[2] = 1; - /* first loop: open all fits files and check they are of same size */ - if (args->seq->type == SEQ_REGULAR) { - for (i=0; iimage_indices[i]; // image index in sequence - if (!get_thread_run()) { - retval = -1; - goto free_and_close; - } - if (!fit_sequence_get_image_filename(args->seq, image_index, filename, TRUE)) - continue; - - snprintf(msg, 255, _("Median stack: opening image %s"), filename); - msg[255] = '\0'; - set_progress_bar_data(msg, PROGRESS_NONE); - - /* open input images */ - if (seq_open_image(args->seq, image_index)) { - retval = -1; - goto free_and_close; - } - - /* here we use the internal data of sequences, it's quite ugly, we should - * consider moving these tests in seq_open_image() or wrapping them in a - * sequence function */ - status = 0; - fits_get_img_param(args->seq->fptr[image_index], 3, &bitpix, &naxis, naxes, &status); - if (status) { - fits_report_error(stderr, status); /* print error message */ - retval = status; - goto free_and_close; - } - if (naxis > 3) { - siril_log_message(_("Median stack error: images with > 3 dimensions " - "are not supported\n")); - retval = -1; - goto free_and_close; - } - - if(oldnaxis > 0) { - if(naxis != oldnaxis || - oldnaxes[0] != naxes[0] || - oldnaxes[1] != naxes[1] || - oldnaxes[2] != naxes[2]) { - siril_log_message(_("Median stack error: input images have " - "different sizes\n")); - retval = -2; - goto free_and_close; - } - } else { - oldnaxis = naxis; - oldnaxes[0] = naxes[0]; - oldnaxes[1] = naxes[1]; - oldnaxes[2] = naxes[2]; - } - - /* exposure summing */ - double tmp; - status = 0; - /* and here we should provide a opened_fits_read_key for example */ - fits_read_key (args->seq->fptr[image_index], TDOUBLE, "EXPTIME", &tmp, NULL, &status); - if (status || tmp <= 0.0) { - status = 0; - fits_read_key (args->seq->fptr[image_index], TDOUBLE, "EXPOSURE", &tmp, NULL, &status); - } - if (!status) - exposure += tmp; - } - update_used_memory(); + if ((retval = stack_open_all_files(args, &bitpix, &naxis, naxes, &exposure, &fit))) { + goto free_and_close; } - if (naxes[2] == 0) - naxes[2] = 1; - g_assert(naxes[2] <= 3); - if (args->seq->type == SEQ_SER) { - g_assert(args->seq->ser_file); - naxes[0] = args->seq->ser_file->image_width; - naxes[1] = args->seq->ser_file->image_height; - ser_color type_ser = args->seq->ser_file->color_id; - if (!com.debayer.open_debayer && type_ser != SER_RGB && type_ser != SER_BGR) - type_ser = SER_MONO; - naxes[2] = type_ser == SER_MONO ? 1 : 3; - naxis = type_ser == SER_MONO ? 2 : 3; - /* case of Super Pixel not handled yet */ - if (com.debayer.bayer_inter == BAYER_SUPER_PIXEL) { - siril_log_message(_("Super-pixel is not handled yet for on the fly SER stacking\n")); /* TODO */ - retval = -1; - goto free_and_close; - } - } if (naxes[0] == 0) { // no image has been loaded siril_log_message(_("Median stack error: uninitialized sequence\n")); @@ -224,31 +127,14 @@ fprintf(stdout, "image size: %ldx%ld, %ld layers\n", naxes[0], naxes[1], naxes[2]); /* initialize result image */ - nbdata = naxes[0] * naxes[1]; - fit.data = malloc(nbdata * naxes[2] * sizeof(WORD)); - if (!fit.data) { - fprintf(stderr, "Memory allocation error for result\n"); - retval = -1; + if ((retval = stack_create_result_fit(&fit, bitpix, naxis, naxes))) { goto free_and_close; } - fit.bitpix = USHORT_IMG; - fit.naxes[0] = naxes[0]; - fit.naxes[1] = naxes[1]; - fit.naxes[2] = naxes[2]; - fit.rx = naxes[0]; - fit.ry = naxes[1]; - fit.naxis = naxis; - fit.maxi = 0; - if(fit.naxis == 3) { - fit.pdata[RLAYER] = fit.data; - fit.pdata[GLAYER] = fit.data + nbdata; - fit.pdata[BLAYER] = fit.data + nbdata * 2; - } else { - fit.pdata[RLAYER] = fit.data; - fit.pdata[GLAYER] = fit.data; - fit.pdata[BLAYER] = fit.data; + if (args->norm_to_16 || fit.orig_bitpix != BYTE_IMG) { + fit.bitpix = USHORT_IMG; + if (args->norm_to_16) + fit.orig_bitpix = USHORT_IMG; } - update_used_memory(); /* Define some useful constants */ double total = (double)(naxes[2] * naxes[1] + 2); // only used for progress bar @@ -256,15 +142,16 @@ int nb_threads; #ifdef _OPENMP nb_threads = com.max_thread; - if (args->seq->type == SEQ_REGULAR && fits_is_reentrant()) { - fprintf(stdout, "cfitsio was compiled with multi-thread support," - " stacking will be executed by several cores\n"); - } - if (args->seq->type == SEQ_REGULAR && !fits_is_reentrant()) { - nb_threads = 1; - fprintf(stdout, "cfitsio was compiled without multi-thread support," - " stacking will be executed on only one core\n"); - siril_log_message(_("Your version of cfitsio does not support multi-threading\n")); + if (nb_threads > 1 && args->seq->type == SEQ_REGULAR) { + if (fits_is_reentrant()) { + fprintf(stdout, "cfitsio was compiled with multi-thread support," + " stacking will be executed by several cores\n"); + } else { + nb_threads = 1; + fprintf(stdout, "cfitsio was compiled without multi-thread support," + " stacking will be executed on only one core\n"); + siril_log_message(_("Your version of cfitsio does not support multi-threading\n")); + } } #else nb_threads = 1; @@ -276,82 +163,13 @@ nb_channels = 3; } - int size_of_stacks = args->max_number_of_rows / nb_threads; - if (size_of_stacks == 0) - size_of_stacks = 1; - /* Note: this size of stacks based on the max memory configured doesn't take into - * account memory for demosaicing if it applies. - * Now we compute the total number of "stacks" which are the independent areas where - * the stacking will occur. This will then be used to create the image areas. */ - long nb_parallel_stacks; - int remainder; - if (naxes[1] / size_of_stacks < 4) { - /* We have enough RAM to process each channel with 4 threads. - * We should cut images at least in 4 on one channel to use enough threads, - * and if only one is available, it will use much less RAM for a small time overhead. - * Also, for slow data access like rotating drives or on-the-fly debayer, - * it feels more responsive this way. - */ - nb_parallel_stacks = 4 * nb_channels; - size_of_stacks = naxes[1] / 4; - remainder = naxes[1] % 4; - } else { - /* We don't have enough RAM to process a channel with all available threads */ - nb_parallel_stacks = naxes[1] * nb_channels / size_of_stacks; - if (nb_parallel_stacks % nb_channels != 0 - || (naxes[1] * nb_channels) % size_of_stacks != 0) { - /* we need to take into account the fact that the stacks are computed for - * each channel, not for the total number of pixels. So it needs to be - * a factor of the number of channels. - */ - nb_parallel_stacks += nb_channels - (nb_parallel_stacks % nb_channels); - size_of_stacks = naxes[1] * nb_channels / nb_parallel_stacks; - } - remainder = naxes[1] - (nb_parallel_stacks / nb_channels * size_of_stacks); - } - siril_log_message(_("We have %d parallel blocks of size %d (+%d) for stacking.\n"), - nb_parallel_stacks, size_of_stacks, remainder); - long largest_block_height = 0; - blocks = malloc(nb_parallel_stacks * sizeof(struct image_block)); - { - long channel = 0, row = 0, end, j = 0; - do { - if (j >= nb_parallel_stacks) { - siril_log_message(_("A bug has been found. " - "Unable to split the image area into the correct processing blocks.\n")); - retval = -1; - goto free_and_close; - } - blocks[j].channel = channel; - blocks[j].start_row = row; - end = row + size_of_stacks - 1; - if (remainder > 0) { - // just add one pixel from the remainder to the first blocks to - // avoid having all of them in the last block - end++; - remainder--; - } - if (end >= naxes[1] - 1 || // end of the line - (naxes[1] - end < size_of_stacks / 10)) { // not far from it - end = naxes[1] - 1; - row = 0; - channel++; - remainder = naxes[1] - (nb_parallel_stacks / nb_channels * size_of_stacks); - } else { - row = end + 1; - } - blocks[j].end_row = end; - blocks[j].height = blocks[j].end_row - blocks[j].start_row + 1; - if (largest_block_height < blocks[j].height) { - largest_block_height = blocks[j].height; - } - fprintf(stdout, "Block %ld: channel %lu, from %lu to %lu (h = %lu)\n", - j, blocks[j].channel, blocks[j].start_row, - blocks[j].end_row, blocks[j].height); - j++; - - } while (channel < nb_channels) ; + long largest_block_height; + int nb_blocks; + /* Compute parallel processing data: the data blocks, later distributed to threads */ + if ((retval = stack_compute_parallel_blocks(&blocks, args->max_number_of_rows, nb_channels, + naxes, &largest_block_height, &nb_blocks))) { + goto free_and_close; } /* Allocate the buffers. @@ -365,15 +183,15 @@ npixels_in_block = largest_block_height * naxes[0]; g_assert(npixels_in_block > 0); fprintf(stdout, "allocating data for %d threads (each %'lu MB)\n", pool_size, - (unsigned long) (nb_frames * npixels_in_block * sizeof(WORD)) / 1048576UL); - data_pool = malloc(pool_size * sizeof(struct _data_block)); + (unsigned long) (nb_frames * npixels_in_block * sizeof(WORD)) / BYTES_IN_A_MB); + data_pool = calloc(pool_size, sizeof(struct _data_block)); for (i = 0; i < pool_size; i++) { int j; data_pool[i].pix = calloc(nb_frames, sizeof(WORD *)); data_pool[i].tmp = calloc(nb_frames, npixels_in_block * sizeof(WORD)); data_pool[i].stack = calloc(nb_frames, sizeof(WORD)); if (!data_pool[i].pix || !data_pool[i].tmp || !data_pool[i].stack) { - fprintf(stderr, "Memory allocation error on pix.\n"); + PRINT_ALLOC_ERR; fprintf(stderr, "CHANGE MEMORY SETTINGS if stacking takes too much.\n"); retval = -1; goto free_and_close; @@ -388,12 +206,12 @@ set_progress_bar_data(_("Median stacking in progress..."), PROGRESS_RESET); #ifdef _OPENMP -#pragma omp parallel for num_threads(com.max_thread) private(i) schedule(static) if (args->seq->type == SEQ_SER || fits_is_reentrant()) +#pragma omp parallel for num_threads(nb_threads) private(i) schedule(dynamic) if (nb_threads > 1 && (args->seq->type == SEQ_SER || fits_is_reentrant())) #endif - for (i = 0; i < nb_parallel_stacks; i++) + for (i = 0; i < nb_blocks; i++) { /**** Step 1: get allocated memory for the current thread ****/ - struct image_block *my_block = blocks+i; + struct _image_block *my_block = blocks+i; struct _data_block *data; int data_idx = 0, frame; long x, y; @@ -402,38 +220,14 @@ if (retval) continue; #ifdef _OPENMP data_idx = omp_get_thread_num(); +#ifdef STACK_DEBUG + fprintf(stdout, "Thread %d takes block %d.\n", data_idx, i); +#endif #endif - g_assert(data_idx < pool_size); - //fprintf(stdout, "thread %d working on block %d gets data\n", data_idx, i); data = &data_pool[data_idx]; /**** Step 2: load image data for the corresponding image block ****/ - /* area in C coordinates, starting with 0, not cfitsio coordinates. */ - rectangle area = {0, my_block->start_row, naxes[0], my_block->height}; - /* Read the block from all images, store them in pix[image] */ - for (frame = 0; frame < nb_frames; ++frame){ - if (!get_thread_run()) { - retval = -1; - break; - } - - // reading pixels from current frame - int success = seq_opened_read_region(args->seq, my_block->channel, - args->image_indices[frame], data->pix[frame], &area); - - if (success < 0) - retval = -1; - - if (retval) { -#ifdef _OPENMP - int tid = omp_get_thread_num(); - if (tid == 0) -#endif - siril_log_message(_("Error reading one of the image areas\n")); - break; - } - } - if (retval) continue; + stack_read_block_data(args, 0, my_block, data, naxes); /**** Step 3: iterate over the y and x of the image block and stack ****/ for (y = 0; y < my_block->height; y++) @@ -442,6 +236,8 @@ * we read line y, but we need to store it at * ry - y - 1 to not have the image mirrored. */ int pixel_idx = (naxes[1] - (my_block->start_row + y) - 1) * naxes[0]; + /* index of the line in the read data, data->pix[frame] */ + int pix_idx = y * naxes[0]; if (retval) break; // update progress bar @@ -454,37 +250,43 @@ retval = -1; break; } - if (!(y % 16)) // every 16 iterations + if (!(cur_nb % 16)) // every 16 iterations set_progress_bar_data(NULL, (double)cur_nb/total); for (x = 0; x < naxes[0]; ++x){ - int ii; /* copy all images pixel values in the same row array `stack' * to optimize caching and improve readability */ - for (ii=0; iinormalize) { default: - case NO_NORM: // no normalization (scale[ii] = 1, offset[ii] = 0, mul[ii] = 1) - data->stack[ii] = data->pix[ii][y*naxes[0]+x]; + case NO_NORM: + // no normalization (scale[frame] = 1, offset[frame] = 0, mul[frame] = 1) + data->stack[frame] = data->pix[frame][pix_idx+x]; /* it's faster if we don't convert it to double * to make identity operations */ break; - case ADDITIVE: // additive (scale[ii] = 1, mul[ii] = 1) - case ADDITIVE_SCALING: // additive + scale (mul[ii] = 1) - tmp = (double)data->pix[ii][y*naxes[0]+x] * args->coeff.scale[ii]; - data->stack[ii] = round_to_WORD(tmp - args->coeff.offset[ii]); + case ADDITIVE: + // additive (scale[frame] = 1, mul[frame] = 1) + case ADDITIVE_SCALING: + // additive + scale (mul[frame] = 1) + tmp = (double)data->pix[frame][pix_idx+x] * args->coeff.scale[frame]; + data->stack[frame] = round_to_WORD(tmp - args->coeff.offset[frame]); break; - case MULTIPLICATIVE: // multiplicative (scale[ii] = 1, offset[ii] = 0) - case MULTIPLICATIVE_SCALING: // multiplicative + scale (offset[ii] = 0) - tmp = (double)data->pix[ii][y*naxes[0]+x] * args->coeff.scale[ii]; - data->stack[ii] = round_to_WORD(tmp * args->coeff.mul[ii]); + case MULTIPLICATIVE: + // multiplicative (scale[frame] = 1, offset[frame] = 0) + case MULTIPLICATIVE_SCALING: + // multiplicative + scale (offset[frame] = 0) + tmp = (double)data->pix[frame][pix_idx+x] * args->coeff.scale[frame]; + data->stack[frame] = round_to_WORD(tmp * args->coeff.mul[frame]); break; } } - quicksort_s(data->stack, nb_frames); - fit.pdata[my_block->channel][pixel_idx] = - gsl_stats_ushort_median_from_sorted_data(data->stack, 1, nb_frames); + double median = quickmedian(data->stack, nb_frames); + if (args->norm_to_16) { + normalize_to16bit(bitpix, &median); + } + fit.pdata[my_block->channel][pixel_idx] = round_to_WORD(median); pixel_idx++; } } @@ -493,7 +295,7 @@ if (retval) goto free_and_close; - set_progress_bar_data(_("Finalizing stacking..."), PROGRESS_NONE); + set_progress_bar_data(_("Finalizing stacking..."), (double)cur_nb/total); /* copy result to gfit if success */ clearfits(&gfit); copyfits(&fit, &gfit, CP_FORMAT, 0); @@ -624,8 +426,8 @@ /* load registration data for current image */ if(reglayer != -1 && args->seq->regparam[reglayer]) { - shiftx = roundf_to_int(args->seq->regparam[reglayer][j].shiftx * args->seq->upscale_at_stacking); - shifty = roundf_to_int(args->seq->regparam[reglayer][j].shifty * args->seq->upscale_at_stacking); + shiftx = round_to_int(args->seq->regparam[reglayer][j].shiftx * args->seq->upscale_at_stacking); + shifty = round_to_int(args->seq->regparam[reglayer][j].shifty * args->seq->upscale_at_stacking); } else { shiftx = 0; shifty = 0; @@ -736,11 +538,9 @@ else return 0; } -static int Winsorized(WORD *pixel, double m0, double m1) { +static void Winsorize(WORD *pixel, double m0, double m1) { if (*pixel < m0) *pixel = round_to_WORD(m0); else if (*pixel > m1) *pixel = round_to_WORD(m1); - - return 0; } static int line_clipping(WORD pixel, double sig[], double sigma, int i, double a, double b, uint64_t rej[]) { @@ -758,145 +558,42 @@ else return 0; } -static void remove_pixel(WORD *arr, int i, int N) { - memmove(&arr[i], &arr[i + 1], (N - i - 1) * sizeof(*arr)); -} - -static void normalize_to16bit(int bitpix, double *sum) { - switch(bitpix) { - case BYTE_IMG: - *sum *= (USHRT_MAX_DOUBLE / UCHAR_MAX_DOUBLE); - break; - default: - case SHORT_IMG: - case USHORT_IMG: - ; // do nothing - } -} - int stack_mean_with_rejection(struct stacking_args *args) { int nb_frames; /* number of frames actually used */ - int status; /* CFITSIO status value MUST be initialized to zero for EACH call */ - int reglayer; uint64_t irej[3][2] = {{0,0}, {0,0}, {0,0}}; int bitpix; - int naxis, oldnaxis = -1, cur_nb = 0; - long npixels_in_block, nbdata; - long naxes[3], oldnaxes[3]; + int naxis, cur_nb = 0; + long npixels_in_block; + long naxes[3]; int i; double exposure = 0.0; - char filename[256], msg[256]; int retval = 0; struct _data_block *data_pool = NULL; int pool_size = 1; - fits fit = {0}; - struct image_block *blocks = NULL; + fits fit = { 0 }; + struct _image_block *blocks = NULL; + regdata *layerparam = NULL; nb_frames = args->nb_images_to_stack; - reglayer = args->reglayer; + naxes[0] = naxes[1] = 0; naxes[2] = 1; - if (args->seq->type != SEQ_REGULAR && args->seq->type != SEQ_SER) { - siril_log_message(_("Rejection stacking is only supported for FITS images and SER sequences.\nUse \"Sum Stacking\" instead.\n")); - return -1; - } if (nb_frames < 2) { siril_log_message(_("Select at least two frames for stacking. Aborting.\n")); return -1; } - g_assert(nb_frames <= args->seq->number); - set_progress_bar_data(NULL, PROGRESS_RESET); - /* allocate data structures */ - oldnaxes[0] = oldnaxes[1] = oldnaxes[2] = 0; // fix compiler warning - naxes[0] = naxes[1] = 0; naxes[2] = 1; + if (args->reglayer < 0) + fprintf(stderr, "No registration layer passed, ignoring regdata!\n"); + else layerparam = args->seq->regparam[args->reglayer]; - /* first loop: open all fits files and check they are of same size */ - if (args->seq->type == SEQ_REGULAR) { - for (i = 0; i < nb_frames; ++i) { - int image_index = args->image_indices[i]; // image index in sequence - if (!get_thread_run()) { - retval = -1; - goto free_and_close; - } - if (!fit_sequence_get_image_filename(args->seq, image_index, filename, TRUE)) - continue; - - snprintf(msg, 255, _("Rejection stack: opening image %s"), filename); - msg[255] = '\0'; - set_progress_bar_data(msg, PROGRESS_NONE); - - /* open input images */ - if (seq_open_image(args->seq, image_index)) { - retval = -1; - goto free_and_close; - } - - /* here we use the internal data of sequences, it's quite ugly, we should - * consider moving these tests in seq_open_image() or wrapping them in a - * sequence function */ - status = 0; - fits_get_img_param(args->seq->fptr[image_index], 3, &bitpix, &naxis, naxes, &status); - if (status) { - fits_report_error(stderr, status); /* print error message */ - retval = status; - goto free_and_close; - } - if (naxis > 3) { - siril_log_message(_("Rejection stack error: images with > 3 dimensions " - "are not supported\n")); - retval = -1; - goto free_and_close; - } - - if(oldnaxis > 0) { - if(naxis != oldnaxis || - oldnaxes[0] != naxes[0] || - oldnaxes[1] != naxes[1] || - oldnaxes[2] != naxes[2]) { - siril_log_message(_("Rejection stack error: input images have " - "different sizes\n")); - retval = -2; - goto free_and_close; - } - } else { - oldnaxis = naxis; - oldnaxes[0] = naxes[0]; - oldnaxes[1] = naxes[1]; - oldnaxes[2] = naxes[2]; - } - - /* exposure summing */ - exposure += get_exposure_from_fitsfile(args->seq->fptr[image_index]); - } - /* We copy metadata from reference to the final fit */ - if (args->seq->type == SEQ_REGULAR) - import_metadata_from_fitsfile(args->seq->fptr[args->ref_image], &fit); + set_progress_bar_data(NULL, PROGRESS_RESET); - update_used_memory(); + /* first loop: open all fits files and check they are of same size */ + if ((retval = stack_open_all_files(args, &bitpix, &naxis, naxes, &exposure, &fit))) { + goto free_and_close; } - if (naxes[2] == 0) - naxes[2] = 1; - g_assert(naxes[2] <= 3); - - if (args->seq->type == SEQ_SER) { - g_assert(args->seq->ser_file); - naxes[0] = args->seq->ser_file->image_width; - naxes[1] = args->seq->ser_file->image_height; - ser_color type_ser = args->seq->ser_file->color_id; - bitpix = (args->seq->ser_file->byte_pixel_depth == SER_PIXEL_DEPTH_8) ? BYTE_IMG : USHORT_IMG; - if (!com.debayer.open_debayer && type_ser != SER_RGB && type_ser != SER_BGR) - type_ser = SER_MONO; - naxes[2] = type_ser == SER_MONO ? 1 : 3; - naxis = type_ser == SER_MONO ? 2 : 3; - /* case of Super Pixel not handled yet */ - if (com.debayer.bayer_inter == BAYER_SUPER_PIXEL) { - siril_log_message(_("Super-pixel is not handled yet for on the fly SER stacking\n")); - retval = -1; - goto free_and_close; - } - } if (naxes[0] == 0) { // no image has been loaded siril_log_message(_("Rejection stack error: uninitialized sequence\n")); @@ -906,31 +603,14 @@ fprintf(stdout, "image size: %ldx%ld, %ld layers\n", naxes[0], naxes[1], naxes[2]); /* initialize result image */ - nbdata = naxes[0] * naxes[1]; - fit.data = malloc(nbdata * naxes[2] * sizeof(WORD)); - if (!fit.data) { - fprintf(stderr, "Memory allocation error for result\n"); - retval = -1; + if ((retval = stack_create_result_fit(&fit, bitpix, naxis, naxes))) { goto free_and_close; } - fit.bitpix = fit.orig_bitpix = bitpix; - fit.naxes[0] = naxes[0]; - fit.naxes[1] = naxes[1]; - fit.naxes[2] = naxes[2]; - fit.rx = naxes[0]; - fit.ry = naxes[1]; - fit.naxis = naxis; - fit.maxi = 0; - if(fit.naxis == 3) { - fit.pdata[RLAYER] = fit.data; - fit.pdata[GLAYER] = fit.data + nbdata; - fit.pdata[BLAYER] = fit.data + nbdata * 2; - } else { - fit.pdata[RLAYER] = fit.data; - fit.pdata[GLAYER] = fit.data; - fit.pdata[BLAYER] = fit.data; + if (args->norm_to_16 || fit.orig_bitpix != BYTE_IMG) { + fit.bitpix = USHORT_IMG; + if (args->norm_to_16) + fit.orig_bitpix = USHORT_IMG; } - update_used_memory(); /* Define some useful constants */ double total = (double)(naxes[2] * naxes[1] + 2); // only used for progress bar @@ -938,15 +618,16 @@ int nb_threads; #ifdef _OPENMP nb_threads = com.max_thread; - if (args->seq->type == SEQ_REGULAR && fits_is_reentrant()) { - fprintf(stdout, "cfitsio was compiled with multi-thread support," - " stacking will be executed by several cores\n"); - } - if (args->seq->type == SEQ_REGULAR && !fits_is_reentrant()) { - nb_threads = 1; - fprintf(stdout, "cfitsio was compiled without multi-thread support," - " stacking will be executed on only one core\n"); - siril_log_message(_("Your version of cfitsio does not support multi-threading\n")); + if (nb_threads > 1 && args->seq->type == SEQ_REGULAR) { + if (fits_is_reentrant()) { + fprintf(stdout, "cfitsio was compiled with multi-thread support," + " stacking will be executed by several cores\n"); + } else { + nb_threads = 1; + fprintf(stdout, "cfitsio was compiled without multi-thread support," + " stacking will be executed on only one core\n"); + siril_log_message(_("Your version of cfitsio does not support multi-threading\n")); + } } #else nb_threads = 1; @@ -958,82 +639,12 @@ nb_channels = 3; } - int size_of_stacks = args->max_number_of_rows / nb_threads; - if (size_of_stacks == 0) - size_of_stacks = 1; - /* Note: this size of stacks based on the max memory configured doesn't take into - * account memory for demosaicing if it applies. - * Now we compute the total number of "stacks" which are the independent areas where - * the stacking will occur. This will then be used to create the image areas. */ - long nb_parallel_stacks; - int remainder; - if (naxes[1] / size_of_stacks < 4) { - /* We have enough RAM to process each channel with 4 threads. - * We should cut images at least in 4 on one channel to use enough threads, - * and if only one is available, it will use much less RAM for a small time overhead. - * Also, for slow data access like rotating drives or on-the-fly debayer, - * it feels more responsive this way. - */ - nb_parallel_stacks = 4 * nb_channels; - size_of_stacks = naxes[1] / 4; - remainder = naxes[1] % 4; - } else { - /* We don't have enough RAM to process a channel with all available threads */ - nb_parallel_stacks = naxes[1] * nb_channels / size_of_stacks; - if (nb_parallel_stacks % nb_channels != 0 - || (naxes[1] * nb_channels) % size_of_stacks != 0) { - /* we need to take into account the fact that the stacks are computed for - * each channel, not for the total number of pixels. So it needs to be - * a factor of the number of channels. - */ - nb_parallel_stacks += nb_channels - (nb_parallel_stacks % nb_channels); - size_of_stacks = naxes[1] * nb_channels / nb_parallel_stacks; - } - remainder = naxes[1] - (nb_parallel_stacks / nb_channels * size_of_stacks); - } - siril_log_message(_("We have %d parallel blocks of size %d (+%d) for stacking.\n"), - nb_parallel_stacks, size_of_stacks, remainder); - long largest_block_height = 0; - blocks = malloc(nb_parallel_stacks * sizeof(struct image_block)); - { - long channel = 0, row = 0, end, j = 0; - do { - if (j >= nb_parallel_stacks) { - siril_log_message(_("A bug has been found. " - "Unable to split the image area into the correct processing blocks.\n")); - retval = -1; - goto free_and_close; - } - - blocks[j].channel = channel; - blocks[j].start_row = row; - end = row + size_of_stacks - 1; - if (remainder > 0) { - // just add one pixel from the remainder to the first blocks to - // avoid having all of them in the last block - end++; - remainder--; - } - if (end >= naxes[1] - 1 || // end of the line - (naxes[1] - end < size_of_stacks / 10)) { // not far from it - end = naxes[1] - 1; - row = 0; - channel++; - remainder = naxes[1] - (nb_parallel_stacks / nb_channels * size_of_stacks); - } else { - row = end + 1; - } - blocks[j].end_row = end; - blocks[j].height = blocks[j].end_row - blocks[j].start_row + 1; - if (largest_block_height < blocks[j].height) { - largest_block_height = blocks[j].height; - } - fprintf(stdout, "Block %ld: channel %lu, from %lu to %lu (h = %lu)\n", - j, blocks[j].channel, blocks[j].start_row, - blocks[j].end_row, blocks[j].height); - j++; - - } while (channel < nb_channels) ; + long largest_block_height; + int nb_blocks; + /* Compute parallel processing data: the data blocks, later distributed to threads */ + if ((retval = stack_compute_parallel_blocks(&blocks, args->max_number_of_rows, nb_channels, + naxes, &largest_block_height, &nb_blocks))) { + goto free_and_close; } /* Allocate the buffers. @@ -1048,8 +659,8 @@ g_assert(npixels_in_block > 0); fprintf(stdout, "allocating data for %d threads (each %'lu MB)\n", pool_size, - (unsigned long) (nb_frames * npixels_in_block * sizeof(WORD)) / 1048576UL); - data_pool = malloc(pool_size * sizeof(struct _data_block)); + (unsigned long) (nb_frames * npixels_in_block * sizeof(WORD)) / BYTES_IN_A_MB); + data_pool = calloc(pool_size, sizeof(struct _data_block)); for (i = 0; i < pool_size; i++) { int j; data_pool[i].pix = malloc(nb_frames * sizeof(WORD *)); @@ -1057,11 +668,32 @@ data_pool[i].stack = malloc(nb_frames * sizeof(WORD)); data_pool[i].rejected = calloc(nb_frames, sizeof(int)); if (!data_pool[i].pix || !data_pool[i].tmp || !data_pool[i].stack || !data_pool[i].rejected) { - fprintf(stderr, "Memory allocation error on pix.\n"); + PRINT_ALLOC_ERR; fprintf(stderr, "CHANGE MEMORY SETTINGS if stacking takes too much.\n"); retval = -1; goto free_and_close; } + if (args->type_of_rejection == WINSORIZED) { + data_pool[i].w_stack = malloc(nb_frames * sizeof(WORD)); + if (!data_pool[i].w_stack) { + PRINT_ALLOC_ERR; + fprintf(stderr, "CHANGE MEMORY SETTINGS if stacking takes too much.\n"); + retval = -1; + goto free_and_close; + } + } + + if (args->type_of_rejection == LINEARFIT) { + data_pool[i].xf = malloc(nb_frames * sizeof(double)); + data_pool[i].yf = malloc(nb_frames * sizeof(double)); + if (!data_pool[i].xf || !data_pool[i].yf) { + PRINT_ALLOC_ERR; + fprintf(stderr, "CHANGE MEMORY SETTINGS if stacking takes too much.\n"); + retval = -1; + goto free_and_close; + } + } + for (j=0; jseq->type == SEQ_SER || fits_is_reentrant()) +#pragma omp parallel for num_threads(nb_threads) private(i) schedule(dynamic) if (nb_threads > 1 && (args->seq->type == SEQ_SER || fits_is_reentrant())) #endif - for (i = 0; i < nb_parallel_stacks; i++) + for (i = 0; i < nb_blocks; i++) { /**** Step 1: get allocated memory for the current thread ****/ - struct image_block *my_block = blocks+i; + struct _image_block *my_block = blocks+i; struct _data_block *data; - int data_idx = 0, frame; + int data_idx = 0; long x, y; if (!get_thread_run()) retval = -1; if (retval) continue; #ifdef _OPENMP data_idx = omp_get_thread_num(); +#ifdef STACK_DEBUG + struct timeval thread_start; + gettimeofday(&thread_start, NULL); + fprintf(stdout, "Thread %d takes block %d.\n", data_idx, i); +#endif #endif - g_assert(data_idx < pool_size); //fprintf(stdout, "thread %d working on block %d gets data\n", data_idx, i); data = &data_pool[data_idx]; /**** Step 2: load image data for the corresponding image block ****/ - /* Read the block from all images, store them in pix[image] */ - for (frame = 0; frame < nb_frames; ++frame){ - int shifty = 0; - gboolean clear = FALSE, readdata = TRUE; - long offset = 0; - if (!get_thread_run()) { - retval = -1; - break; - } - /* area in C coordinates, starting with 0, not cfitsio coordinates. */ - rectangle area = {0, my_block->start_row, naxes[0], my_block->height}; - - /* Load registration data for current image and modify area. - * Here, only the y shift is managed. If possible, the remaining part - * of the original area is read, the rest is filled with zeros. The x - * shift is managed in the main loop after the read. */ - if (reglayer != -1 && args->seq->regparam[reglayer]) { - shifty = args->seq->regparam[reglayer][args->image_indices[frame]].shifty * args->seq->upscale_at_stacking; - if (area.y + area.h - 1 + shifty < 0 || area.y + shifty >= naxes[1]) { - // entirely outside image below or above: all black pixels - clear = TRUE; readdata = FALSE; - } else if (area.y + shifty < 0) { - /* we read only the bottom part of the area here, which - * requires an offset in pix */ - clear = TRUE; - area.h += area.y + shifty; // cropping the height - offset = naxes[0] * (area.y - shifty); // positive - area.y = 0; - } else if (area.y + area.h - 1 + shifty >= naxes[1]) { - /* we read only the upper part of the area here */ - clear = TRUE; - area.y += shifty; - area.h += naxes[1] - (area.y + area.h); - } else { - area.y += shifty; - } - } - - if (clear) { - /* we are reading outside an image, fill with - * zeros and attempt to read lines that fit */ - memset(data->pix[frame], 0, npixels_in_block * sizeof(WORD)); - } - - if (readdata) { - // reading pixels from current frame - int success = seq_opened_read_region(args->seq, my_block->channel, - args->image_indices[frame], data->pix[frame]+offset, &area); - - if (success < 0) - retval = -1; + stack_read_block_data(args, 1, my_block, data, naxes); - if (retval) { -#ifdef _OPENMP - int tid = omp_get_thread_num(); - if (tid == 0) -#endif - siril_log_message(_("Error reading one of the image areas\n")); - break; - } - } +#if defined _OPENMP && defined STACK_DEBUG + { + struct timeval thread_mid; + int min, sec; + gettimeofday(&thread_mid, NULL); + get_min_sec_from_timevals(thread_start, thread_mid, &min, &sec); + fprintf(stdout, "Thread %d loaded block %d after %d min %02d s.\n\n", + data_idx, i, min, sec); } - if (retval) continue; +#endif /**** Step 3: iterate over the y and x of the image block and stack ****/ for (y = 0; y < my_block->height; y++) @@ -1177,42 +762,52 @@ retval = -1; break; } - if (!(y % 16)) // every 16 iterations + if (!(cur_nb % 16)) // every 16 iterations set_progress_bar_data(NULL, (double)cur_nb/total); double sigma = -1.0; uint64_t crej[2] = {0, 0}; for (x = 0; x < naxes[0]; ++x){ + int frame; /* copy all images pixel values in the same row array `stack' * to optimize caching and improve readability */ for (frame = 0; frame < nb_frames; ++frame) { int shiftx = 0; - if (reglayer != -1 && args->seq->regparam[reglayer]) { - shiftx = args->seq->regparam[reglayer][args->image_indices[frame]].shiftx * args->seq->upscale_at_stacking; + if (layerparam) { + shiftx = round_to_int( + layerparam[args->image_indices[frame]].shiftx * + args->seq->upscale_at_stacking); } + if (shiftx && (x - shiftx >= naxes[0] || x - shiftx < 0)) { /* outside bounds, images are black. We could * also set the background value instead, if available */ data->stack[frame] = 0; } else { + WORD pixel = data->pix[frame][pix_idx+x-shiftx]; double tmp; switch (args->normalize) { default: - case NO_NORM: // no normalization (scale[frame] = 1, offset[frame] = 0, mul[frame] = 1) - data->stack[frame] = data->pix[frame][pix_idx+x-shiftx]; + case NO_NORM: + // no normalization (scale[frame] = 1, offset[frame] = 0, mul[frame] = 1) + data->stack[frame] = pixel; /* it's faster if we don't convert it to double * to make identity operations */ break; - case ADDITIVE: // additive (scale[frame] = 1, mul[frame] = 1) - case ADDITIVE_SCALING: // additive + scale (mul[frame] = 1) - tmp = (double)data->pix[frame][pix_idx+x-shiftx] * args->coeff.scale[frame]; + case ADDITIVE: + // additive (scale[frame] = 1, mul[frame] = 1) + case ADDITIVE_SCALING: + // additive + scale (mul[frame] = 1) + tmp = (double)pixel * args->coeff.scale[frame]; data->stack[frame] = round_to_WORD(tmp - args->coeff.offset[frame]); break; - case MULTIPLICATIVE: // multiplicative (scale[frame] = 1, offset[frame] = 0) - case MULTIPLICATIVE_SCALING: // multiplicative + scale (offset[frame] = 0) - tmp = (double)data->pix[frame][pix_idx+x-shiftx] * args->coeff.scale[frame]; + case MULTIPLICATIVE: + // multiplicative (scale[frame] = 1, offset[frame] = 0) + case MULTIPLICATIVE_SCALING: + // multiplicative + scale (offset[frame] = 0) + tmp = (double)pixel * args->coeff.scale[frame]; data->stack[frame] = round_to_WORD(tmp * args->coeff.mul[frame]); break; } @@ -1221,53 +816,54 @@ int N = nb_frames;// N is the number of pixels kept from the current stack double median; - int n, j, r = 0; + int pixel, output, changed, n, r = 0; switch (args->type_of_rejection) { case PERCENTILE: - quicksort_s(data->stack, N); - median = gsl_stats_ushort_median_from_sorted_data(data->stack, 1, N); + median = quickmedian (data->stack, N); for (frame = 0; frame < N; frame++) { data->rejected[frame] = percentile_clipping(data->stack[frame], args->sig, median, crej); } - for (frame = 0, j = 0; frame < N; frame++, j++) { - if (data->rejected[j] != 0 && N > 1) { - remove_pixel(data->stack, frame, N); - frame--; - N--; + + for (pixel = 0, output = 0; pixel < N; pixel++) { + if (!data->rejected[pixel]) { + // copy only if there was a rejection + if (pixel != output) + data->stack[output] = data->stack[pixel]; + output++; } } + N = output; break; case SIGMA: do { sigma = gsl_stats_ushort_sd(data->stack, 1, N); - quicksort_s(data->stack, N); - median = gsl_stats_ushort_median_from_sorted_data(data->stack, 1, N); - n = 0; + median = quickmedian (data->stack, N); for (frame = 0; frame < N; frame++) { data->rejected[frame] = sigma_clipping(data->stack[frame], args->sig, sigma, median, crej); if (data->rejected[frame]) r++; if (N - r <= 4) break; } - for (frame = 0, j = 0; frame < N - n; frame++, j++) { - if (data->rejected[j] != 0) { - remove_pixel(data->stack, frame, N - n); - n++; - frame--; + for (pixel = 0, output = 0; pixel < N; pixel++) { + if (!data->rejected[pixel]) { + // copy only if there was a rejection + if (pixel != output) + data->stack[output] = data->stack[pixel]; + output++; } } - N = N - n; - } while (n > 0 && N > 3); + changed = N != output; + N = output; + } while (changed && N > 3); break; case SIGMEDIAN: do { sigma = gsl_stats_ushort_sd(data->stack, 1, N); - quicksort_s(data->stack, N); - median = gsl_stats_ushort_median_from_sorted_data(data->stack, 1, N); + median = quickmedian (data->stack, N); n = 0; for (frame = 0; frame < N; frame++) { if (sigma_clipping(data->stack[frame], args->sig, sigma, median, crej)) { - data->stack[frame] = round_to_WORD(median); + data->stack[frame] = median; n++; } } @@ -1277,23 +873,18 @@ do { double sigma0; sigma = gsl_stats_ushort_sd(data->stack, 1, N); - quicksort_s(data->stack, N); - median = gsl_stats_ushort_median_from_sorted_data(data->stack, 1, N); - WORD *w_stack = malloc(N * sizeof(WORD)); - memcpy(w_stack, data->stack, N * sizeof(WORD)); + median = quickmedian (data->stack, N); + memcpy(data->w_stack, data->stack, N * sizeof(WORD)); do { int jj; double m0 = median - 1.5 * sigma; double m1 = median + 1.5 * sigma; for (jj = 0; jj < N; jj++) - Winsorized(&w_stack[jj], m0, m1); - quicksort_s(w_stack, N); - median = gsl_stats_ushort_median_from_sorted_data(w_stack, 1, N); + Winsorize(data->w_stack+jj, m0, m1); + median = quickmedian (data->w_stack, N); sigma0 = sigma; - sigma = 1.134 * gsl_stats_ushort_sd(w_stack, 1, N); + sigma = 1.134 * gsl_stats_ushort_sd(data->w_stack, 1, N); } while ((fabs(sigma - sigma0) / sigma0) > 0.0005); - free(w_stack); - n = 0; for (frame = 0; frame < N; frame++) { data->rejected[frame] = sigma_clipping( data->stack[frame], args->sig, sigma, @@ -1303,32 +894,31 @@ if (N - r <= 4) break; } - for (frame = 0, j = 0; frame < N - n; frame++, j++) { - if (data->rejected[j] != 0) { - remove_pixel(data->stack, frame, N - n); - frame--; - n++; + for (pixel = 0, output = 0; pixel < N; pixel++) { + if (!data->rejected[pixel]) { + // copy only if there was a rejection + if (pixel != output) + data->stack[output] = data->stack[pixel]; + output++; } } - N = N - n; - } while (n > 0 && N > 3); + changed = N != output; + N = output; + } while (changed && N > 3); break; case LINEARFIT: do { - double *xf = g_malloc(N * sizeof(double)); - double *yf = g_malloc(N * sizeof(double)); double a, b, cov00, cov01, cov11, sumsq; quicksort_s(data->stack, N); for (frame = 0; frame < N; frame++) { - xf[frame] = (double) frame; - yf[frame] = (double) data->stack[frame]; + data->xf[frame] = (double)frame; + data->yf[frame] = (double)data->stack[frame]; } - gsl_fit_linear(xf, 1, yf, 1, N, &b, &a, &cov00, &cov01, &cov11, &sumsq); + gsl_fit_linear(data->xf, 1, data->yf, 1, N, &b, &a, &cov00, &cov01, &cov11, &sumsq); sigma = 0.0; for (frame = 0; frame < N; frame++) sigma += (fabs((double)data->stack[frame] - (a*(double)frame + b))); sigma /= (double)N; - n = 0; for (frame = 0; frame < N; frame++) { data->rejected[frame] = line_clipping(data->stack[frame], args->sig, sigma, frame, a, b, crej); @@ -1336,35 +926,33 @@ r++; if (N - r <= 4) break; } - for (frame = 0, j = 0; frame < N - n; frame++, j++) { - if (data->rejected[j] != 0) { - remove_pixel(data->stack, frame, N - n); - frame--; - n++; + for (pixel = 0, output = 0; pixel < N; pixel++) { + if (!data->rejected[pixel]) { + // copy only if there was a rejection + if (pixel != output) + data->stack[output] = data->stack[pixel]; + output++; } } - N = N - n; - g_free(xf); - g_free(yf); - } while (n > 0 && N > 3); + changed = N != output; + N = output; + } while (changed && N > 3); break; default: case NO_REJEC: ; // Nothing to do, no rejection } - double sum = 0.0; + int64_t sum = 0L; + double mean; for (frame = 0; frame < N; ++frame) { sum += data->stack[frame]; } - sum /= (double) N; + mean = sum / (double)N; if (args->norm_to_16) { - normalize_to16bit(bitpix, &sum); - fit.bitpix = fit.orig_bitpix = USHORT_IMG; - } else if (fit.orig_bitpix > BYTE_IMG) { - fit.bitpix = fit.orig_bitpix = USHORT_IMG; + normalize_to16bit(bitpix, &mean); } - fit.pdata[my_block->channel][pdata_idx++] = round_to_WORD(sum); + fit.pdata[my_block->channel][pdata_idx++] = round_to_WORD(mean); } // end of for x #ifdef _OPENMP #pragma omp critical @@ -1375,12 +963,22 @@ } } // end of for y +#if defined _OPENMP && defined STACK_DEBUG + { + struct timeval thread_end; + int min, sec; + gettimeofday(&thread_end, NULL); + get_min_sec_from_timevals(thread_start, thread_end, &min, &sec); + fprintf(stdout, "Thread %d finishes block %d after %d min %02d s.\n", + data_idx, i, min, sec); + } +#endif } /* end of loop over parallel stacks */ if (retval) goto free_and_close; - set_progress_bar_data(_("Finalizing stacking..."), PROGRESS_NONE); + set_progress_bar_data(_("Finalizing stacking..."), (double)cur_nb/total); double nb_tot = (double) naxes[0] * naxes[1] * nb_frames; long channel; for (channel = 0; channel < naxes[2]; channel++) { @@ -1409,6 +1007,9 @@ if (data_pool[i].pix) free(data_pool[i].pix); if (data_pool[i].tmp) free(data_pool[i].tmp); if (data_pool[i].rejected) free(data_pool[i].rejected); + if (data_pool[i].w_stack) free(data_pool[i].w_stack); + if (data_pool[i].xf) free(data_pool[i].xf); + if (data_pool[i].yf) free(data_pool[i].yf); } free(data_pool); } @@ -1428,11 +1029,10 @@ return retval; } -/* the function that runs the thread. Easier to do the simple indirection than - * changing all return values and adding the idle everywhere. */ -gpointer stack_function_handler(gpointer p) { - struct stacking_args *args = (struct stacking_args *)p; +/* the function that prepares the stacking and runs it */ +void main_stack(struct stacking_args *args) { int nb_allowed_files; + assert(args->ref_image >= 0 && args->ref_image < args->seq->number); /* first of all we need to check if we can process the files */ if (args->seq->type == SEQ_REGULAR) { @@ -1443,21 +1043,35 @@ "sequence before stacking, or to stack with the \"sum\" method.\n"), nb_allowed_files); args->retval = -1; - siril_add_idle(end_stacking, args); - return GINT_TO_POINTER(args->retval); + return; } } + + siril_log_message(args->description); + // 1. normalization - do_normalization(args); // does nothing if NO_NORM + if (do_normalization(args)) // does nothing if NO_NORM + return; // 2. up-scale - upscale_sequence(args); // does nothing if args->seq->upscale_at_stacking <= 1.05 + if (upscale_sequence(args)) // does nothing if args->seq->upscale_at_stacking <= 1.05 + return; // 3. stack - args->retval = args->method(p); + args->max_number_of_rows = stack_get_max_number_of_rows(args->seq, args->nb_images_to_stack); + args->retval = args->method(args); +} + +/* the function that runs the thread. */ +gpointer stack_function_handler(gpointer p) { + struct stacking_args *args = (struct stacking_args *)p; + + main_stack(args); + // 4. save result and clean-up siril_add_idle(end_stacking, args); return GINT_TO_POINTER(args->retval); } + /* starts a summing operation using data stored in the stackparam structure * function is not reentrant but can be called again after it has returned and the thread is running */ static void start_stacking() { @@ -1502,7 +1116,6 @@ stackparam.seq = &com.seq; stackparam.reglayer = get_registration_layer(&com.seq); siril_log_color_message(_("Stacking will use registration data of layer %d if some exist.\n"), "salmon", stackparam.reglayer); - stackparam.max_number_of_rows = stack_get_max_number_of_rows(&com.seq, stackparam.nb_images_to_stack); /* Do not display that cause it uses the generic function that already * displays this text @@ -1511,7 +1124,6 @@ siril_log_color_message(_("Stacking: processing...\n"), "red"); gettimeofday(&stackparam.t_start, NULL); set_cursor_waiting(TRUE); - siril_log_message(stackparam.description); stackparam.output_overwrite = gtk_toggle_button_get_active(overwrite); stackparam.output_filename = gtk_entry_get_text(output_file); @@ -1618,51 +1230,10 @@ start_in_new_thread(noise, args); } -static void remove_tmp_drizzle_files(struct stacking_args *args, gboolean remove_seqfile) { - if (args->seq->upscale_at_stacking < 1.05) - return; - - gchar *basename = g_path_get_basename(args->seq->seqname); - /* we ensure we will remove the right tmp files, - * that should be ok but double check doesn't hurt */ - if (!g_str_has_prefix(basename, TMP_UPSCALED_PREFIX)) { - return; - } - - int i; - char filename[256]; - - if (remove_seqfile) { - gchar *seqname = malloc(strlen(basename) + 5); - g_snprintf(seqname, strlen(basename) + 5, "%s.seq", basename); - /* remove seq file */ - g_unlink(seqname); - - g_free(seqname); - g_free(basename); - } - - switch (args->seq->type) { - default: - case SEQ_REGULAR: - for (i = 0; i < args->seq->number; i++) { - fit_sequence_get_image_filename(args->seq, args->image_indices[i], filename, TRUE); - siril_debug_print("Removing %s\n", filename); - g_unlink(filename); - } - break; - case SEQ_SER: - siril_debug_print("Removing %s\n", args->seq->ser_file->filename); - g_unlink(args->seq->ser_file->filename); - ser_close_file(args->seq->ser_file); - break; - } -} - void clean_end_stacking(struct stacking_args *args) { if (!args->retval) _show_summary(args); - remove_tmp_drizzle_files(args, TRUE); + remove_tmp_drizzle_files(args); } /* because this idle function is called after one of many stacking method @@ -1717,7 +1288,7 @@ display_filename(); } /* remove tmp files if exist (Drizzle) */ - remove_tmp_drizzle_files(args, TRUE); + remove_tmp_drizzle_files(args); waiting_for_thread(); // bgnoise adjust_cutoff_from_updated_gfit(); // computes min and max @@ -1831,77 +1402,12 @@ writeinitfile(); } - -/******************* IMAGE FILTERING CRITERIA *******************/ - -/* a criterion exists for each image filtering method, and is called in a - * processing to verify if an image should be included or not. - * These functions have the same signture, defined in stacking.h as - * stack_filter, and return 1 if the image is included and 0 if not. - * The functions are also called in a loop to determine the number of images to - * be processed. - */ -int stack_filter_all(sequence *seq, int nb_img, double any) { - return 1; -} - -int stack_filter_included(sequence *seq, int nb_img, double any) { - return seq->imgparam[nb_img].incl; -} - -/* filter for deep-sky */ -int stack_filter_fwhm(sequence *seq, int nb_img, double max_fwhm) { - int layer; - if (!seq->regparam) return 0; - layer = get_registration_layer(seq); - if (layer == -1) return 0; - if (!seq->regparam[layer]) return 0; - if (seq->imgparam[nb_img].incl && seq->regparam[layer][nb_img].fwhm > 0.0f) - return seq->regparam[layer][nb_img].fwhm <= max_fwhm; - else return 0; -} - -int stack_filter_roundness(sequence *seq, int nb_img, double min_rnd) { - int layer; - if (!seq->regparam) return 0; - layer = get_registration_layer(seq); - if (layer == -1) return 0; - if (!seq->regparam[layer]) return 0; - if (seq->imgparam[nb_img].incl && seq->regparam[layer][nb_img].roundness > 0.0f) - return seq->regparam[layer][nb_img].roundness >= min_rnd; - else return 0; -} - -/* filter for planetary */ -int stack_filter_quality(sequence *seq, int nb_img, double max_quality) { - int layer; - if (!seq->regparam) return 0; - layer = get_registration_layer(seq); - if (layer == -1) return 0; - if (!seq->regparam[layer]) return 0; - if (seq->imgparam[nb_img].incl && seq->regparam[layer][nb_img].quality > 0.0) - return seq->regparam[layer][nb_img].quality >= max_quality; - else return 0; -} - -/* browse the images to konw how many fit the criterion, from global data */ -int compute_nb_filtered_images() { - int i, count = 0; - if (!sequence_is_loaded()) return 0; - for (i = 0; i < com.seq.number; i++) { - if (stackparam.filtering_criterion(&com.seq, i, - stackparam.filtering_parameter)) - count++; - } - return count; -} - int stack_get_max_number_of_rows(sequence *seq, int nb_images_to_stack) { int max_memory; // maximum memory to use in MB - max_memory = (int) (com.stack.memory_percent - * (double) get_available_memory_in_MB()); + max_memory = round_to_int(com.stack.memory_percent * + (double)get_available_memory_in_MB()); siril_log_message(_("Using %d MB memory maximum for stacking\n"), max_memory); - uint64_t number_of_rows = (uint64_t)max_memory * 1048576L / + uint64_t number_of_rows = (uint64_t)max_memory * BYTES_IN_A_MB / ((uint64_t)seq->rx * nb_images_to_stack * sizeof(WORD) * com.max_thread); // this is how many rows we can load in parallel from all images of the // sequence and be under the limit defined in config in megabytes. @@ -1913,444 +1419,254 @@ return number_of_rows; } -/* fill the image_indices mapping for the args->image_indices array, which has - * to be already allocated to the correct size at least */ -void stack_fill_list_of_unfiltered_images(struct stacking_args *args) { - int i, j; - for (i = 0, j = 0; i < args->seq->number; i++) { - if (args->filtering_criterion( - args->seq, i, - args->filtering_parameter)) { - args->image_indices[j] = i; - j++; - } - else if (i == args->ref_image) { - siril_log_color_message(_("The reference image is not in the selected set of images. " - "To avoid issues, please change it or change the filtering parameters.\n"), "red"); - args->ref_image = -1; - } - } - if (args->ref_image == -1) { - args->ref_image = args->image_indices[0]; - siril_log_message(_("Using image %d as temporary reference image\n"), args->ref_image); +int find_refimage_in_indices(int *indices, int nb, int ref) { + int i; + for (i = 0; i < nb; i++) { + if (indices[i] == ref) + return i; } - g_assert(j == args->nb_images_to_stack); + return -1; } /****************************************************************/ -/* For a sequence of images with PSF registration data and a percentage of - * images to include in a processing, computes the highest FWHM value accepted. - */ -double compute_highest_accepted_fwhm(double percent) { - int i, layer, number_images_with_fwhm_data; - double *val = malloc(com.seq.number * sizeof(double)); - double highest_accepted; - layer = get_registration_layer(&com.seq); - if (layer == -1 || !com.seq.regparam || !com.seq.regparam[layer]) { - free(val); - return 0.0; - } - // copy values - for (i=0; i %.3lf", param); + break; + } + } + gtk_label_set_text(filter_label[filter], filter_str); + g_free(filter_str); + } } /* Activates or not the stack button if there are 2 or more selected images, * all data related to stacking is set in stackparam, except the method itself, * determined at stacking start. */ -void update_stack_interface(gboolean dont_change_stack_type) { // was adjuststackspin - static GtkAdjustment *stackadj = NULL; - static GtkWidget *go_stack = NULL, *stack[] = {NULL, NULL}, +void update_stack_interface(gboolean dont_change_stack_type) { + static GtkWidget *go_stack = NULL, *widgetnormalize = NULL, *force_norm = NULL, *norm_to_16 = NULL; - static GtkComboBox *stack_type = NULL, *method_combo = NULL; - double percent; - int channel, ref_image; - char labelbuffer[256]; + static GtkComboBox *method_combo = NULL, *filter_combo = NULL; + static GtkLabel *result_label = NULL; + gchar *labelbuffer; - if(!stackadj) { + if(!go_stack) { go_stack = lookup_widget("gostack_button"); - stack[0] = lookup_widget("stackspin"); - stackadj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(stack[0])); - stack[1] = lookup_widget("label27"); - stack_type = GTK_COMBO_BOX(lookup_widget("comboboxstacksel")); + filter_combo = GTK_COMBO_BOX(lookup_widget("combofilter1")); method_combo = GTK_COMBO_BOX(lookup_widget("comboboxstack_methods")); widgetnormalize = lookup_widget("combonormalize"); force_norm = lookup_widget("checkforcenorm"); norm_to_16 = lookup_widget("check_normalise_to_16b"); + result_label = GTK_LABEL(lookup_widget("stackfilter_label")); + } + if (!sequence_is_loaded()) { + gtk_widget_set_sensitive(go_stack, FALSE); + return; } - if (!sequence_is_loaded()) return; stackparam.seq = &com.seq; if (!dont_change_stack_type && stackparam.seq->selnum < stackparam.seq->number) { - g_signal_handlers_block_by_func(stack_type, on_stacksel_changed, NULL); - gtk_combo_box_set_active(stack_type, SELECTED_IMAGES); - g_signal_handlers_unblock_by_func(stack_type, on_stacksel_changed, NULL); + g_signal_handlers_block_by_func(filter_combo, on_stacksel_changed, NULL); + gtk_combo_box_set_active(filter_combo, SELECTED_IMAGES); + g_signal_handlers_unblock_by_func(filter_combo, on_stacksel_changed, NULL); } switch (gtk_combo_box_get_active(method_combo)) { default: - case 0: - case 3: - case 4: + case STACK_SUM: + case STACK_MAX: + case STACK_MIN: gtk_widget_set_sensitive(widgetnormalize, FALSE); gtk_widget_set_sensitive(force_norm, FALSE); break; - case 1: - case 2: + case STACK_MEAN: + case STACK_MEDIAN: gtk_widget_set_sensitive(widgetnormalize, TRUE); gtk_widget_set_sensitive(force_norm, gtk_combo_box_get_active(GTK_COMBO_BOX(widgetnormalize)) != 0); - gtk_widget_set_visible(norm_to_16, stackparam.seq->bitpix < SHORT_IMG); + gtk_widget_set_visible(norm_to_16, stackparam.seq->bitpix == BYTE_IMG); } if (com.seq.reference_image == -1) com.seq.reference_image = sequence_find_refimage(&com.seq); stackparam.ref_image = com.seq.reference_image; - ref_image = stackparam.ref_image; // easier to manipulate - switch (gtk_combo_box_get_active(stack_type)) { - case ALL_IMAGES: - stackparam.filtering_criterion = stack_filter_all; - stackparam.nb_images_to_stack = com.seq.number; - sprintf(stackparam.description, - _("Stacking all images in the sequence (%d)\n"), - com.seq.number); - gtk_widget_set_sensitive(stack[0], FALSE); - gtk_widget_set_sensitive(stack[1], FALSE); - break; - case SELECTED_IMAGES: - stackparam.filtering_criterion = stack_filter_included; - stackparam.nb_images_to_stack = com.seq.selnum; - sprintf(stackparam.description, - _("Stacking only selected images in the sequence (%d)\n"), - com.seq.selnum); - gtk_widget_set_sensitive(stack[0], FALSE); - gtk_widget_set_sensitive(stack[1], FALSE); - break; - case BEST_PSF_IMAGES: - channel = get_registration_layer(&com.seq); - if (channel < 0 || !stackparam.seq->regparam[channel] || - stackparam.seq->regparam[channel][ref_image].fwhm == 0.0) { - stackparam.nb_images_to_stack = 0; - } else { - percent = gtk_adjustment_get_value(stackadj); - stackparam.filtering_criterion = stack_filter_fwhm; - stackparam.filtering_parameter = compute_highest_accepted_fwhm(percent); - // sometimes this fails and returns 0.0 ^ - if (stackparam.filtering_parameter > 0.0) { - stackparam.nb_images_to_stack = compute_nb_filtered_images(); - sprintf(stackparam.description, _("Stacking images of the sequence " - "with a FWHM lower or equal than %g (%d)\n"), - stackparam.filtering_parameter, stackparam.nb_images_to_stack); - gtk_widget_set_sensitive(stack[0], TRUE); - gtk_widget_set_sensitive(stack[1], TRUE); - sprintf(labelbuffer, _("Based on FWHM < %.2f (%d images)"), - stackparam.filtering_parameter, - stackparam.nb_images_to_stack); - } else { - sprintf(labelbuffer, _("Based on FWHM")); - } - gtk_label_set_text(GTK_LABEL(stack[1]), labelbuffer); - } - break; + get_sequence_filtering_from_gui( + &stackparam.filtering_criterion, &stackparam.filtering_parameter); - case BEST_ROUND_IMAGES: - channel = get_registration_layer(&com.seq); - if (channel < 0 || !stackparam.seq->regparam[channel] || - stackparam.seq->regparam[channel][ref_image].roundness == 0.0) { - stackparam.nb_images_to_stack = 0; - } else { - percent = gtk_adjustment_get_value(stackadj); - stackparam.filtering_criterion = stack_filter_roundness; - stackparam.filtering_parameter = compute_lowest_accepted_roundness( - percent); - stackparam.nb_images_to_stack = compute_nb_filtered_images(); - sprintf(stackparam.description, _("Stacking images of the sequence " - "with a roundness higher or equal than %g (%d)\n"), - stackparam.filtering_parameter, stackparam.nb_images_to_stack); - gtk_widget_set_sensitive(stack[0], TRUE); - gtk_widget_set_sensitive(stack[1], TRUE); - if (stackparam.filtering_parameter > 0.0) - sprintf(labelbuffer, _("Based on roundness > %.2f (%d images)"), - stackparam.filtering_parameter, stackparam.nb_images_to_stack); - else - sprintf(labelbuffer, _("Based on roundness")); - gtk_label_set_text(GTK_LABEL(stack[1]), labelbuffer); - } - break; - - case BEST_QUALITY_IMAGES: - channel = get_registration_layer(&com.seq); - if (channel < 0 || !stackparam.seq->regparam[channel] || - stackparam.seq->regparam[channel][ref_image].quality == 0.0) { - stackparam.nb_images_to_stack = 0; - } else { - percent = gtk_adjustment_get_value(stackadj); - stackparam.filtering_criterion = stack_filter_quality; - stackparam.filtering_parameter = compute_highest_accepted_quality( - percent); - stackparam.nb_images_to_stack = compute_nb_filtered_images(); - sprintf(stackparam.description, _("Stacking images of the sequence " - "with a quality higher or equal than %g (%d)\n"), - stackparam.filtering_parameter, stackparam.nb_images_to_stack); - gtk_widget_set_sensitive(stack[0], TRUE); - gtk_widget_set_sensitive(stack[1], TRUE); - if (stackparam.filtering_parameter > 0.0) - sprintf(labelbuffer, _("Based on quality > %.2f (%d images)"), - stackparam.filtering_parameter, stackparam.nb_images_to_stack); - else - sprintf(labelbuffer, _("Based on quality")); - gtk_label_set_text(GTK_LABEL(stack[1]), labelbuffer); - } - break; - - default: // could it be -1? - fprintf(stderr, "unexpected value from the stack type combo box\n"); - stackparam.nb_images_to_stack = 0; - } + if (stackparam.description) + free(stackparam.description); + stackparam.description = describe_filter(stackparam.seq, + stackparam.filtering_criterion, stackparam.filtering_parameter); + + update_filter_label(); + + stackparam.nb_images_to_stack = compute_nb_filtered_images(&com.seq, + stackparam.filtering_criterion, stackparam.filtering_parameter); + labelbuffer = g_strdup_printf(_("Stacking %d images of the %d of the sequence"), + stackparam.nb_images_to_stack, com.seq.number); + gtk_label_set_text(result_label, labelbuffer); + g_free(labelbuffer); if (stackparam.nb_images_to_stack >= 2) { - if (stackparam.image_indices) free(stackparam.image_indices); - stackparam.image_indices = malloc(stackparam.nb_images_to_stack * sizeof(int)); stack_fill_list_of_unfiltered_images(&stackparam); gtk_widget_set_sensitive(go_stack, TRUE); } else { - if (stackparam.nb_images_to_stack == 0) { - gtk_widget_set_sensitive(stack[0], FALSE); - gtk_widget_set_sensitive(stack[1], FALSE); - } gtk_widget_set_sensitive(go_stack, FALSE); } } -/***************************************************************** - * UP-SCALING A SEQUENCE: GENERIC FUNCTION IMPLEMENTATION * - *****************************************************************/ - -/* stacking an up-scaled sequence is a bit of a trick; - * stacking a sequence is normally 3 steps (see stack_function_handler): - * computing the normalization parameters, stacking the sequence, saving and - * displaying the result. With the up-scale temporarily added in the middle, to - * provide a cheap version of the drizzle algorithm, we have to create an - * up-scaled sequence and pass it to the stacking operation seamlessly. The - * problem with this is that at the end of the stacking, we have to close the - * up-scaled sequence, maintain the original sequence as loaded, and display an - * image, the result, that has a different size than the sequence's. - */ - -struct upscale_args { - double factor; -}; - -static int upscale_image_hook(struct generic_seq_args *args, int o, int i, fits *fit, rectangle *_) { - struct upscale_args *upargs = args->user; - return cvResizeGaussian(fit, fit->rx * upargs->factor, fit->ry * upargs->factor, OPENCV_NEAREST); -} - -int upscale_sequence(struct stacking_args *stackargs) { - if (stackargs->seq->upscale_at_stacking <= 1.05) - return 0; - struct generic_seq_args *args = malloc(sizeof(struct generic_seq_args)); - struct upscale_args *upargs = malloc(sizeof(struct upscale_args)); - - upargs->factor = stackargs->seq->upscale_at_stacking; - - args->seq = stackargs->seq; - args->partial_image = FALSE; - args->filtering_criterion = stackargs->filtering_criterion; - args->filtering_parameter = stackargs->filtering_parameter; - args->nb_filtered_images = stackargs->nb_images_to_stack; - args->prepare_hook = ser_prepare_hook; - args->finalize_hook = ser_finalize_hook; - args->image_hook = upscale_image_hook; - args->save_hook = NULL; - args->idle_function = NULL; - args->stop_on_error = TRUE; - args->description = _("Up-scaling sequence for stacking"); - args->has_output = TRUE; - args->new_seq_prefix = TMP_UPSCALED_PREFIX; - args->load_new_sequence = FALSE; - args->force_ser_output = FALSE; - args->user = upargs; - args->already_in_a_thread = TRUE; - args->parallel = TRUE; - - generic_sequence_worker(args); - int retval = args->retval; - free(upargs); - - if (!retval) { - int i; - - gchar *basename = g_path_get_basename(args->seq->seqname); - char *seqname = malloc(strlen(args->new_seq_prefix) + strlen(basename) + 5); - sprintf(seqname, "%s%s.seq", args->new_seq_prefix, basename); - g_unlink(seqname); - g_free(basename); - - // replace active sequence by upscaled - if (check_seq(0)) { // builds the new .seq - free(seqname); - free(args); - return 1; - } - - /* remove tmp files if exist (Drizzle) - * seq file has already be removed */ - remove_tmp_drizzle_files(stackargs, FALSE); - - sequence *newseq = readseqfile(seqname); - if (!newseq) { - free(seqname); - free(args); - return 1; - } - free(seqname); - - delete_selected_area(); - - /* there are three differences between old and new sequence: - * the size of images and possibly the number of images if the - * stacking is done on a filtered set. - * - about the size, it is updated in the idle function of the - * stacking if there was an up-scaling factor - * - the number of images is managed below, to avoid up-scaling - * unnecessary images, only the selected are and the sequence - * passed to stacking is treated in its entirety. - * - the shifts between images that must be multiplied by upscale_at_stacking - */ - retval = seq_check_basic_data(newseq, FALSE); - if (retval == -1) { - free(newseq); - return retval; - } - stackargs->seq = newseq; - stackargs->filtering_criterion = seq_filter_all; - stackargs->filtering_parameter = 0.0; - stackargs->nb_images_to_stack = newseq->number; - - stackargs->seq->regparam[stackargs->reglayer] = malloc(stackargs->nb_images_to_stack * sizeof(regdata)); - for (i = 0; i < stackargs->nb_images_to_stack; i++) { - regdata *data = &args->seq->regparam[stackargs->reglayer][stackargs->image_indices[i]]; - memcpy(&stackargs->seq->regparam[stackargs->reglayer][i], data, sizeof(regdata)); - } - stack_fill_list_of_unfiltered_images(stackargs); - - stackargs->seq->upscale_at_stacking = args->seq->upscale_at_stacking; - - } - free(args); - return retval; -} diff -Nru siril-0.9.10/src/stacking/stacking.h siril-0.9.11/src/stacking/stacking.h --- siril-0.9.10/src/stacking/stacking.h 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/stacking/stacking.h 2019-05-27 09:16:07.000000000 +0000 @@ -3,12 +3,21 @@ #include "core/processing.h" +//#define STACK_DEBUG + /* the stacking method */ struct stacking_args; typedef int (*stack_method)(struct stacking_args *args); typedef struct normalization_coeff norm_coeff; +typedef enum { + STACK_SUM, + STACK_MEAN, + STACK_MEDIAN, + STACK_MAX, + STACK_MIN, +} stackMethod; /* TYPE OF SIGMA CLIPPING */ typedef enum { @@ -52,7 +61,7 @@ double filtering_parameter; int nb_images_to_stack; // calculated from the above, for display purposes int *image_indices; // conversion between selected image indices and sequence image indices - char description[100]; // description of the filtering + char *description; // description of the filtering const char *output_filename; // used in the idle function only gboolean output_overwrite; // used in the idle function only struct timeval t_start; @@ -68,32 +77,70 @@ int reglayer; /* layer used for registration data */ }; +/* configuration from the command line */ +struct stacking_configuration { + struct timeval t_start; + gchar *seqfile; + gchar *result_file; + stack_method method; + double sig[2]; + gboolean force_no_norm; + normalization norm; + int number_of_loaded_sequences; + float f_fwhm, f_fwhm_p, f_round, f_round_p, f_quality, f_quality_p; // on if >0 + gboolean filter_included; +}; + void initialize_stacking_methods(); int stack_get_max_number_of_rows(sequence *seq, int nb_images_to_stack); -void stack_fill_list_of_unfiltered_images(struct stacking_args *args); -double compute_highest_accepted_fwhm(double percent); -double compute_highest_accepted_quality(double percent); -double compute_lowest_accepted_roundness(double percent); int stack_median(struct stacking_args *args); int stack_mean_with_rejection(struct stacking_args *args); int stack_addmax(struct stacking_args *args); int stack_addmin(struct stacking_args *args); -int upscale_sequence(struct stacking_args *args); - - +void main_stack(struct stacking_args *args); void clean_end_stacking(struct stacking_args *args); + +void get_sequence_filtering_from_gui(seq_image_filter *filtering_criterion, + double *filtering_parameter); void update_stack_interface(gboolean dont_change_stack_type); -int stack_filter_all(sequence *seq, int nb_img, double any); -int stack_filter_included(sequence *seq, int nb_img, double any); -int stack_filter_fwhm(sequence *seq, int nb_img, double max_fwhm); -int stack_filter_quality(sequence *seq, int nb_img, double max_quality); -int stack_filter_roundness(sequence *seq, int nb_img, double min_rnd); /* normalization functions, normalize.c */ + int do_normalization(struct stacking_args *args); + + /* median and mean functions */ + +struct _image_block { + unsigned long channel, start_row, end_row, height; +}; + +/* pool of memory blocks for parallel processing */ +struct _data_block { + WORD **pix; // buffer for a block on all images + WORD *tmp; // the actual single buffer for pix + WORD *stack; // the reordered stack for one pixel in all images + int *rejected; // 0 if pixel ok, 1 or -1 if rejected + WORD *w_stack; // stack for the winsorized rejection + double *xf, *yf;// data for the linear fit rejection +}; + +int stack_open_all_files(struct stacking_args *args, int *bitpix, int *naxis, long *naxes, double *exposure, fits *fit); +int stack_create_result_fit(fits *fit, int bitpix, int naxis, long *naxes); +int stack_compute_parallel_blocks(struct _image_block **blocks, int max_number_of_rows, + int nb_channels, long *naxes, long *largest_block_height, + int *nb_parallel_stacks); +void stack_read_block_data(struct stacking_args *args, int use_regdata, + struct _image_block *my_block, struct _data_block *data, long *naxes); +int find_refimage_in_indices(int *indices, int nb, int ref); + + /* up-scaling functions */ + +int upscale_sequence(struct stacking_args *args); +void remove_tmp_drizzle_files(struct stacking_args *args); + #endif diff -Nru siril-0.9.10/src/stacking/sum.c siril-0.9.11/src/stacking/sum.c --- siril-0.9.10/src/stacking/sum.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/stacking/sum.c 2019-05-27 09:16:07.000000000 +0000 @@ -18,6 +18,9 @@ * along with Siril. If not, see . */ +#include +#include +#include #include "core/siril.h" #include "core/processing.h" #include "core/proto.h" // FITS functions @@ -28,6 +31,7 @@ unsigned long *sum[3]; // the new image's channels double exposure; // sum of the exposures int reglayer; // layer used for registration data + int ref_image; // reference image index in the stacked sequence }; static int sum_stacking_prepare_hook(struct generic_seq_args *args) { @@ -61,8 +65,8 @@ ssdata->exposure += fit->exposure; if (ssdata->reglayer != -1 && args->seq->regparam[ssdata->reglayer]) { - shiftx = roundf_to_int(args->seq->regparam[ssdata->reglayer][i].shiftx * args->seq->upscale_at_stacking); - shifty = roundf_to_int(args->seq->regparam[ssdata->reglayer][i].shifty * args->seq->upscale_at_stacking); + shiftx = round_to_int(args->seq->regparam[ssdata->reglayer][i].shiftx * args->seq->upscale_at_stacking); + shifty = round_to_int(args->seq->regparam[ssdata->reglayer][i].shifty * args->seq->upscale_at_stacking); } else { shiftx = 0; shifty = 0; @@ -111,11 +115,7 @@ /* We copy metadata from reference to the final fit */ if (args->seq->type == SEQ_REGULAR) { - int ref = 0; - // FIXME: sum stacking does not have a reference, should we add - // it or use another image here? - if (args->seq->reference_image > 0) - ref = args->seq->reference_image; + int ref = ssdata->ref_image; if (!seq_open_image(args->seq, ref)) { import_metadata_from_fitsfile(args->seq->fptr[ref], &gfit); seq_close_image(args->seq, ref); @@ -165,9 +165,10 @@ struct sum_stacking_data *ssdata = malloc(sizeof(struct sum_stacking_data)); ssdata->reglayer = stackargs->reglayer; + ssdata->ref_image = stackargs->ref_image; + assert(ssdata->ref_image >= 0 && ssdata->ref_image < args->seq->number); args->user = ssdata; - //start_in_new_thread(generic_sequence_worker, args); generic_sequence_worker(args); return args->retval; } diff -Nru siril-0.9.10/src/stacking/upscaling.c siril-0.9.11/src/stacking/upscaling.c --- siril-0.9.10/src/stacking/upscaling.c 1970-01-01 00:00:00.000000000 +0000 +++ siril-0.9.11/src/stacking/upscaling.c 2019-05-27 09:16:07.000000000 +0000 @@ -0,0 +1,248 @@ +/* + * This file is part of Siril, an astronomy image processor. + * Copyright (C) 2005-2011 Francois Meyer (dulle at free.fr) + * Copyright (C) 2012-2019 team free-astro (see more in AUTHORS file) + * Reference site is https://free-astro.org/index.php/Siril + * + * Siril is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Siril is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Siril. If not, see . + */ + +#include "core/siril.h" +#include "core/proto.h" +#include "core/processing.h" +#include "core/sequence_filtering.h" +#include "stacking.h" +#include "io/sequence.h" +#include "io/ser.h" +#include "gui/progress_and_log.h" +#include "gui/callbacks.h" // for delete_selected_area() +#include "opencv/opencv.h" +#include + +#define TMP_UPSCALED_PREFIX "tmp_upscaled_" + +void remove_tmp_drizzle_files(struct stacking_args *args) { + int i; + if (args->seq->upscale_at_stacking < 1.05) + return; + + gchar *basename = g_path_get_basename(args->seq->seqname); + if (!g_str_has_prefix(basename, TMP_UPSCALED_PREFIX)) { + remove_prefixed_sequence_files(args->seq, TMP_UPSCALED_PREFIX); + return; + } + // else means that we are removing files after processing and that + // we have access to files that were created for this processing + + gchar *seqname; + int len = strlen(basename) + 5; + seqname = malloc(len); + g_snprintf(seqname, len, "%s.seq", basename); + siril_debug_print("Removing %s\n", seqname); + g_unlink(seqname); // removing the seqfile + free(seqname); + g_free(basename); + + switch (args->seq->type) { + default: + case SEQ_REGULAR: + for (i = 0; i < args->seq->number; i++) { + char filename[500]; + // FIXME: no preallocation of file name + fit_sequence_get_image_filename(args->seq, args->image_indices[i], filename, TRUE); + siril_debug_print("Removing %s\n", filename); + g_unlink(filename); + } + break; + case SEQ_SER: + siril_debug_print("Removing %s\n", args->seq->ser_file->filename); + g_unlink(args->seq->ser_file->filename); + ser_close_file(args->seq->ser_file); + break; + } +} + +static int upscale_get_max_number_of_threads(sequence *seq) { + int max_memory_MB = round_to_int(com.stack.memory_percent * + (double)get_available_memory_in_MB()); + + if (seq->nb_layers < 0) { + fprintf(stderr, "SEQUENCE UNINITIALIZED\n"); + return 0; + } + double factor = seq->upscale_at_stacking; + uint64_t newx = round_to_int((double)seq->rx * factor); + uint64_t newy = round_to_int((double)seq->ry * factor); + uint64_t memory_per_image = newx * newy * seq->nb_layers * sizeof(WORD) * 2; + unsigned int memory_per_image_MB = memory_per_image / BYTES_IN_A_MB; + + fprintf(stdout, "Memory per image: %u MB. Max memory: %d MB\n", memory_per_image_MB, max_memory_MB); + + if (memory_per_image_MB > max_memory_MB) { + siril_log_color_message(_("Your system does not have enough memory to up-scale the images for `drizzle' operation (%d MB free for %d MB required)\n"), "red", max_memory_MB, memory_per_image_MB); + return 0; + } + + int nb_threads = max_memory_MB / memory_per_image_MB; + if (nb_threads > com.max_thread) + nb_threads = com.max_thread; + siril_log_message(_("With the current memory (%.2f) and thread (%d) limits, up to %d thread(s) can be used for sequence up-scaling\n"), com.stack.memory_percent, com.max_thread, nb_threads); + return nb_threads; +} + +/***************************************************************** + * UP-SCALING A SEQUENCE: GENERIC FUNCTION IMPLEMENTATION * + *****************************************************************/ + +/* stacking an up-scaled sequence is a bit of a trick; + * stacking a sequence is normally 3 steps (see stack_function_handler): + * computing the normalization parameters, stacking the sequence, saving and + * displaying the result. With the up-scale temporarily added in the middle, to + * provide a cheap version of the drizzle algorithm, we have to create an + * up-scaled sequence and pass it to the stacking operation seamlessly. The + * problem with this is that at the end of the stacking, we have to close the + * up-scaled sequence, maintain the original sequence as loaded, and display an + * image, the result, that has a different size than the sequence's. + */ + +struct upscale_args { + double factor; +}; + +static int upscale_image_hook(struct generic_seq_args *args, int o, int i, fits *fit, rectangle *_) { + double factor = ((struct upscale_args *)args->user)->factor; + return cvResizeGaussian(fit, + round_to_int(fit->rx * factor), + round_to_int(fit->ry * factor), OPENCV_NEAREST); +} + +int upscale_sequence(struct stacking_args *stackargs) { + if (stackargs->seq->upscale_at_stacking <= 1.05) + return 0; + + // check memory first + int nb_threads = upscale_get_max_number_of_threads(stackargs->seq); + if (nb_threads == 0) { + siril_log_color_message(_("Stacking will be done without up-scaling (disabling 'drizzle')\n"), "red"); + stackargs->seq->upscale_at_stacking = 1.0; + return 0; + } + int backup_max_thread = com.max_thread; + com.max_thread = nb_threads; + + struct generic_seq_args *args = malloc(sizeof(struct generic_seq_args)); + struct upscale_args *upargs = malloc(sizeof(struct upscale_args)); + + upargs->factor = stackargs->seq->upscale_at_stacking; + + args->seq = stackargs->seq; + args->partial_image = FALSE; + if (com.cache_upscaled) { + // This won't work if stackargs->filtering_criterion is already a multiple filter + args->filtering_criterion = create_multiple_filter( + stackargs->filtering_criterion, stackargs->filtering_parameter, + create_filter_prefixed_nonexisting_output(TMP_UPSCALED_PREFIX), 0.0, + NULL); + args->filtering_parameter = 0.0; // not used by multiple filtering + args->nb_filtered_images = -1; + } else { + args->filtering_criterion = stackargs->filtering_criterion; + args->filtering_parameter = stackargs->filtering_parameter; + args->nb_filtered_images = stackargs->nb_images_to_stack; + } + args->prepare_hook = ser_prepare_hook; + args->finalize_hook = ser_finalize_hook; + args->image_hook = upscale_image_hook; + args->save_hook = NULL; + args->idle_function = NULL; + args->stop_on_error = TRUE; + args->description = _("Up-scaling sequence for stacking"); + args->has_output = TRUE; + args->new_seq_prefix = TMP_UPSCALED_PREFIX; + args->load_new_sequence = FALSE; + args->force_ser_output = FALSE; + args->user = upargs; + args->already_in_a_thread = TRUE; + args->parallel = TRUE; + + remove_tmp_drizzle_files(stackargs); + + generic_sequence_worker(args); + + stackargs->retval = args->retval; + free(upargs); + free(args); + com.max_thread = backup_max_thread; + + if (!stackargs->retval) { + gchar *basename = g_path_get_basename(stackargs->seq->seqname); + char *seqname = malloc(strlen(TMP_UPSCALED_PREFIX) + strlen(basename) + 5); + sprintf(seqname, "%s%s.seq", TMP_UPSCALED_PREFIX, basename); + g_unlink(seqname); + g_free(basename); + + // replace active sequence by upscaled + if (check_seq(0)) { // builds the new .seq + free(seqname); + return 1; + } + + sequence *oldseq = stackargs->seq; + sequence *newseq = readseqfile(seqname); + if (!newseq) { + free(seqname); + return 1; + } + free(seqname); + + /* The original sequence and the up-scaled sequence differ by: + * - size, managed in the seq_check_basic_data() call below + * - images list, if there is a filter that excluded some images of the + * sequence, excluded images are not up-scaled. resulting in the up-scaled + * sequence having new contiguous image numbers. + * Registration data is copied image per image below and the image_indices + * array is rebuilt to identity in the stack_fill_list_of_unfiltered_images() + * call after that. + * - registration data, since they are copied unmodified, when using the shifts + * in stacking, they must be multiplied by the factor upscale_at_stacking. + */ + if (seq_check_basic_data(newseq, FALSE) == -1) { + free(newseq); + stackargs->retval = -1; + return stackargs->retval; + } + stackargs->seq = newseq; + stackargs->filtering_criterion = seq_filter_all; + stackargs->filtering_parameter = 0.0; + stackargs->nb_images_to_stack = newseq->number; + + newseq->reference_image = find_refimage_in_indices(stackargs->image_indices, + stackargs->nb_images_to_stack, stackargs->ref_image); + stackargs->ref_image = newseq->reference_image; + newseq->upscale_at_stacking = oldseq->upscale_at_stacking; + newseq->regparam[stackargs->reglayer] = malloc(stackargs->nb_images_to_stack * sizeof(regdata)); + int i; + for (i = 0; i < stackargs->nb_images_to_stack; i++) { + regdata *data = &oldseq->regparam[stackargs->reglayer][stackargs->image_indices[i]]; + memcpy(&newseq->regparam[stackargs->reglayer][i], data, sizeof(regdata)); + // TODO: why don't we modify the shifts here already? + } + stackargs->retval = stack_fill_list_of_unfiltered_images(stackargs); + + // don't free oldseq, it's either still com.seq with GUI or freed in + // stack_one_seq in scripts + delete_selected_area(); + } + return stackargs->retval; +} diff -Nru siril-0.9.10/src/tests/build.sh siril-0.9.11/src/tests/build.sh --- siril-0.9.10/src/tests/build.sh 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/tests/build.sh 2019-05-27 09:16:07.000000000 +0000 @@ -1,15 +1,14 @@ #!/bin/sh CC=clang LD=clang -CFLAGS="-I.. -O2 -fopenmp `pkg-config --cflags gtk+-3.0` `pkg-config --cflags cfitsio` `pkg-config --cflags gsl`" +CFLAGS="-Wall -I.. -O2 -fopenmp `pkg-config --cflags gtk+-3.0` `pkg-config --cflags cfitsio` `pkg-config --cflags gsl`" LDFLAGS="-fopenmp `pkg-config --libs gtk+-3.0` `pkg-config --libs cfitsio` `pkg-config --libs gsl` -lm" set -x -$CC -Wall $CFLAGS -c -o compare_fits.o compare_fits.c && -$CC -Wall $CFLAGS -UHAVE_STATS -c -o dummy.o dummy.c && +$CC $CFLAGS -c -o compare_fits.o compare_fits.c && +$CC $CFLAGS -c -o dummy.o dummy.c && $LD $LDFLAGS -o compare_fits compare_fits.o dummy.o ../io/image_format_fits.o ../core/utils.o ../gui/progress_and_log.o - -$CC -Wall $CFLAGS -c -o sorting.o sorting.c && -$CC -Wall -DHAVE_STATS $CFLAGS -c -o dummy.o dummy.c && -$LD $LDFLAGS -o sorting sorting.o dummy.o ../core/utils.o ../gui/progress_and_log.o ../algos/statistics.o +$CC $CFLAGS -c -o sorting.o sorting.c && +$CC $CFLAGS -DUSE_ALL_SORTING_ALGOS -c -o ../algos/sorting.o ../algos/sorting.c && +$LD $LDFLAGS -o sorting sorting.o ../algos/sorting.o diff -Nru siril-0.9.10/src/tests/dummy.c siril-0.9.11/src/tests/dummy.c --- siril-0.9.10/src/tests/dummy.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/tests/dummy.c 2019-05-27 09:16:07.000000000 +0000 @@ -27,25 +27,14 @@ return NULL; } -#ifndef HAVE_STATS imstats* free_stats(imstats *stat) { - fprintf(stderr, "ERROR: calling undefined function free_stats\n"); + fprintf(stderr, "ERROR: calling undefined function free_stats\n"); return NULL; } void add_stats_to_fit(fits *fit, int layer, imstats *stat) { - fprintf(stderr, "ERROR: calling undefined function add_stats_to_fit\n"); + fprintf(stderr, "ERROR: calling undefined function add_stats_to_fit\n"); } -#else -int fits_img_stats_ushort(WORD *array, long nx, long ny, int nullcheck, WORD - nullvalue, long *ngoodpix, WORD *minvalue, WORD *maxvalue, - double *mean, double *sigma, double *noise1, double *noise2, - double *noise3, double *noise5, int *status) -{ - fprintf(stderr, "ERROR: calling undefined function pipe_send_message\n"); - return -1; -} -#endif int pipe_send_message(pipe_message msgtype, pipe_verb verb, const char *arg) { fprintf(stderr, "ERROR: calling undefined function pipe_send_message\n"); @@ -88,3 +77,13 @@ void set_GUI_CWD() { fprintf(stderr, "ERROR: calling undefined function set_GUI_CWD\n"); } + +void update_used_memory() { + fprintf(stderr, "ERROR: calling undefined function update_used_memory\n"); +} + +void *lookup_widget(char *w) { + fprintf(stderr, "ERROR: calling undefined function lookup_widget\n"); + return NULL; +} + diff -Nru siril-0.9.10/src/tests/sorting.c siril-0.9.11/src/tests/sorting.c --- siril-0.9.10/src/tests/sorting.c 2019-01-16 08:56:00.000000000 +0000 +++ siril-0.9.11/src/tests/sorting.c 2019-05-27 09:16:07.000000000 +0000 @@ -2,19 +2,25 @@ #include #include #include +#define USE_ALL_SORTING_ALGOS +#include "../algos/sorting.h" /* This program tests the new implementation of the quickselect from Emmanuel * and the old from statistics. * It compares the results with the quicksort*/ -#define NBTRIES 200 +#define NBTRIES 200 // for result checking, unit test of implementations -WORD quickselect_s(WORD *a, int n, int k); -void quicksort_s(WORD *a, int n); -WORD siril_stats_ushort_median(WORD *arr, int n); // from algos/statistics.c +double median_from_sorted_array(WORD *arr, int size) { + if (size % 2) + return arr[(size-1)/2]; + int sum = (int)arr[(size-1)/2] + (int)arr[size/2]; + return (double)sum/2.0; +} int test_quickselect(int datasize) { - WORD *data1, *data2, *data3, result_qsel1, result_qsel2, result_qsort; + WORD *data1, *data2, *data3; + double result_qsel1, result_qsel2, result_qsort; int i, retval = 0; data1 = malloc(datasize * sizeof(WORD)); @@ -28,15 +34,15 @@ } quicksort_s(data1, datasize); - result_qsort = data1[(datasize-1)/2]; - result_qsel1 = quickselect_s(data2, datasize, (datasize-1)/2); - result_qsel2 = siril_stats_ushort_median(data3, datasize); + result_qsort = median_from_sorted_array(data1, datasize); + result_qsel1 = quickmedian(data2, datasize); + result_qsel2 = histogram_median(data3, datasize); if (result_qsel1 != result_qsort || result_qsel2 != result_qsort) { for (i=0; i