Aller au contenu

pySiriL


Messages recommandés

Bon, ca continue a progresser... j'ai atteins une version ou je suis content de ce qu'il se passe pour les fichiers...

Il me reste  des choses a mettre en place: utilisation jour/heure pour éviter de cisailler une session sur deux répertoires, gérer fichier niveau qualitatif pour ceux qui méritent un accès rapide.

Le code a certainement améliorer et nettoyer....

Mais normalement, en l'état, il crée des archives de tous les fichiers importés, et remonte ceux usuels: Dark, darkflat, flat et bias selon habitudes utilisateur...

 

Pas besoin de Jason le soigneur, ni de module Anaconda....:laughing-smiley-012

En parlant de lui, faut que je m'y plonge (pas encore creuser la manip de @Cissou8), ou config.txt.... pour tracer un peu tout ca d'une utilisation a l'autre....

AsiAirImport_Seb_RevC.py

Lien vers le commentaire
Partager sur d’autres sites

Le 07/12/2020 à 08:04, Cissou8 a dit :

Salut,

 

pour commencer la semaine et donner envie a ceux qui oseraient pas se lancer avec pySiril, une p'tite fonction qui utilise les retours de valeurs. Ça s'appelle seqstat.py et comme son nom l'indique, ça sort les stats d'une séquence sous forme d'un csv. Ça permet de vérifier, entre autres, si les flats/darks sont stables en niveau ou bruit (problème de fuite de lumière etc...) avant de monter un master. Enfin bon, j'imagine qu'y a plein d'autres façons de s'en servir, a vous de jouer. 

Comme j'ai un peu fait ma feignasse pour mettre en forme les sorties, vous aurez besoin de pandas ("pip install pandas" sur Windows).

 

seqstat.py 2 Ko · 6 downloads

 

@Cissou8 j'ai testé ton script : ça marche bien si je n'ai pas généré les séquences avec l'option -fitseq.

 

@vinvin ou @lock042 : dans un script comment fait-on pour charger une image contenu dans un fichier fit multi-image ?

Lien vers le commentaire
Partager sur d’autres sites

@m27trognondepomme, t'as raison, j'ai pas pris le réflexe encore (j'adore avoir des tas de fichiers partout!). Faudrait que je mette un test sur le retour du load avant d'essayer de faire la stat. J'ai eu un autre retour aussi, si le .seq pointe vers fichiers qui sont des liens symboliques mais que les fichiers d'origine n'y sont plus, ca foire...

Modifié par Cissou8
Lien vers le commentaire
Partager sur d’autres sites

je crois plutôt que c'est toi qui a raison 😄

 

en effet l'option -fitseq ne permet pas l'accès à n'importe quelle image  du fichier. La fonction load charge l'ensemble de la séquence d'image. La fonction stat() part en erreur car elle s'applique que sur une image individuelle.

Modifié par m27trognondepomme
Lien vers le commentaire
Partager sur d’autres sites

Ah oui tiens j'y avais pas pensé à ça. Pourquoi tu veux charger une image au hasard aussi ! Peut-être qu'on peut ajouter un argument à load ? Ou il vous faut une commande pour ouvrir une image dans une séquence chargée plutôt ?

Lien vers le commentaire
Partager sur d’autres sites

10 minutes ago, vinvin said:

Pourquoi tu veux charger une image au hasard aussi

@vinvin pour en faire des stats. Et effectivement, si la séquence est un fitseq ça marche pas puisqu'il faut avoir loader chaque image une par une pour lancer stat dessus. Maintenant, je suis plus bien sure, mais a part un fitseq ou un ser ( @m27trognondepomme, j'y avais pas pense a celui-la non plus! ), les autres .seq désigne un ensemble de fichiers qu'on peut énumérer et surtout loader un par un. Donc pour ces cas-la stat marche.

Maintenant, pour des containers "multimages", il faudrait pouvoir ouvrir une image d'une séquence chargée avant d'envoyer un stat.

 

Apres, le but de ce script, c’était d'illustrer une utilisation des fonctions de pysiril qui renvoient des valeurs. Avoir les stats d'une séquence, perso,je trouve ça pratique, donc c'est pour ça que j'ai partage celui-la. De la a aller développer une feature pour ça... Mais y a peut-être d'autres utilisations qui nécessiteraient aussi de pouvoir accéder par script aux images d'un fitseq ou d'un ser. Ça me vient pas comme ça mais bon. 

Lien vers le commentaire
Partager sur d’autres sites

dans un script, comment sait-on qu'à partir d'un fichier seq qu'on a à faire à des fichiers fit mono-image ou multimage ?

Il faudra surement détecter sous python  le mode fitseq associé au fichier séquence ?

Je vais donc ajouté cette fonction à pysiril.

 

@vinvin dans le fichier seq, il y a une info indiquant le mode fitseq ou pas ?

Lien vers le commentaire
Partager sur d’autres sites

Les fichiers SER sont détectables par leur extension, les FITS cube/fitseq/séquence FITS en un fichier (j'ai pas encore bien fixé le nom :)) n'existent pas naturellement pour les astronomes amateurs, ils sont créés artificiellement par siril, donc dans le script où on les crée on le sait parce qu'il y a une option -fitseq à un moment. On peut les identifier avec le contenu du fichier, ce que siril fait, et stocke l'info dans le .seq en effet, comme pour les SER et les films d'ailleurs. Un ligne du début du fichier contient le type de séquence, celle qui commence par T si ce n'est pas une séquence de fichiers FITS classique : https://gitlab.com/free-astro/siril/-/blob/master/src/io/seqfile.c#L61 et https://gitlab.com/free-astro/siril/-/blob/master/src/io/seqfile.c#L555-567

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, m27trognondepomme a dit :

@vinvin dans le fichier seq, il y a une info indiquant le mode fitseq ou pas ?

@m27trognondepomme

Sous Siril, les master du mode Live ASIAir dans l'entête indique le nombre de fichiers stockés...

Savoir si Siril fait de même et si l'info figure dans entête FIT, mais pas vu dans les images finale de Siril d'info STACKCNT =??

 

SIMPLE  =                    T / file does conform to FITS standard
BITPIX  =                   16 / number of bits per data pixel
NAXIS   =                    2 / number of data axes
NAXIS1  =                 3008 / length of data axis 1
NAXIS2  =                 3008 / length of data axis 2
EXTEND  =                    T / FITS dataset may contain extensions
COMMENT   FITS (Flexible Image Transport System) format is defined in 'Astronomy
COMMENT   and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H
BZERO   =                32768 / offset data range to that of unsigned short
BSCALE  =                    1 / default scaling factor
CREATOR = 'ZWO ASIAIR'         / Capture software
OFFSET  =                   70 / camera offset
XORGSUBF=                    0 / Subframe X position in binned pixels
YORGSUBF=                    0 / Subframe Y position in binned pixels
FOCALLEN=                  401 / Focal length of telescope in mm
EGAIN   =    0.994093239307404 / Electronic gain in e-/ADU
XBINNING=                    1 / Camera X Bin
YBINNING=                    1 / Camera Y Bin
CCDXBIN =                    1 / Camera X Bin
CCDYBIN =                    1 / Camera Y Bin
XPIXSZ  =     3.75999999046326 / pixel size in microns (with binning)
YPIXSZ  =     3.75999999046326 / pixel size in microns (with binning)
IMAGETYP= 'Bias    '           / Type of image
STACKCNT=                   10 / Stack frames
EXPOSURE=                  10. / Exposure time in seconds
EXPTIME =                  10. / Exposure time in seconds
CCD-TEMP=    -10.1000003814697 / sensor temperature in C
RA      =             10.95087 / Object Right Ascension in degrees
DEC     =              41.3391 / Object Declination in degrees
DATE-OBS= '2020-10-21T18:48:56.173' / Image created time
INSTRUME= 'ZWO ASI533MC Pro(ASI533)' / Camera model
BAYERPAT= 'RGGB    '           / Bayer pattern
GAIN    =                  101 / Gain Value
TELESCOP= 'iOptron CEM40 (EC)/GEM45 (EC)' / Telescope name

Modifié par Sebriviere
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, vinvin a dit :

Les fichiers SER sont détectables par leur extension, les FITS cube/fitseq/séquence FITS en un fichier (j'ai pas encore bien fixé le nom :)) n'existent pas naturellement pour les astronomes amateurs, ils sont créés artificiellement par siril, donc dans le script où on les crée on le sait parce qu'il y a une option -fitseq à un moment. On peut les identifier avec le contenu du fichier, ce que siril fait, et stocke l'info dans le .seq en effet, comme pour les SER et les films d'ailleurs. Un ligne du début du fichier contient le type de séquence, celle qui commence par T si ce n'est pas une séquence de fichiers FITS classique : https://gitlab.com/free-astro/siril/-/blob/master/src/io/seqfile.c#L61 et https://gitlab.com/free-astro/siril/-/blob/master/src/io/seqfile.c#L555-567

Super avec cette info dans le fichier seq, je vais pouvoir tester le type de séquence.

Lien vers le commentaire
Partager sur d’autres sites

5 hours ago, vinvin said:

on peut prévoir un seqstat alors ?

@vinvin Oui!!!!...j'osais pas de le demander alors je me suis debrouillee...Mais ça ira probablement bien plus vite en multithread. Enfin, faut que ça plaise a d'autres hein...je suis peut-être la seule illuminée a kiffer me faire des courbes de variation de stats dans mes séquences.

 

Et je rejoins @m27trognondepomme, merci pour l'info. J'ai toujours vu ces codes en haut des .seq et j'oublie a chaque fois d'aller regarder ce que ca veut dire, vu que je m'en servais pas jusque la.

  • Comme je me gausse! 2
Lien vers le commentaire
Partager sur d’autres sites

Haha. Habituellement on fait les courbes avec le seqpsf, pour la photométrie genre étoiles variables, rotations d'astéroïdes, exoplanètes, mais si tu veux faire des courbes avec les stats moi ça me va ;) On ajoutera ça dans la prochaine, ça devrait être assez simple, mais tu les récupères sous quelle forme aussi ? Quand siril calcule des stats sur une image il les sauvegarde dans le .seq à la ligne correspondante, mais il vaudrait mieux éviter de trop lire dans le .seq et plutôt définir un format de sortie de la commande lisible pour toutes les utilisations.

Si tu as une idée de format, tu peux créer un ticket dans gitlab et le mettre dedans ? Il faudra qu'on crée un ticket pour ne pas oublier de le faire de toute façon.

 

Il y a 2 heures, Sebriviere a dit :

Sous Siril, les master du mode Live ASIAir dans l'entête indique le nombre de fichiers stockés...

Savoir si Siril fait de même et si l'info figure dans entête FIT, mais pas vu dans les images finale de Siril d'info STACKCNT =??

Tu parles du nombre de fichers stackés là, pas stockés ! A moins qu'ASIAir soit capable de faire des FITS à plusieurs images aussi ?

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, vinvin a dit :

Tu parles du nombre de fichers stackés là, pas stockés ! A moins qu'ASIAir soit capable de faire des FITS à plusieurs images aussi ?

Correct, stackés était le bon mot...avant correcteur auto.

Mais cette info Stackcnt n'apparait pas sur les FIT Siril après empilement par contre...

Lien vers le commentaire
Partager sur d’autres sites

@Cissou8 pour info, j'ai ajouté 2 fonctions dans les addons de pysiril:

  • GetSeqType(sequence_filename ) => cette fonction lit un fichier sequence et retourne l'une des 5 chaines suivantes selon le type de séquence : "Avi", "Ser", "Fitseq", "Fit" ou "Error"
  • GetSeqFile(sequence_filename ) => cette fonction lit un fichier sequence et retourne le contenu dans une structure de données facilement exploitable.
  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 7 heures, vinvin a dit :

Si tu as une idée de format,

je proposerai de garder globalement le même format que la fonction stat et d'ajouter en début de ligne le nom de l'image avec son numéro.

qu'en penses-tu Cécile ?

 

Modifié par m27trognondepomme
Lien vers le commentaire
Partager sur d’autres sites

@m27trognondepomme

ah, alors je suis allee un peu plus loin et j'ai propose d'exporter direct un csv...c'est vrai qu'on pourrait parser le log après coup, mais bon, quitte a demander...

J'ai fait un ticket la: https://gitlab.com/free-astro/siril/-/issues/626, n’hésite pas a commenter si tu vois autre chose ou une autre facon de faire.

Lien vers le commentaire
Partager sur d’autres sites

Le 11/12/2020 à 17:26, Sebriviere a dit :

Mais cette info Stackcnt n'apparait pas sur les FIT Siril après empilement par contre...

C'est normal car c'est pas un mot clé reconnu.

Il faut savoir que c'est la jungle dans les mot clés, tous ces mots clés là ne sont pas standard, et donc ... chaque producteur de données fait un peu ce qu'il veut.

Quelle est l'utilité d'un tel mot clé ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, lock042 a dit :

Quelle est l'utilité d'un tel mot clé ?

ASIAir l'utilise pour le mode Live, sur les seul fichiers master Bias/Dark et flat créés avant le live. Ne sont sauvegardés que ces master, pas les fichiers unique de DOF ayant servis à l'empilement pour les master. Donc les masters sont nommés par ASIAir Stack5_Flat_5s_Bin1_gain101_20201021-204538_-10.1C

et ce type de fichiers ont le mot clé Stackcnt =5 (dans ce cas précis).

Ainsi que les lights, mais elles ont aussi les fichiers individuels.

 

Stack29_Light_M81_120s_Bin1_gain101_20201025-225254_-10C

 

IMAGETYP= 'Light   '           / Type of image
STACKCNT=                   29 / Stack frames
EXPOSURE=                 120. / Exposure time in seconds
EXPTIME =                 120. / Exposure time in seconds

 

Par contre, si le Stackcnt = 29, l'exposition de 120s est individuelle elle, pas totale pour 29x120s...

Modifié par Sebriviere
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, vinvin a dit :

ffmpeg probablement, il lit tous les containers

Ok, merci, je pensais bien, il a plus de retour que d'autres....

 

Comme les vidéo ASIAir manque d'info dans leur nom: Jupiter_Bin1_20201011-212638_16.8C

Rien sur dimension 240, 480, 720 ou 1080 ni les FPS....

Va falloir que je récupère ca des metadatas.

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 17 minutes, Sebriviere a dit :

Comme les vidéo ASIAir manque d'info dans leur nom: Jupiter_Bin1_20201011-212638_16.8C

D'ou l'avantage de prendre avec du SER. Le header est prévu pour l'astro.

 

EDIT : bon ben on se croise @vinvin

Modifié par lock042
Lien vers le commentaire
Partager sur d’autres sites

Le 11/12/2020 à 23:33, Cissou8 a dit :

J'ai fait un ticket la: https://gitlab.com/free-astro/siril/-/issues/626, n’hésite pas a commenter si tu vois autre chose ou une autre facon de faire.

Voilà, j'ai implémenté votre demande.

La commande est de type :

seqstat sequencename output.csv [option]

avec option qui prend soit la valeur basic, soit extra.

sequencename est le nom de la séquence

output.csv est le nom du fichier de sortie. Même pas obligé de lui mettre l'extension csv.

 

extra va donner plus de stats que basic (comme le bruit de l'image par exemple), mais ca prend beaucoup plus de temps à calculer !!!

 

Exemple en pièce jointe

 

J'attends vos retours.

stats.csv

Modifié par lock042
  • J'aime 1
  • Merci / Quelle qualité! 1
Lien vers le commentaire
Partager sur d’autres sites

@lock042

Version compilée (avec les autres bonus du jour 😁) et testée. Ça marche nickel. Y a pas a dire, ça va quand même super vite, même avec les extras! Ca me motiverait presque a me remettre au C...

Juste un truc, tu pourrais garder tous les sep a "\t"? Sinon, faut je ruse pour parser le numéro d'image/channel avec des expressions régulières  a cause du  ":"

Merci en tout cas!

 

 

 

 

Modifié par Cissou8
Lien vers le commentaire
Partager sur d’autres sites

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.