Processing
On this page I will describe my solar image processing workflows. The workflows described here might not be the best or optimal but they work for me.
Processing is subjective!
My workflows are limited to non-inverted images mostly in mono sometimes in false color, inverted solar images are not my cup of tee but if you like them that's fine with me.
I find that non-inverted images show the solar structure better even though inverted images are sometimes more 3d-isch which can look cool. :)
Stacking
I use autostakkert to stack my images.
How many files i stack is a trade off between acceptable noise levels and maximum sharpness given the quality of the frames in the .ser file. The green graph in autostakkert can be used to check how many of the frames where taken when atmospheric turbulence was "best". But watch out because it can be deceiving! The graph only shows the quality of the frames in comparison the the best frame in the sequence. If this frame already is really blurred the finale image will not be very good. One can always try to stack these images but it sometimes just isn't worth it wasting time on bad data.
I most of the time stack about 150 if the seeing was bad to get slightly noisier data with acceptable sharpness and 200-500 frames when seeing was good for low noise data with good sharpness.
Of corse the best number of frames depends on the specific data used. If I'm not sure what would be best i set autostakkert to stack the best 10%, 15% and 20% of the frames. A quick sharpening pass in imppg makes it easier to see the noise level of the image.
For time-lapses and if still-images are similar (all prominences or all surface) i use batch processing by just dragging all the .ser files into autostakkert at once, placing the APs and clicking stack.
I never use drizzle, resample or sharpening in autostakkert.
Open-source
Sharpening using Imppg
My imppg workflow:
- open file
- select high contrast region (sunspot prominence)
- if limb is visible set prevent ringing to on
- open curve stretch window
- stretch and set curve points to make image contrast a bit to extreme (this is not the final setting)
- play with the sigma slider
- some value between 0.9 and 1.5 should usually look good and won't show a lot of ringing. For full disk images I often settle on a value closer to 0.9 and for closeups i often use a value around 1.1 to 1.4, but this depends on the level of blur in the raw stack.
- reset the histogram an manually linear stretch the image
- set unsharp mask alpha to the same as LR-Deconvolution sigma
- play with the unsharp mask slider to get an image that is sharp but does not loose details and start to resemble a worm party, because of over sharpening
- curve stretch when doing a time-laps
If i am doing a time-laps a batch process the images in imppg using the settings i save after editing the first frame in the time-laps.
Post-Processing using Gimp
TBD
Pixinsight SolarToolBox
Sometimes i use SolarToolBox instead of imppg and gimp to process my images.
Watch "Solar processing made easy using the Solar Toolbox Process for Pixinsight" by AnotherAstroChannel you want to know how the plugin works. His tool is really awesome!
The settings I use were found by tweaking what is show in AnotherAstroChannels video.
TODO: Add PI settings files for SolarToolBox
If i am doing a time-laps i batch process all images using an image container.
Time-laps creation
I align the sub-frames of my time-lapses using imppgs align image-sequence feature.
Depending on the sky conditions when capturing, the brightness and contrast might vary between sub-frames. To correct this i used to use bcmatch from Fred's image magick scripts, but it has stopped working with the current version of magick. So i wrote a small golang program that tries to replicate the process Fred used in his script. A link to my git will follow
TODO: git link to matchbc golang program
To generate a gif i use the following image magick command:
magick -delay 4 aligned/*.tif output.gif
When i have the .gif file i use the following commands to compress it to .webm or .mp4 to save storage space and allow for easier download. The .gif files are kept to retain the original quality data.
Change the crf parameter to set the compression level if the quality is not to your liking.
ffmpeg -i output.gif -c:v libvpx-vp9 -b:v 0 -crf 20 -pass 1 -an -f null /dev/null
ffmpeg -i output.gif -c:v libvpx-vp9 -b:v 0 -crf 20 -pass 2 -an -c:a libopus final.webm
rm ffmpeg2pass-0.log