Proj-2015-2016-Astroimage/Fiche: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 2: Line 2:




== Subject summary ==
This software system will be a Astro Images Processing System for Amateur astronomers. This system 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.


= 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 ==
= Task team =
''' Supervisors: '''
''' Supervisors: '''
* Olivier Richard
* Olivier Richard
Line 16: Line 17:
* Coralie RACHEX (RICM4)
* Coralie RACHEX (RICM4)



= Progress of the project =


== Week 1 (January 11th - January 17th) ==
== Week 1 (January 11th - January 17th) ==
Line 24: Line 27:


=== Work done ===
=== Work done ===
Workgroup chose
* Workgroup chose
Selection of project in progress
* Selection of project in progress


=== Problems faced ===
=== Problems faced ===
Not priority subject
* Not priority subject
Few details of the project
* Few details of the project




Line 40: Line 43:


=== Work done ===
=== Work done ===
Confirmation of the project choice.
* Confirmation of the project choice.
Searches on the image processing.
* Searches on the image processing.


=== Problems faced ===
=== 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.
* 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.
* We find little information about the astronomical image processing and we haven't a lot of details to direct our searches.




Line 54: Line 57:


=== Work done ===
=== Work done ===
[[AstroImage/SRS | '''SRS''']]: Project requirements (SRS)
* [[AstroImage/SRS | '''SRS''']]: Project requirements (SRS)


=== Problems faced ===
=== Problems faced ===
The astronomical image processing in python seems much more complicated than in other language (reading of a .RAW image in particular).
* 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.
* This project seems to be very long to realize and we have to make choice about the priority functions of software.




Line 72: Line 75:


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


=== Problems faced ===
=== 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.
*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.
*Library Python aren't adapted to our needs. So, we must start from scratch.



== Week 5 (February 8th - February 14th) ==
== Week 5 (February 8th - February 14th) ==


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


=== Work done ===
=== Work done ===
Line 88: Line 92:


=== Problems faced ===
=== 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.




Line 93: Line 99:


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


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


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




Line 107: Line 116:


=== Objectives ===
=== Objectives ===
We have to continue our search and begin to code the astronomical image processing functions
* 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 ===
=== Work done ===
Tests :
* luminosityCorrect : WORK
* saturationCorrect : WORK
* deletionGreenDominant : WORK
* medianFilter : CORRECTED BUG
* logCorrect : WORK
* gammaCorrect : WORK

Astronomical image processing functions :
Astronomical image processing functions :
* MasterBias
* MasterBias
Line 116: Line 134:


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




Line 121: Line 140:


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


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


=== Problems faced ===
=== Problems faced ===
* The astronomical image processing functions doesn't work

* Lack of informations in Kivy documentation


== Week 9 (March 14th - March 20th) ==
== Week 9 (March 14th - March 20th) ==


=== Objectives ===
=== 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 ===
=== Work done ===
Add two astronomical image processing functions :
* MasterDark with MasterBias : DONE
* MasterFlat with MasterBias : DONE
Interface :
* Load Image : DONE
* Widgets : DONE


=== Problems faced ===
=== 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




Line 139: Line 178:


=== Objectives ===
=== 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 ===
=== Work done ===
* Master process don't work yet
* Interface : Multi-selection of files with preview


=== Problems faced ===
=== 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




Line 148: Line 193:


=== Objectives ===
=== 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)


== Week 12 (April 4th - April 11rd) ==

=== 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 ===
=== 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 ===
=== 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

Latest revision as of 13:44, 6 April 2016

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

Week 1 (January 11th - January 17th)

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


Week 2 (January 18th - January 24th)

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.


Week 3 (January 25th - January 31st)

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.


Week 4 (February 1st - February 7th)

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

  • 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.


Week 5 (February 8th - February 14th)

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.


Week 6 (February 15th - February 21st)

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.


Week 7 (February 29th - March 6th)

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)


Week 8 (March 7th - March 13th)

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 : UML

Problems faced

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

Week 9 (March 14th - March 20th)

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 :

  • MasterDark with MasterBias : DONE
  • MasterFlat with MasterBias : DONE

Interface :

  • 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


Week 10 (March 21st - March 27th)

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


Week 11 (March 28th - April 3rd)

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)


Week 12 (April 4th - April 11rd)

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