During a tutored project for our IT GOAL, we have to create image editing software (based on a .fits, .fit) The project is carried out in French, only this document is in English.
We have chosen the Python programming language (Version 3.10.4 recommended), being simplified to use and rich in library, it is easier for us to develop thanks to this one. The downside is that it is cumbersome to use, some functions can take several tens of minutes to run.
Use the pip install astropy[all]
to download the latest version of the library. It is used to simplify our functions, especially on FITS images
Use the pip install matplotlib
to download the latest version of the library. It is used to display our images and graphics on the application
Use the pip install numpy
to download the latest version of the library. It is used to calculate easily thanks to the different functions
Use the pip install scipy
to download the latest version of the library. It is used to rotate a matrix
Use the pip install Pyinstaller
to download the latest version of the library. It is used to generate an .exe file
a. Create a folder
b. Place the .exe in it
c. Create an img folder in this folder
d. Place your "M13_blue" folder holding the fit images named "M13_blue_000X"
e. Run the .exe file
a. Create a folder
b. Place the files main.py, Calculation.py, Filters.py, Interface_front.py, Normalization.py, Stacking.py, Stacking_front.py in the file
c. Create an img folder in this folder
d. Place your file "M13_blue" holding the name fit images "M13_blue_000X"
e.Open the main.py file and run the command "
python main.py
"
Assembly of several images by adding the pixels of each image represented by a 2d array
Assembling several images using the average of each pixel of the different images represented by a 2d array
Assembling several images by determining the median of each pixel of the different images represented by a 2d array.
Additive stitching of multiple images by adding each image with their outliers filter by the deviation and dispersion of the median for the different images of represented by a 2d array
Allows you to remove outliers from each image in a multi-image list and replace outliers with the median based on the deviation/dispersion around the median of Q1 and Q3 with the interquartile range
Remove outliers from each image in a list with multiple images and replace outliers with the mean based on the deviation/dispersion around the median of Q1 and Q3 with the interquartile range
Remove the outliers from each image in a list with multiple images and replace the outliers with the deviation and dispersion of the median based on the deviation/dispersion around the median of Q1 and Q3 with the interquartile range
Allows to apply an image represented via a 2d array a butterworth high pass filter by converting our image to frequency via the fourier transform and applying the butterworth high pass filter and converting it back into a pixel
Allows to apply an image represented via a 2d array a butterworth low pass filter by converting our image to frequency via the fourier transform and applying the butterworth low pass filter and converting it back into a pixel
Allows to apply a Gaussian high pass filter which applies a Gaussian convolution matrix on each pixel of an image represented via a 2d array and subtracts it from the base image making a high = data-low(gauss)
to apply a Gaussian convolution matrix giving a blur effect on each pixel of an image represented via a 2d array
Allows you to give a filtered image of each pixel by replacing them with the median of each neighboring pixel at a chosen diameter
Allows you to give a filtered image of each pixel by replacing them with the average of each neighboring pixel at a chosen diameter
Allows to apply a convolution matrix on each pixel of an image represented via a 2d table The matrix is applied according to the neighbors located according to the size/diameter of the matrix directly on the pixels of the image
Allows you to apply a sobel convolution matrix vertically and horizontally giving an effect of accentuating the edges of objects in the image and applying to each pixel of an image represented via a 2d table
Allows to apply a bilateral filter on an image giving a blur/softening effect on each pixel of an image represented via a 2d table via the value of the Gaussian distribution and the distance between the points in the chosen neighbor diameter allowing to have a fairer distribution than a classic Gaussian filter
- Matthieu CZARKOWSKI Creation of stacking, filter, scaling algorithms
- Gauthier CORION Creating the interface with Pyqt