Monday, December 10, 2018

#170 - Sunday, December 9, 2018 - Back After a Long, Cloudy Hiatus

It's been a month since the last time I was out at the observatory!  It's been cloudy!  But my first night back out was a good one - no moon, pretty good transparency, and the clouds stayed on the horizon.

The new rig my club put inside the memorial dome - a Celestron CGX-L mount with a Meade 127mm f/9 apo - was roughly polar aligned by another club member, but still needed some fine-tuning.

So I hooked up my ZWO ASI1600MM Pro on its filter wheel, ran all the cables and got everything hooked up, and started up SharpCap to run its polar alignment routine.  Polar alignment is important to get right for astrophotography -- you need the mount pointed directly at the north celestial pole in order to have accurate tracking.  SharpCap reported that the mount was off by about 43 arcminutes, which is close enough for visual observing, but is certainly what was causing all the drift I saw last time I was out.

SharpCap tells you whether you need to move the mount up or down and left or right, so I adjusted each direction until it reported an error of only 2-6 arcseconds, which varied every frame due to the atmosphere.  Pretty good!

After rebooting the mount so that I could put in new alignment stars since I changed the polar alignment, I had it go to Vega first, and its first guess was fairly close -- it put the star within the camera's field-of-view, at least.  After doing the two alignment stars plus four calibration stars, I told it to slew to M1, the Crab Nebula.  I had a tough time choosing a target -- we're not far enough into winter yet to have Orion and all of its goodies be high enough to image in the first part of the evening, but all of the summertime goodies were off to the west, which I try to avoid because of the light pollution.  I had originally expected polar alignment to take longer, however, so when the mount finished slewing, the telescope was pointing toward the trees!  So I slewed up to a higher star to focus the camera and guide camera, and then I left it alone for a bit while I set up my other rig for the evening: my Nikon D5300 on my Vixen Polarie.

I just bought a new tripod so that I could have a removable head to replace with the Polarie's Fine Adjustment head (on Amazon here).  I was also thinking about my trip to Chile, so I got one that folds up small and is lightweight.  This one is made of carbon fiber, and it has three leg joins to collapse the legs, which fold upward back along the center post so that the whole thing is less than two feet long.  But if you extend the legs and the center post all the way, it goes up to 63 inches tall.  It also has a hook in the center column to attach a sandbag or something to weight it down, and you can remove one of the legs and turn it into a monopod.  The whole thing was $130, which as far as nice tripods go, isn't too bad!  Unfortunately, the bolt that you attach mount heads to was a different size than I thought, so I still couldn't attach the Polarie FA head directly, and had to use my 3/8-to-1/4 bushing and attach the FA head to the ball mount that came with the tripod.  Soon I'll get all the right screws!

I got everything connected and got the Polarie pointed north, or at least as north as I can tell by aiming my eye through the sight hole on the edge of the Polarie.  The FA knobs help a lot to move it more precisely.  I wanted to test out using my guidescope and camera again, but it was too cold to want to mess with it.  My USB thermometer reported 29 degrees F.  There were a lot of moving parts in this rig - first I needed to make the tripod level, but the bubble level is on the ball mount head, so I had to get that approximately upright first.  Then I had the FA head screwed onto that, and the Polarie screwed onto that, and another ball mount head on the Polarie, whose rotating section is also screwed on with thumbscrews, and then finally the DSLR attached to that.  Sometimes I'd go to adjust the ball mount that the DSLR was on, and would instead accidentally turn one of the thousand other rotatable things that I hadn't screwed down tightly enough.

I got a little rail that attaches to the camera shoe (same size as for gun scopes) and attached the red/green dot sight that came with my Oberwerk binoculars to it.  Since it's perfectly aligned with the binoculars, I didn't want to mess with it, so it's wrong, but I've got another one on the way just for the camera!  Should make aiming it way easier.

While I was adjusting the polar alignment, I saw a bright flash just above, and a slow-ish-moving green-blue meteor splashed across the sky.  Behind it was a sputtering tail of smoke.  Beautiful sight!  Possibly an early Geminid, since it was moving from east to west.

Finally, I got the camera pointed in the vicinity of the California Nebula (there's a string of three bright stars that make that very easy) and set at 100mm.  After a few focusing and test frames, I remembered that I had a much more important target to image -- Comet 46P/Wirtanen!  How could I forget! So I looked up its position in SkySafari, and it was nice and high just underneath Cetus, with a bright star nearby for reference.  I found it easily, although it took about 10 test frames before I was able to get it centered exactly where I wanted.  Finally that was all done, and I took test frames to see how long the Polarie would track for.  Two minutes showed streaks, 1 minute 30 seconds showed streaks too, and finally I got down to a minute and was still getting small star streaks.  So I adjusted the polar alignment a bit, and finally got reasonably small star streaks.  Then I let it run.

By the time this was done, it was a little after 7:30, and the Crab Nebula had cleared the trees up to the 20 degree mark, which is the absolute minimum I'll image at because the atmosphere is too mushy below that.  Since it was still kind of low, I decided to start with the blue filter and work my way backwards, since it's less important that the color channels be really clear, and then it would be nice and high and in the good part of the atmosphere for the luminance frames later.  I calibrated PHD for guiding, and it looked good.  I had set the camera cooler on -40C, which it reached, and everything else looked good to go, so I told it to take 15x180s frames, and I snuck back inside where it was warm.

A little later on, I came out with a pair of handheld binoculars from the equipment room and went hunting for the comet.  It wasn't difficult to find, although it looked more like a splotch than a comet.  If it wasn't so cold, I might have set up a larger pair of binoculars on a tripod, but it was cold!  I hurried back inside, where I had the warm room warmed up to a nice 70 degrees.

I periodically went out to the dome to check on things, and the blue and green filter images looked slightly out of focus.  When I changed to the red filter, I slewed to a nearby star and re-focused - it must have been pushed in a little when I was rotating the filter wheel.  My filter wheel is very stiff, especially when it's cold.  It won't be too long now before I just give up and get an electronic one and 2-inch filters...although I'm going to need to start plugging things into the ZWO's two back USB ports because I'm out of ports on my 4-port USB hub!

Guiding went okay-ish.  The dec axis looked good, but RA was bouncing all over the place.  I thought at first it was the seeing, but since dec looked fine, I wasn't sure.  I zoomed in on the stars, and they were slightly skewed up-down, which I think was along the RA axis.  I wonder if I need to apply some different settings in PHD for the CGX-L mount, since it's belt-driven.  The agressiveness was already turned down to 70, but maybe that's still too high.

9:30 PM rolled around while I was hanging out in the warm room, and I tried to connect to the weekly Astro Imaging Channel show, but the wifi out here is too slow, and even my LTE cell service is too slow, at least inside the building.  Download is workable, but upload is almost nonexistent!  So I missed the call.  Darn!

I'm writing this while I'm out at the observatory the following night, Monday night, so I haven't had a chance to try processing the Crab Nebula image yet.  I was hoping to get more luminance frames tonight, but the clouds that were originally supposed to clear out by 7 PM are still here, and the forecast now keeps pushing that back hour by hour.  I've got my Nikon D3100 set up now pointed east in hopes of seeing the clouds clear, catching some Geminids, and watching Orion rise, but it's not looking hopeful.  I haven't even set up the memorial dome yet, or the Vixen Polarie.  I'm going to stick it out until 9, and if there's no clearing in sight, then I'll go home and get some sleep.

[Update December 15, 2018]
All right, finally got to process the final Crab Nebula image!  My blue and green channels ended up out-of-focus, like I thought, due to pushing the focuser in a bit while I was trying to rotate the filter wheel in those sub-zero temperatures.  But my fix of that for the red and luminance channels helped, and I was able to apply a deconvolution algorithm to the luminance and get some really nice detail back from the not-fantastic guiding.

These are the steps I followed in PixInsight, with guidance from the Light Vortex Astronomy tutorials:
- Used BatchPreprocess to generate master dark, master bias, calibrate & register light frames (linking the different exposure times of the RGB vs the L)
- Stacked each channel with Light Vortex tutorial recommendations
- Combined RGB channels
- Applied DynamicBackgroundExtraction RGB and L images to remove the light pollution background
- Applied PhotometricColorCalibration to properly color-balance the RGB image
- Dust spot removal using the CloneStamp on L and RGB (my attempt to clean the objective of the refractor didn't work very well when it was below freezing - the cleaning fluid didn't want to evaporate, so I had to use a hair dryer!  I think I also need to check my filters for dust)
- Denoising with MultiscaleLinearTransform on L and RGB, with a mask to protect the nebula from being blurred
- Stretched L and RGB images
- Applied the Deconvolution process with a PSF generated from the image (uses the shape of the stars to inform the algorithm)
- Combined LRGB into one image
- Reduced star sizes with MorphologicalTransform with a star mask (needed because of the un-focused G and B channels)
- CurvesTransformation to boost saturation, brightness, and I also used it with a star mask to reduce the green halos that were a result of the un-focused green channel image

And here you go!
Date: 9 December 2018
Object: M1 Crab Nebula
Attempt: 5
Camera: ZWO ASI1600MM Pro
Telescope: Meade 127mm f/9 apo (club's)
Accessories: Astronomik LRGB Type 2c 1.25" filters
Mount: Celestron CGX-L (club's)
Guide scope: Celestron 102mm (club's)
Guide camera: QHY5
Subframes: L: 10x300s
   R: 12x180s
   G: 14x180s
   B: 15x180s
Gain/ISO: 139
Stacking program: PixInsight 1.8.5
Stacking method (lights): Average, winsorized sigma clipping
Post-Processing program: PixInsight 1.8.5
Darks: 30
Biases: 50
Flats: 0
Temperature: -40C (sensor), 29F (ambient)

I'm continually amazed with what I can get out of an image that has sub-standard input data!  This whole thing is only less than 3 hours of total integration time, and I managed to get some reasonable SNR (signal-to-noise ratio) and detail on the nebula.  Now just think if I had enough clear nights (and enough patience) to have much longer total integration times!

Having awesome software helps's the comparison of the pre- and post-deconvolution images!


Comet results are coming takes a long time to process all 164 images for making the movie (calibration, background extraction, noise reduction, color calibration...), and then I'm learning how to use PixInsight's comet alignment process to make a final stacked image.  More coming soon!

[ Update December 30, 2018 ]

Well, I had about another two pages of text and images written in here, but then some dialog box came up that I didn't see when I alt-tabbed back over after checking on something, and I lost all of my work :(  Guess I'll start over...This time I reverted the post to a draft, so that it would save my work...for some reason it doesn't do that if you're just editing an already-published post...but why am I surprised, Blogger is a pretty outdated platform that Google is probably going to kill anyway, along with nearly all the rest of its good ideas (sorry I'm kind of bitter about them killing Inbox!)

I got busy with some work stuff, graduate school applications, and the holidays, so processing the comet image has been slow-going.  I've also had numerous setbacks -- this dataset is proving difficult!  I got the video done weekend before last, so I'll talk about that first.


I wanted to create the video first since several other people were making cool videos, and I figured it would end up being easier than processing the whole image.  There are a few steps that are in common between the two processes, though, so I could at least make some headway on both at the same time.  I've previously used Photoshop to fix a sequence of raw frames into something reasonable for a video, but I decided to give PixInsight a try.  It's an obvious choice since you can apply the same process to multiple images using ImageContainer.

 First, I needed to calibrate the light frames with their corresponding darks and biases.  I had a master dark and a master bias from DeepSkyStacker previously at that temperature, ISO, and exposure time from another image I had processed there previously, so I just decided to use those.  However, after calibrating, debayering, and registering, I checked some of the images, and they came out kind of crazy weird.  I wish I had a screenshot, but I dumped them all into the Recycle Bin and flushed the toilet.  So I started completely over and used PixInsight to generate a master dark and a master superbias, which is better than just a master bias alone, or so I'm told.  (The superbias does some averaging to reduce noise and make it more like you used a lot more frames to create your master bias so you can just record the bias signal and not the frame-to-frame noise).  After re-creating those, I re-calibrated, debayered, and registered all of the frames.  They looked much better.

Next, I opened up the first and last image, and made two DynamicCrop processes, which between the two would cover the furthest extents of the black edges left behind by the registration process.  I used ImageContainer to apply the crops to all images in the sequence.

Next, I opened up DynamicBackgroundExtraction, since the raw DSLR images had a pretty strong green background as a result of there being twice as many green pixels as red and blue ones.  But it didn't really come out with the same-looking result for each frame, and I couldn't figure out how to make it do that, so I gave up and switched back over to Photoshop after running all the files through the BatchFormatConversion script to convert them from XSIF (a PixInsight format) to TIFF.  It wasn't just the processing problems though -- PixInsight was also generating these massive files, so I kept having to delete the images from the previous steps because my poor 128 GB SSD that I process stuff off of just couldn't handle multiple copies of all 94 of the 283 MB behemoths.

In Photoshop, I opened up one of the images, and recorded an action of stretching, cropping, color balancing (by eye), adjusting curves, and and reducing noise, and then I applied that action to all of the images.  Then I added a text layer, made copying that to the image an action, and applied that action to every frame, since I wanted text on the video saying what it was, the date/time, etc.  Finally, I converted all the images to JPG, loaded them into Timelapse Movie Monkey, and generated my comet video.  I posted it to YouTube on December 18th.


With the video done and a 4-day weekend upon me, I could finally take another whack at the complete comet image.  Previously, I used DeepSkyStacker for this, which has a neat comet stacking mode that allows you to do it one of two ways: hold the comet steady and streak the stars, or do two stacks and combine them to get steady comet and stars.  DSS is pretty quick about it and it produces a pretty good image if you choose the right stacking mode, but you have to select the nucleus of the comet in every frame, and who has time for that??  So I decided to see if PixInsight had a better way.  To the Google Machine!  I quickly found a tutorial from the PixInsight folks themselves on the process, located here.  It walks you through how to make a comet image where both the stars and the comet are steady.  First I'll integrate the comet, then the stars, and then combine.

Much to my delight, PixInsight does indeed do it the most awesome and logical way: its CometAlignment routine has you select the comet nucleus in only the first and last frame in your sequence time-wise, and then it registers everything from there.  Beautiful!

I started with the calibrated, debayered, and registered images I had already generated from making the video.  I pulled them into the CometAlignment process and after selecting a reference image (the image that has the comet located where you want it to be in the final image).  But when I went to the first image to select the comet nucleus, the first 24 frames were missing!  I found them at the bottom -- somehow the timestamps had gotten messed up.  Back to the drawing board...

I deleted everything and decided to use BatchPreprocessor this time.  I loaded my lights, master dark, and master superbias, but when I hit Run, it came up with a memory read error, and also an error about a CFA issue with the dark frame.  CFA has to do with the debayering, so I wondered if the dark was debayered while the lights still weren't, or something like that.  So instead, I closed out of that script and just did it myself again.  

Calibration - the reduction in noise is easier to see when zoomed in on the raw file, sorry!
Also, it's monochrome because it hasn't been debayered yet.

When I went to debayer the frames with the Debayer process, PixInsight kept outright crashing, like totally shutting down.  I had just installed the new version, 1.8.6, and was regretting it already!  But then I remembered that the Light Vortex tutorials advised DSLR users to change the RAW format setting to "pure raw," so I did that, and it finally was able to process and not crash.  How to do that can be found in part 1 of this Light Vortex Astronomy tutorial.  

Debayered single frame -- now in color!

I used the Blink process to inspect the registered frames after registration.  I can only load about 35 or so at a time, since they fill up my RAM rather quickly (that and Google Chrome!)

After I re-calibrated, re-debayered, and re-registered all 94 frames again, and this time the timestamps were correct.  I selected the comet nucleus in the first and last frames, and then it crunch through aligning the frames on the comet.  

The frames are now aligned in the comet.

With the images aligned on the comet, it was time for integration (stacking).  I used the ImageIntegration process, which gave me just the comet and not the stars, since the stars change position every frame since we're comet-aligned, and the integration process is designed to reject parts of the image that change from frame-to-frame (such as noise and satellites).  

Comet only.  It still has a high background, which we'll be killing soon.  The two dark spots aren't actually dust -- it's a bug on the lens that changed positions partway through!

Next, I went back to CometAlignment but this time, I used it to subtract the stacked comet image from the single frames to get just the stars.

Next came stacking all of the stars-only images.

After that, I cropped out the darkened edges that were a result of registration, cropping both the stars-only and comet-only images the same using DynamicCrop.  I had both images open, but cropped only one of them (the comet image has deeper edges than the stars one, so it would cover both), then I dragged the New Instance icon into the workspace, applied the process to the comet image, and then clicked and dragged the icon onto the stars image to crop it the same.  

Then it was time to work on the backgrounds.  The PixInsight tutorial leads you through two rounds of DynamicBackgroundExtraction -- the first one to reduce gradients, and the second one to further suppress the dim, streaked stars in the background of the comet-only image leftover from the stacking process.  The first DBE was easy, especially with the absence of stars, which meant I didn't have to check every sample point to make sure it wasn't on a star, I just needed to clear out the ones around the comet.  But after I applied it, the image was still green -- greener, actually!  

I compared settings with the PixInsight tutorial, and they were the same.  But then I checked with the Light Vortex tutorial, and saw that I actually needed to have "Normalize" un-ticked.  After I did that, the background was finally actually subtracted.  

The next step was to do a high-density background subtraction to eliminate the leftover stars in the comet-only image.  For this, you want a lot of sample points.  The PixInsight tutorial author's computer could only handle 41 samples per row, so he split his image into three parts for processing.  My desktop is pretty beef-tacular, so I figured it could handle the full 200.  It didn't have much trouble plotting those points or rendering them, although it was a tad slow navigating the image.  I zoomed in and deleted samples around the comet nucleus, since we don't want to kill that.

I hit go and waited.  And waited.  And typed up this update on the blog post.  And waited.  Finally after about an hour, the console window appeared, and it started calculating the 2D surface splines on the first color channel.  It got to 92% and then stopped for a half hour!  I finally killed PixInsight and started it again.  This time I'll just wait.  It might need to be overnight, we'll see.  The first part, which I think is when it's analyzing the sample points, only uses one core of my 4-core hyperthreaded Intel i7 processor ('s time for an update...), but that one core is still at 4.0 GHz.  Next time, when I finally get myself a water cooler, remind me to overclock it!  The next part though -- calculating the splines -- was using almost all of my processing power, which made it hard to use the computer!  

It finally finished, at least two hours later but possibly as long as four, since I stepped away from the desk to make dinner...and I forgot to actually have the correction subtract!  😭😭 I tried subtracting it myself with PixelMath, but it looked terrible.  So I let it run again...

Here's the background:

Wow that is cool!  So much hidden beneath the surface.

[Update December 31, 2018]

I let it run overnight, and here's the result!

Wait that looks the same????  😐 Maybe the stars are deeper in the background now...screen transfer function can be deceptive since it's automatic, so it might be digging deeper into the background.  Guess I'll just keep processing and see what happens!

Next, I went back over to the stars-only image, and realized that I hadn't saved the cropped and DBE'd one I'd made earlier, so I would just have to re-crop the stars image and guess.  Luckily, it doesn't have to be perfect, since the comet is moving anyway.  Hopefully it's close enough.  Then I re-DBE'd the stars-only image.

Then it was time to add the stars and comet images together with PixelMath.  

Well...okay yeah guessing on the crop isn't going to work here either since we still have the ghost stars in the background of the comet image.  *sigh*  All right, time for round three...

I went back and opened up the stars-only and comet-only stacks, cropped them the same with DynamicCrop (and saved those images), and then did a DynamicBackgroundExtraction on the stars-only image (and saved that image as well as the DBE process), and then did the wide DBE on the comet-only image.  For interest's sake, here's the background it extracted from the comet-only image.

Background that was subtracted from the comet-only image.

Now it's time for another high-density DBE to hopefully try and kill the leftover stars in the comet image.  Since I still had stars using the parameters in the PixInsight tutorial, I cut out a small preview window from the whole image so that I could mess with the parameters and see what worked.  With the small preview window, it only took a few seconds to generate the DBE'd image.  

I played around with Tolerance, Shadows Relaxation, and Smoothing Factor in the Model Parameters (1) section, but they all looked more or less the same.  The backgrounds that were subtracted varied a bit in granularity, but the outcome looked pretty equivalent.  I just got the new edition of Warren Keller's Inside PixInsight, which I'm hoping will offer some insight into the parameters of these processes and what they're really doing.  Now that I'm starting to get a good feel for how they work, I want to actually know what they're doing!  Then I can tune the parameters more smartly (is that a word??)

After doing some comparisons, it looked like the PixInsight tutorial's values would reduce the background stars the best, so I might just have to use other means to reduce them further later on.  I went back to the main image, set the settings, and then went and worked on other stuff.

About three hours later, it was finished.

Then I could add the stars and comet images together with PixelMath!

The tutorial instructs doing a deconvolution next with a star mask, so I made one from the stars-only image.

Normally I do this to increase sharpness on a deep sky object and I make a model star, but I figured I'd roll with it and see where it went.

Wow, it was terrible.

I made the stars bigger in the star mask by applying a MorphologicalTransform twice:

It didn't help.  In fact, I think it made these worse!  So I skipped over that part.

Next was helping to reduce the background light with BackgroundNeutralization.  You need to make a preview window that doesn't have any stars so that PixInsight knows what is truly background.  I used the same preview window for running ColorCalibration as well.  

The initial image out of BackgroundNeutralization did appear darker, until I re-applied the ScreenTrasnferFunction, which made it look the same again.  But if I clone it and undo the process (and not re-apply the STF), you can see the difference.

Next came the ColorCalibration, using a new preview window (because a) I deleted the old image with the preview without thinking, and b) shouldn't the background reference be on the now-neutralized image?)

The color of the comet became slightly greener, but that was about it -- DBE can sometimes do a pretty good job of color balancing itself.

I decided it would be a good time to get rid of those little bug spots, so I used CloneStamp.  I hadn't re-done that after starting over, since I figured it'd be better to do it on the combined image anyway.


I got tired of looking at the noise, and the next step in the tutorial was stretching, so I went ahead and applied MultiscaleLinearTransform, which is amazing.  Since there's not really any detail with the comet, I didn't bother to make a mask to protect it like I would any DSO I wanted detail on.  I have a copy of the process saved in my astrophotography folder with settings recommended by the Light Vortex Astronomy tutorial so that I don't have to change the settings over and over again -- very handy!

Woo hoo!  Much cleaner.

Since the stars were kind of green (ColorCalibration never seems to work in my favor), I decided to try my favorite color calibration tool -- PhotometricColorCalibration.  I input the RA and Dec coordinates for where the comet was in the reference frame that night, my focal length and pixel size, and let it run.  The result (even after re-applying the STF) was...waaaaaay off.

Un-did that!!

Next, it was time to stretch.  I hoped I could dark the background enough to hide the streaked stars.  I decided to try the MaskedStretch that the PixInsight tutorial does, using the same settings.  

Mm, gonna give that one a thumbs-down.  Lemme just do this myself.

I really had to clip it deep in the blacks to hide the streaked stars and the halos around the bug spots.

Ha-rumph.  I decided to roll with it, but had another idea brewing...

Next was fixing the green cast with CurvesTransformation.  I like adjusting curves, in both PixInsight and Photoshop -- it's your one-stop shop for color correction, selective brightening/darkening, and saturation adjustment.

Ugh, this was just not working out.  Time for plan B!

So, the comet is bright, and the stars are bright.  The rest is not.  Let's make a mask!  I backed up a few steps to pre-stretching the image.  Applying a STF made it look terrible, even after the MultiscaleLinearTransform.  This dataset is really a mess.

I went to the RangeSelection process, turned on Real-Time Preview, and set the lower limit to reveal the comet.  It was lower than I thought, and it was a very fine line between revealing the comet and revealing the entire image.  I found a value that looked good and hit Apply.  It came out dimmer than the preview, so I stretched it.  It happened to catch most of the stars too, so I didn't need to also make a star mask to add to it.

Now I could apply the mask either for protecting the background or protecting the stars and comet by inverting it.  

Red areas are protected.

You'll notice that the outer halo of the comet is not protected here - it's too close to the background noise, sorry!

So first I had the mask protect the background, and I stretched just the comet and stars.  Then I inverted the mask and just did a tiny stretch on the background so I could keep it dim but not so dark as to look fake.  Much better result!

I think the left corner got a little left out of the mask, but it's too large to crop out.  I'll just leave it, this image is terrible anyway!

Finally, I fixed the colors using CurvesTransformation, and boosted the saturation.  And then I called it quits!!

Date: 9 December 2018
Object: Comet 46P/Wirtanen
RA/Dec at Reference Frame: 03h 13m 16.4s, -00 deg 02' 58.8"
Attempt: 1
Camera: Nikon D5300
Telescope: Nikon 18-55mm lens @ 100mm, f/4.8
Accessories: N/A
Mount: Vixen Polarie
Guide scope: N/A
Guide camera: N/A
Subframes: 94x60s (2h44m)
Gain/ISO: ISO-1600
Stacking program: PixInsight 1.8.5
Stacking method (lights): Average, Winsorized Sigma Clip
Post-Processing program: PixInsight 1.8.5
Darks: 72 (30F)
Biases: 20 (28F)
Flats: 0
Temperature: 29F

In its final battle cry, the TIFF saved out with like additional stretching or something, and Lightroom only lets me import TIFFs and not JPGs for some reason, so I couldn't watermark it.  I'm not happy with it anyway, so who cares!  Haha.

As miraculous as image processing is, sometimes bad data just can't be helped!!  Worth a shot though!