Week 6 + part of Week 7 of GSoC is done! 🤓💻 And I guess I survived Evaluation 1 and am still here… ✌️😅

The following is a short progress report since the last post.

Milestones

  • two major PRs to branch master containing many documentation changes are merged🎉🎉!! They are: #98 and #93.
  • Makie documentation is available online! (note that since the documentation generation with the CI is not implemented yet, this documentation lag behind the latest commit(s). If you want the latest and greatest, you can run julia make.jl to build the latest docs. But this should hopefully be up and running in a few days!)
  • CI for Makie is up and running, currently it runs through visual regression tests and will soon build the documentation automatically with each change! (The visual regression part + CI config is being worked on by Simon).
  • Makie legacy release!
  • AbstractPlotting prelease!

Finished – Makie.jl and AbstractPlotting.jl

  • one commit merged to master branch at AbstractPlotting.jl (a6e3c72)
  • improved thumbnail generation vastly (reducing aliasing artifacts) by first Gaussian filtering the image (see image below). For videos, find the video duration, seek to the middle of the video and grab a thumbnail from there. (7290e18)
  • various other backend documentation generation improvements and changes
  • various other documentation additions and changes

Here’s an illustration that shows the effect of image filtering on the visual quality of the thumbnail: Comparison of thumbnail quality after pre-filtering with different Gaussian factors prior to rescaling

I chose to use the factor 0.4 because it looked the best to my eyes.

Code snippet used to apply Gaussian filter and rescale image:

gaussfactor = 0.4
σ = map((o,n) -> gaussfactor*o/n, size(img), newsz)
kern = KernelFactors.gaussian(σ)   # from ImageFiltering
imgf = ImageFiltering.imfilter(img, kern, NA())
newimg = ImageTransformations.imresize(imgf, newsz)

TODOs

  • add more documentation pages
  • make sure that all functions and recips are documented

Difficulties encountered

  • due to issues in Documenter.jl, the thumbnails in Makie’s documentation cannot be as nicely cross-referenced as I’d like. I am thinking of alternative ways to manually cross-reference the thumbnails, but have no elegant solutions so far. I have discussed this with @mortenpi on Slack, and filed three issues regarding this:

So, that’s it! Hope you enjoyed reading this. Onwards to the next weeks 👨‍💻!




GSoC logo Image source: Google Summer of Code, CC BY-NC-ND 3.0