List of Milestones achieved
Interpolator tweak #6
Multi File Support #21
ccd2rbg function #15
data matrix and WCSTransform tuple type parser #7
Support for RGB #22
Basic UI panel for AstroImages #3
Interpolator tweak #6
This patch to Reproject.jl
was due to some realizations I had upon Mosè Giordano stressing over the fact that I should use isapprox
rather than check_diff
(my custom test method) in ccd2rgb
PR. I realized that there was something at fault and after investigation, I found that there was a custom method of map_coordinate
in original reproject of python version which I didn’t understand at that time and left it (as on large scale both gave same results). It created some differences on the edges of images reprojected. So after many hours of figuring out the trick they used, the check_diff
was replaced by isapprox
along with a tweak to the interpolator.
Multi File Support #21
This PR was completed a long time ago but it’s build was failing on appvyeor viz. Windows build. I too along with my mentor was confused at first because Travis (Linux and Mac) build were all green and the logs in appvyeor were also non-sensical. But I saw EBUSY error somewhere there and thanks to a PR I solved getting the same error, I concluded that I was messing with a file I/O somewhere. Windows build is very picky about that, it just needs to be good. So, many experiments followed to identify the cause. The problem was not closing FITS file upon reading them, both in test and source. It gets closed automatically only in a do
block and I didn’t know that.
So close the files you open XD !!
ccd2rbg function #15
Upon the Interpolator tweak, I thought this will in easy. But floating point inaccuracies!!
So in different platforms like Linux or Windows, the floating-point arithmetic is different and a small difference of order 1e-26 may be seen between computations. So, you can equate results with ==
to test your results.
OK, so tests the approximate results than using isapprox
.
But what if the values associated with your image are also of order 1e-26. So, a small floating point error will be very large speaking relatively and your isapprox
with rtol
will not pass.
I realized that in a scale of 0 to 1, numbers small as 1e-26 in the image are not that significant. So a rounded result up to 10 decimals did the trick.
So yeah, realizations are important but get them fast.
data matrix and WCSTransform tuple type parser #7
This is a base type parser which was required to dispatch a new method for ccd2rgb
PR.
Support for RGB #22
Finally, with all the ingredients in place, it was time to enable support for RGB image. The mutable and immutables fields for an AstroImages are separated in different structs and rgb_image
sits in properties
struct.
I wrote it this way as more such mutables are in line to get added there.
Basic UI panel for AstroImages #3
The basic UI using Gtk.jl
is completed. Tested and passing locally. It requires a release of AstroImages.jl
which is still pending. So I am waiting until it gets merged in Julia registry and I can set up CI builds for AstroImageView.jl
where the UI sits.
Final tasks remaining
Almost everything in the idea page of JuliaAstro is done up until now. Now, some part of the things that I proposed is left. I’m still figuring out the best way to do it like this.
- Advanced UI panel for AstroImageView.jl
- Distributable format for AstroImage.jl
The journey gets more challenging with time but the learning is too great with my mentor to help at crucial points. Hoping to end this with a bang!!