Pliskin
Nouveau Membre-
Compteur de contenus
8 -
Inscription
-
Dernière visite
Visiteurs récents du profil
Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.
Pliskin's Achievements
-
Merci du partage de FamilleAstro je vais regarder (je ne connaissais que AstroNOTE). J'ai lu qu'il existait une doc très complète de 359 pages sur PRISM en anglais, mais où la trouver ? J'ai cru comprendre que les efforts de développement/documentation visent plutôt le marché anglophone. Ca a certainement du sens d'un point de vu économique pour l'entreprise. J’espère que PRISM a une longue vie devant lui, j'ai choisi PRISM pour le pilotage de mon télescope et de la caméra principale avec roue à filtre et les avantages de la résolution astrométrique. Sinon Carte du Ciel est gratuit et a l'air pertinent pour faire le job, la carte du ciel avait l'air plus fluide.
-
Bonjour Baco, Je n'ai pas trouvé de solution à la question, mais pour ma part j'ai une alternative à mon besoin (relativement à PixInsight) J'utilise le préfixe du nom de fichier dans la fenêtre d'acquisition standard pour identifier les darks (voir mon screenshot précédent). Après l'acquisition et avant de faire le traitement des images, je fais tourner un script sur les images pour corriger les FITS HEADERS, en particulier pour corriger les filtres, l'erreur d'encodage sexagésimal, mais entre autre, corriger le type d'image dark/bias/flat/light basé sur le nom de fichier et son préfixe. Ainsi, mes images sont parfaitement reconnues par PixInsight, le script est ici, (pas à jour sur le forum, je pense avoir rajouté une correction du binning entre temps) J'en profite pour faire ici passer un message à PRISM, car cela ma réellement frustré pour un logiciel aussi cher : J'ai vu sur un forum le créateur de PRISM justifier qu'il est inutile d’investir du temps dans la rédaction d'une documentation du logiciel car les gens passent très peu de temps à lire la doc. Les vidéos trouvées sur internet sont suffisantes. Et d'autre part, on ma conseillé de regarder 3h de vidéo dans l'espoir vain de trouver une réponse à ma question. J'y ai juste perdu du temps sans trouver la réponse. Alors je dis tout simplement NON ! Personne ne lit un dictionnaire de A à Z, idem pour une encyclopédie. Les gens passent très peu de temps à les lire, et pourtant ils sont utiles et ils existent. Quand on fait une recherche sur un mot-clé dans un index, il est évident qu'on passe effectivement très peu de temps dans la doc quand celle-ci est bien faite. La documentation de PRISM ne devrait pas être un tutoriel ou un guide qui se lit de A à Z en plusieurs heures. Elle devrait au moins référencer et expliquer les fonctionnalités à jour qu'on peut consulter au besoin en 5min....
-
Je n'ai pas vu ce menu dans les vidéos 😔 Après presque de 3h de visionnage 🤪, je vais aller demander sur le forum de PRISM directement 😇 De manière générale, les créateurs ont de plus en plus tendance à faire des vidéos explicatives 💤 que des textes explicatifs 🤓. C'est un enfer pour l'utilisateur qui cherche une info seule 🥴, lire en diagonale depuis l'index et repérer les mots clés en gras aurait dû prendre 5 min.
-
Bonjour, Désolé pour la question ... idiote.... 😓 Où se trouve le menu "Camera > Acquisition des noirs" dans PRISM ? (cf la doc) J'ai longtemps cherché, Honnêtement, vu le prix de la licence, ça me met mal 🤢 de constater que la doc n'a pas été mise à jour depuis Novembre 2005, contient encore du Flash, et qu'au final, elle ne me permet même pas de localiser ce menu efficacement 😥
-
le process icon est "ImageSolver" et son nom complet est "Image Plate Solver" Oh, merci merci ! en effet... les coordonnées viennent de PRISM... étrange.... Je pensais que j'avais un problème de signal sur bruit, ou bien que les étoiles étaient trop grosses, je cherchais clairement dans la mauvaise direction 😁
-
Bonjour, J'ai besoin d'aide avec le script Image Plate Solver de PixInsight. Il ne parvient pas à résoudre les images empilées: Unable to find an initial set of putative star pair matches Les images sont faites en utilisant le Weighted Batch Preprocessing script. Pourtant une image calibrée seule, non empilée, passe sans problème. Jouer avec les différents paramètres du script n'a pas aidé donc il doit y avoir quelque chose que je fais mal quelque part. Une image générée par Weighted Batch Preprocessing script est jointe, empilement de 6 poses de 300s en luminance masterLight_BIN-1_4656x3520_EXPOSURE-300.00s_FILTER-L_mono_autocrop.xisf
-
tech Comment traiter des images, acquises avec PRISM, sous PixInsight
Pliskin a répondu à un sujet de Alien dans Astrophotographie
Avec ça, je peux prendre toutes mes images générées par PRSIM (dark, flat, light) et importer le dossier tout entier dans PixInsight WeightedBatchPreprocessing script. from astropy.io import fits import os, re, glob filter_map = dict() filter_map['Red'] = 'R' filter_map['Green'] = 'G' filter_map['Blue'] = 'B' filter_map['Lum'] = 'L' # Fix IMGTYPE to match the file name def try_fix_imgtype(hdul, file_path): file_name = os.path.basename(file_path) sucess = False if 'IMGTYPE' in hdul[0].header and 'STD_IMAGE' in hdul[0].header["IMGTYPE"] and not 'master' in str.lower(hdul[0].header["IMGTYPE"]): if 'dark' in str.lower(file_name): old_value = hdul[0].header["IMGTYPE"] new_value = 'Dark' print('CHANGE {}, IMGTYPE:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["IMGTYPE"] = new_value sucess = sucess or True elif 'bias' in str.lower(file_name): old_value = hdul[0].header["IMGTYPE"] new_value = 'Bias' print('CHANGE {}, IMGTYPE:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["IMGTYPE"] = new_value sucess = sucess or True elif 'flat' in str.lower(file_name): old_value = hdul[0].header["IMGTYPE"] new_value = 'Flat' print('CHANGE {}, IMGTYPE:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["IMGTYPE"] = new_value sucess = sucess or True else: old_value = hdul[0].header["IMGTYPE"] new_value = 'Light' print('CHANGE {}, IMGTYPE:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["IMGTYPE"] = new_value sucess = sucess or True return sucess def try_fix_filter(hdul, file_path): file_name = os.path.basename(file_path) sucess = False # Fix PRISM default FILTERS keyword. PixInsight expect it to be FILTER instead # It is better to change the default keyword in PRISM/FITS header configuration however if 'FILTER' not in hdul[0].header and 'FILTERS' in hdul[0].header: value = hdul[0].header['FILTERS'] comment = hdul[0].header.comments['FILTERS'] print('FIX {}, FILTERS->FILTER'.format(file_name)) hdul[0].header.set('FILTER', value, comment, before='FILTERS') del hdul[0].header['FILTERS'] sucess = sucess or True # Take it with care, this removes the FILTER for dark and bias frames. # PixInsight expect such frames to match the same filter, that could not be the case depending how you made them. if 'dark' in str.lower(file_name) or 'bias' in str.lower(file_name): if 'FILTER' in hdul[0].header and len(hdul[0].header["FILTER"]) > 0: old_value = hdul[0].header["FILTER"] new_value = '' print('CHANGE {}, FILTER:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["FILTER"] = new_value sucess = sucess or True # Optional, rename the LRGB filter if 'FILTER' in hdul[0].header and len(hdul[0].header['FILTER']) > 0 and hdul[0].header['FILTER'] not in filter_map.values(): old_value = hdul[0].header["FILTER"] new_value = filter_map[old_value] print('FIX {}, FILTER:{}->{}'.format(file_name, old_value, new_value)) hdul[0].header["FILTER"] = new_value sucess = sucess or True return sucess # Fix PRISM default FOCAL keyword. PixInsight expect it to be FOCALLEN instead # It is better to change the default keyword in PRISM/FITS header configuration however def try_fix_focallen(hdul, file_path): if 'FOCALLEN' not in hdul[0].header and 'FOCAL' in hdul[0].header: value = hdul[0].header['FOCAL'] comment = hdul[0].header.comments['FOCAL'] print('FIX {}, FOCAL->FOCALLEN'.format(os.path.basename(file_path))) hdul[0].header.set('FOCALLEN', value, comment, before='FOCAL') del hdul[0].header['FOCAL'] return True return False # Fix the sexgesimal string recorded by PRISM for SATLONG and SATLAT # PRIMS write +11:22:33:99, but PixInsight expects +11:22:33.99 instead, with 33.99 (33:99) in arc seconds def try_fix_sexagesimal(hdul, file_path, metadata): if metadata in hdul[0].header: m = re.match(r'((?:\+|\-)\d{1,3}:\d{2}:\d{2}):(\d{2})', hdul[0].header[metadata]) if m: old_value = hdul[0].header[metadata] new_value = "{}.{}".format(m.group(1), m.group(2)) print('FIX {}, {}:{}->{}'.format(os.path.basename(file_path), metadata, old_value, new_value)) hdul[0].header[metadata] = new_value return True return False # Fix bitdepth, when sensor records 12bits and the ADC shifts the bits left to 16 bits # Can be fixed in PRISM/Camera configuration however def try_fix_bitcampx(hdul, file_path): if hdul[0].header["BITCAMPX"] == 16: print('FIX {}, shift bits>>4 , BITCAMPX:16->12'.format(os.path.basename(file_path))) hdul[0].data>>4 hdul[0].header["BITCAMPX"] = 12 return True return False # Save file without altering modified timestamp def save_file(hdul, file_path): print('UPDATE {}'.format(os.path.basename(file_path))) mtime = os.path.getctime(file_path) hdul.flush() os.utime(file_path, (mtime, mtime)) if __name__ == '__main__': path = r"C:\astrophoto" for file_path in glob.glob(path + '/**/*.fits', recursive=True): with fits.open(file_path, mode='update') as hdul: save = False if try_fix_filter(hdul, file_path): save = True if try_fix_sexagesimal(hdul, file_path, 'SITELAT'): save = True if try_fix_sexagesimal(hdul, file_path, 'SITELONG'): save = True if try_fix_bitcampx(hdul, file_path): save = True if try_fix_focallen(hdul, file_path): save = True if try_fix_imgtype(hdul, file_path): save = True if save: save_file(hdul, file_path) else: print('NO CHANGE {}'.format(os.path.basename(file_path))) Et voilà un exemple de ce que le script affiche quand il modifie quelque chose, FIX m101_Red-3.fits, FILTERS->FILTER FIX m101_Red-3.fits, FILTER:Red->R FIX m101_Red-3.fits, SITELAT:+49:17:19:99->+49:17:19.99 FIX m101_Red-3.fits, SITELONG:+06:03:42:00->+06:03:42.00 FIX m101_Red-3.fits, shift bits>>4 , BITCAMPX:16->12 FIX m101_Red-3.fits, FOCAL->FOCALLEN CHANGE m101_Red-3.fits, IMGTYPE:STD_IMAGE->Light UPDATE m101_Red-3.fits Et tout est bien reconnu par PixInsight, (et pas d'erreur sexagesimal dans la console lors du processing) -
tech Comment traiter des images, acquises avec PRISM, sous PixInsight
Pliskin a répondu à un sujet de Alien dans Astrophotographie
Bonjour, je déterre ce sujet, mais c'est une problématique toujours d'actualité. Malheureusement, il n'y a pas beaucoup d'explications trouvable facilement sur le web. J'étudie les différents problèmes sérieusement et j'ai trouvé des solutions que je peux lister ici, ça pourrait intéresser les forums des utilisateurs PRISM, et PixInsight. 1. PRISM 1.1. Dans PRISM, changer le format d'acquisition de CPA (recommandé) vers FITS 16bits TIFS est un format commun aux deux logiciels, personnellement je n'ai pas remarqué l’intérêt de rester en CPA sur PRISM. 1.2. Dans PRISM, changer le mot clé FILTERS en FILTER FILTER est reconnu par le Weighted Batch Preprocessing Script de PixInsight. 2. PixInsight 2.1 dans PixInsight, changer l'encodage des images FITS en entier 16bits de 0 à 65535 (au lieu flottant 32bits de 0 à 1) 3. Métadonnées TIFS Malheureusement, les métadonnées (headers) TIFS générés par PRISM ne sont pas tous compatibles avec PixInsight, une conversion est nécessaire. Personnellement, j'utilise un script python avec la librairie astropy.io pour faire la correction sur un lot d'images. 3.1 Renommer la métadonnée FILTERS en FILTER Au cas où l'on a des images existantes (enregistrées avant le réglage de l'étape 1.2), le Weighted Batch Preprocessing Script de PixInsight cherche le filtre de l'image avec le mot clé "FILTER" or PRSIM l'enregistre avec le mot clé "FILTERS" par défaut. 3.2 Corriger la valeur de SITELAT et SITELONG PixInsight génère une erreur de conversion sexagesimal car il attend une valeur sous la forme "+11:22:33.99" or PRISM génère la valeur sous la forme "+11:22:33:99" où 11 est exprimé en degrés, 22 en minutes d'arc, 33 virgule 99 en secondes d'arc 3.3 Éventuellement, Corriger la profondeur de bit du capteur. Certains capteurs ZWO ASI enregistrent sur 12bits, or l'image transférée par le driver est codée sur 16bits, avec les 12bits décalés vers la gauche. exemple, le capteur enregistre un pixel avec la valeur 0b111111111111 (4095 en décimal), l'image contiendra la valeur 0b1111111111110000 (66520 en décimal). Je ne pense pas que ça ait un impact majeur dans le traitement. L'histogramme ressemble à un peigne au lieu d'une courbe continue car on passe de 0 à 4, de 4 à 8, etc , et les valeurs intermédiaires 1,2,3,5,6,7, etc n'existent pas. En revanche sa rend l'analyse du gain unitaire 1e-/ADU moins facile à comprendre quand on cherche à le calculer. PRISM a une option qui permet de faire cette conversion, perso j'ai choisi de la corriger par script. Pour être consistant, il faut aussi corriger la métadonnée BITCAMPX et mettre 12 à la place de 16. 3.4. Corriger le FILTER pour les dark et bias. Les DARK et BIAS avec un FILTER différent génèreront une erreur dans le Weighted Batch Preprocessing Script. Je supprime le FILTER (ou FILTERS) des métadonnées, de toutes manières le filtre n'a pas de sens pour les DARK et BIAS. (Rq, les caméra ZWO ASI ayant de l'amp glow, il n'est pas recommandé de faire de BIAS) Il y a peut être encore quelque chose à améliorer, soit dans PRISM soit via le script pour la détection automatique des BIAS, DARK, FLAT, LIGHT avec le métadonné IMGTYPE. Si ça intéresse du monde, je pourrai partager le script et les exemples d'erreur typique que le script corrige, et mieux documenter les étapes précédentes pour aller dans les menus de PRISM et PixInsight.