Proj-2015-2016-Astroimage/Fiche

Subject: Astroimage

= Subject summary = This software system will be a Astro Images Processing System for Amateur astronomers. It will be designed to preprocess and process astronomical images. By maximizing preprocess and process efficiency, the system will meet the customers’ needs while remaining easy to understand and use.

= Task team =  Supervisors: 
 * Olivier Richard
 * Bruno Bzeznik

 Students: 
 * Quentin GERRY (RICM4)
 * Nicolas BLANC (RICM4)
 * Coralie RACHEX (RICM4)

= Progress of the project =

Objectives

 * Choice of the workgroup
 * Choice of the subject

Work done

 * Workgroup chose
 * Selection of project in progress

Problems faced

 * Not priority subject
 * Few details of the project

Objectives

 * Defend our project choice
 * Contact Bruno Bzeznik for more details
 * Inquire about the techniques of astronomical image processings and about the existing software

Work done

 * Confirmation of the project choice.
 * Searches on the image processing.

Problems faced

 * The meeting with Bruno Bzeznik is scheduled for the next week. Having only little information on the project, we can't really progress.
 * We find little information about the astronomical image processing and we haven't a lot of details to direct our searches.

Objectives

 * We need to get more information concerning the project, to be able to begin to think about its implementation.

Work done

 * SRS: Project requirements (SRS)

Problems faced

 * The astronomical image processing in python seems much more complicated than in other language (reading of a .RAW image in particular).
 * This project seems to be very long to realize and we have to make choice about the priority functions of software.

Objectives
Researching :
 * The .FITS file format
 * The .RAW file format
 * Library python about the astronomical images processing or the images processing
 * Python
 * Algorithms about astronomical image processings

Work done

 * [[Media:AstroImage-UML.pdf | UML]]: Use Case, Sequence and state diagrams.

Problems faced

 * Books about the astronomical image processing which we found speak only about the use of the existing software. It's difficult to find algorithms for the astronomical images processing.
 * Library Python aren't adapted to our needs. So, we must start from scratch.

Objectives

 * We have to continue our research and begin to code the functions allowing to process the RAW images and FITS

Work done

 * Design patterns
 * Functions allowing to treat the images .RAW and .FITS

Problems faced

 * We don't have time to create a debayeurisation function, we have to use the "rawpy" library even if it affects the images quality.
 * FITS is often used for the images in black and white and not for color images. It's difficult to find relevant information on this matter.

Objectives

 * We have to continue our research and begin to code the image processing functions

Work done
Image processing functions :
 * Luminosity : luminosityCorrect
 * Saturation : saturationCorrect
 * Contrast : logCorrect & gammaCorrect
 * Denoising : medianFilter
 * deletionGreenDominant

Problems faced

 * There are many different algorithms, we have to make a choice according to the ease of implementation and the efficiency of each.

Objectives

 * We have to continue our research and begin to code the astronomical image processing functions
 * We have to test the image processing functions : Luminosity, Saturation, Contrast, Denoising

Work done
Tests :
 * luminosityCorrect : WORK
 * saturationCorrect : WORK
 * deletionGreenDominant : WORK
 * medianFilter : CORRECTED BUG
 * logCorrect : WORK
 * gammaCorrect : WORK

Astronomical image processing functions :
 * MasterBias
 * MasterDark
 * MasterFlat

Problems faced

 * These algorithms are difficult to verify (effects are little visible and the processing time is long)

Objectives

 * We have to test the astronomical image processing functions
 * We have to learn kivy in order to begin the interface

Work done

 * Tests :
 * MasterBias : BUG
 * MasterDark : BUG
 * MasterFlat : BUG
 * First interface preview
 * UML Modifications : [[Media:AstroImage-UML.png | UML]]

Problems faced

 * The astronomical image processing functions doesn't work
 * Lack of informations in Kivy documentation

Objectives

 * We have to make more research in order to correct the astronomical image processing functions
 * We have to continue the interface development

Work done
Add two astronomical image processing functions : Interface :
 * MasterDark with MasterBias : DONE
 * MasterFlat with MasterBias : DONE
 * Load Image : DONE
 * Widgets : DONE

Problems faced

 * We don't know if the masters process must be calculated on the raw image or on the demosaicing image
 * We don't know how work on raw data
 * We had encounter some problems to find informations about multifiles selection with Kivy

Objectives

 * We have to modify the astronomical image processing functions in order to work directly on raw data
 * We have to continue the interface development

Work done

 * Master process don't work yet
 * Interface : Multi-selection of files with preview

Problems faced

 * The algorithms don't work better on raw data (and we are limited by the rawpy library). We backtrack to work again on demosaicing images
 * Refresh of preview doesn't fully work

Objectives

 * We have to correct the astronomical image processing functions
 * We have to code the registration process of lights
 * We have to continue the interface development

Work done

 * Registration process of lights : DOESN'T WORK
 * Interface :
 * Link preprocess with interface
 * Founction for retrieve all CR2 in the current folder

Problems faced

 * Master process don't work yet
 * Some functions in the opencv wrapper doesn't work with python langage
 * Opencv doesn't use numpy ndarray (we are obliged to open image with opencv)

Objectives

 * We have to finish the astronomical image processing functions
 * We have to recode the registration process with numpy rather opencv
 * We have to finish the interface development

Work done

 * Registration process of lights : DONE and WORK
 * Histogram equalization : DONE and WORK
 * Astronomical image processing functions : WORK
 * Interface :
 * Founction for retrieve all CR2 in the current folder
 * Link process with interface

Problems faced

 * We can calibrate and register the lights, but the image created have some noises and bad pixels due to rawpy library
 * Interface :
 * Weakle-reference with list buttons of selection process
 * Reading of several image types
 * Implement of render thread