Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSol'Ex : solar image processing in Java

JSol'Ex : solar image processing in Java

Cédric Champeau

October 04, 2023
Tweet

More Decks by Cédric Champeau

Other Decks in Science

Transcript

  1. @YourTwitterHandle
    #DV14 #YourTag @[email protected] @[email protected]
    #Devoxx #SolEx #JsolEx #Solar
    JSol'Ex
    Solar image processing written in Java
    Cédric Champeau
    Oracle Labs

    View Slide

  2. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    About me
    - Working at Oracle Labs on Micronaut
    Main focus on build plugins and dev productivitity
    @[email protected]
    - Formerly working at Gradle Inc
    - Author of static compiler of Groovy
    - Amateur astronomer
    @[email protected]
    https://www.astrobin.com/users/melix/
    https://bit.ly/3eGD0GM (Youtube)

    View Slide

  3. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project
    ● Sol’Ex = Solar Explorer
    ● Invented by Christian Build (amateur astronomer)
    ● Community driven and DIY
    http://www.astrosurf.com/solex/sol-ex-presentation-en.html

    View Slide

  4. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex project

    View Slide

  5. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  6. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  7. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  8. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  9. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  10. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project
    10 Ångström (1 Å) = 1 nm

    View Slide

  11. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project
    ● Can choose wavelength
    ● Very fine resolution (<0.2 Å), narrower
    than typical filters (several Å)
    ● Upgrade to star spectrography (Star’Ex
    project)
    ● But no direct images!
    ● Official software : INTI by Valérie Desnoux

    View Slide

  12. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project

    View Slide

  13. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project
    Scan
    Direction (RA)

    View Slide

  14. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Sol’Ex Project : Build your own!
    ● Azur3DPrint : 3d printed parts
    – https://azur3dprintshop.com/
    – Coupon DEVOXX2023, 10% off Sol’Ex V2 (exp 30/10)
    ● Shelyak Instruments : optical kit
    – https://www.shelyak.com/

    View Slide

  15. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    INTI
    ● Official software, Open Source, GPL
    ● http://valerie.desnoux.free.fr/inti/
    ● Written in Python, Windows installer (1GB)

    View Slide

  16. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    JSol’Ex backstory
    ● Educational purpose
    – Understand how Sol’Ex / SHG works
    – Am I still a capable developer ?
    ● Technical challenge
    ● Technology playground (JavaFX, vector API, ...)
    ● Show that Java is very capable for real science
    https://melix.github.io/blog/2023/04-22-introducing-astro4j.html

    View Slide

  17. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    JSol’Ex
    ● Written in Java
    ● OpenSource, Apache version 2
    ● https://github.com/melix/astro4j
    ● Installers for Windows, Linux, Mac (~50MB)

    View Slide

  18. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    JSol’Ex
    ● Technology stack
    – JavaFX for UI
    – Micronaut for CLI
    – Java modules
    – JLink + JPackage for distribution
    – Experimental GraalVM native image binaries
    – Gradle for builing

    View Slide

  19. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    JSol’Ex
    DEMO

    View Slide

  20. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Jsol’Ex : geometric corrections

    View Slide

  21. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Jsol’Ex : blurry / incomplete disks

    View Slide

  22. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Jsol’Ex : ImageMath
    ● An expression language dedicated to processing
    ● One click : many results
    ● e.g Helium line processing, animation creation

    View Slide

  23. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Jsol’Ex : lessons learnt
    ● Programming is fun
    ● Many challenging problems, math is hard!
    ● Scientific literature is hard to convert to algorithms
    ● Happy users are your reward for hard work
    ● Java 17+ : 😍
    ● Java modules : 🤨

    View Slide

  24. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Conclusion: Sol’Ex
    ● It’s real science
    ● https://bass2000.obspm.fr/home.php
    ● A bit of tinkering but extremely satisfying
    ● Some “forks” already exist
    ● Join us!

    View Slide

  25. #Devoxx #SolEx #JSolEx #Solar @[email protected] @[email protected]
    Resources
    ● Sol’Ex project: http://www.astrosurf.com/solex/
    ● INTI: http://valerie.desnoux.free.fr/inti/
    ● JSol’Ex: https://github.com/melix/astro4j
    ● Sol’Ex English mailing list: https://groups.io/g/Solex-English
    ● Azur3dPrint: https://azur3dprintshop.com/
    ● Shelyak: https://www.shelyak.com/

    View Slide