Friday, May 10, 2024

Mosaic Detours and a small surprise

 The mosaic is coming along, but there have been several detours along the way.

That difficulty I had with my guide camera resulted in too many bad frames in two of the panels' luminance and red frames. Why those two channels?  I think it's mainly because of how they fall in the filter sequence, but it could just be chance. These will need to be reimaged, meaning no finished mosaic until later this year.

Something was wrong with my luminance flat frame, too. It was leaving a large light circle in the calibrated images:


Lacking a time machine that could let me reshoot the flats as they were at the time the light frames were collected, I opted to create a synthetic flat of sorts by using PixInsight's ABE. This worked well enough, leaving only a few dust motes to be cleaned up by CloneStamp.

One last issue was a sort of swiss-cheese texture produced by the script StarReduction and by StarXTerminator. This was minimized using CurveTransformation twice: first to reduce the brightness difference between the "holes" and the "cheese," followed by a mild stretch to de-emphasize the background.  You could probably use a masked application of MLT to deal with it, too.

Here's a comparison between the starry original and the final reduced star version

Before

After

Vastly better, I think. Here is the portion of the workflow that is used to take luminance from star-filled linear integrated to nonlinear with fewer and smaller stars:

  1. Open the original calibrated, aligned and integrated image (it's still linear at this point)
  2. Delinearize the original using STF and HT, save as "NL"
  3. Open StarReduction script, set target to NL and click the "Generate starless view" button. If you have both StarNet2 and StarXTerminator installed you'll be asked which to use and what options there are for it.  (I used StarNet2 with a 2x upsample.) When that's completed, close StarReduction and save the new starless image as NL_Starless
  4. Enhance NL_Starless as you see fit. Certainly make cosmetic repairs. I sharpened it with MLT using layer biases (layer 1 = -0.2, layer 2 = -0.1, layer 3 = +0.15) Save the result as NL_Starless_Enhanced.
  5. Reopen StarReduction, set target to NL, starless view to NL_Starless_Enhanced. Choose the reduction method and any associated parameters, and write them down so that they can be used for the other panels. (I used the Transfer method with a scale factor of 0.1) Check "Create new star reduced image" and if you want to use PixelMath or some other means of combining the stars and starless data check "Create 'reduced stars only' image".
  6. Click the green checkmark to apply. Save the resulting image as NL_ReducedStars
  7. If your image suffers from "Swiss cheese", deal with it now. Save the result as NL_Done. 
  8. This isn't actually "done done." It will need cropping and normalizing before it becomes part of the luminance mosaic.

The settings you choose for MLT sharpening, StarReduction, and possible 'cheese' removal will depend on many factors, so play with them to see what what works best for you. It's probably a good idea to create and save process icons once you've found settings you like.

Lessons learned: Shoot flats ASAP after imaging. Inspect light frames ASAP after imaging to see what you collected.

-----------------------

Here's the surprise in panel 6 containing the southern portion of NGC 6960:

Panel 6, luminance, starless version

Look in the lower right corner, that thing that looks alike a ball on a stalk. At first I thought it was an artifact, so I looked at other images on AstroBin. I couldn't find it in any of the images there. Astrometry.net didn't ID it in a plate solve, either, so I went to NINA's Framing Assistant where I could quickly see the area in several surveys. This is what it looks like in the downloadable image files:

Panel area from NINA

And there it was. It shows up in the Nasa Sky Survey and HIPS 2, so it's real and not an artifact. But what exactly is it?  I processed my color frames and got this:

Panel 6 RGB composite

It's got a bluish tinge to it, so my guess is that it's a very faint reflection nebula. So far as I can find it doesn't have a designation. Is there anyone out there who can ID it?



Thursday, May 2, 2024

Mosaic Workflow

I've been working on my Veil Mosaic project and here is the first tentative result, the luminance mosaic:

Original Luminance Mosaic

The full scale version of this is 10257x9687 pixels in size! This has a number of issues, but it really was just an exercise in stitching together six panels. That part worked flawlessly. The main issue I have with this is the stars. There are just so many of them that they obscure the nebulosity. The other issue is how to extend my workflow to incorporate the chrominance channels and deliver a full LRGB mosaic.

Most people suggest building an LRGB mosaic from channel mosaics, so that's what I will do. As for the mosaic-building tools, advice is mixed with most people indicating a preference for GradientMergeMosaic. My experience with GMM has been disappointing; many of my images include dense star fields, and GMM has had problematic issues with stars at the edge of panels. Instead, I'll use PhotometricMosaic.

The workflow might go something like this for each panel/channel combination, although the last two steps operate on channel or panel groups. It's assumed you've already created master frames for dark, bias, and flat frames.

  1. Cull bad images from light frames (Blink)
  2. Calibrate light frames (ImageCalibration)
  3. Clean up residual hot pixels (CosmeticCorrection) 
  4. Assess calibrated frames for quality and select reference frame (SubframeSelector)
  5. Align light frames (StarAlignment)
  6. Integrate light frames (ImageIntegration)
  7. Sort all the resulting frames by panel; for each panel group use DynamicCrop to insure all the channel images for a given panel cover the same sky and have no edge artifacts from dithering. This insures the channel mosaics have identical dimensions and won't require aligning.
  8. Background correction (ABE, DBE, or both)
  9. Reduce noise (NoiseXTerminator)
  10. When all this has been done, sort the panels by channel. If you're archiving images, this is a good time to send all the intermediate products off to storage, they're no longer needed. Only the images from step 9 will be needed.
Because the luminance images will become pseudo-masks for chrominance they need extra attention. Do these steps for each luminance panel:
  1. Create a starless version (StarXTerminator or StarNet2, both have strengths and weaknesses)
  2. Enhance the starless image (MultiscaleLinearTransform, UnsharpMask, NoiseXTerminator, etc.)
  3. Reduce star bloat (StarReduction), apply the same reduction to all luminance panels.
Care should be taken to insure all the enhancements and applications of StarReduction are identical. This is an opportunity to learn how to use PI Containers.

Within each channel, normalize the images using LocalNormalization. The hope is that LocalNormalization will deal with background disparities and that the splining of PhotometricMosaic will make any remaining issues imperceptible. 

Next, create the channel mosaics by repeating these steps for each channel. 
  1. Plate solve each panel (ImageSolver)
  2. Register each solved panel (MosaicByCoordinates)
  3. Merge the panels (PhotometricMosaic)
  4. Reduce noise again (NoiseXterminator)

After you've done all four channels you're ready to combine them all as you would any single LRGB image. 

Taking the channel mosaics nonlinear requires you to try to stretch them in roughly the same manner, perhaps starting with the luminance mosaic and applying that same stretch to each of the chrominance channels. PI lets you do this using the STF process. Having done that you're ready to combine the channels and get on with color balancing, etc.

Notice I'm not using the usual PixInsight noise reduction and deconvolution processes. I think NoiseXTerminator provides superior noise reduction and the PixInsight Deconvolution process? I have never had any real luck with that thing. If your stars are round you're better off using StarReduction, which works exceedingly well and is free, too. Here is a too-quick application of StarReduction:


One pass of StarReduction

This image shows the effect of a single pass of StarReduction. There are a lot of blockish artifacts in this resulting from StarXTerminator being applied to the mosaic rather than individual panels.

With this workflow now defined I can get on with the processing!