Author Topic: Observatory 1.2 arrives with enhanced image processing  (Read 4706 times)

Sander Berents

  • Global Moderator
  • Full Member
  • *****
  • Posts: 172
    • Code Obsession
Observatory 1.2 arrives with enhanced image processing
« on: January 23, 2018, 09:24:59 PM »
We have just released an update to Observatory. It enhances its nondestructive preprocessing workflow and adds eight new adjustments:
  • Cosmetic Correction – Identify or correct hot and cold pixels in your image.
  • Flatten Background – Reduce or eliminate gradients caused by instrumental vignetting or light pollution.
  • Chromatic Align – Counter the effects of atmospheric dispersion by aligning the channels of an RGB image.
  • Background Neutralization – Equalize the red, green and blue components of an RGB image to yield a neutral gray rendition of the sky background.
  • Color Balance – Adjust the white balance of an RGB image.
  • Debayer – Convert a Bayer-encoded grayscale image to an RGB image.
  • Grayscale – Convert an RGB image into a grayscale image.
  • RGB – Convert a grayscale image into an RGB image.

All of these adjustments work without the hassle of intermediate files.

Chromatic Align

Other improvements and changes
  • There’s a new “Copy Pick Adjustments…” command to help you apply adjustments in a stack more quickly.
  • Quick Look plugin now automatically debayers images when needed.
  • Virtual Observatory adds support for the SkyMapper Southern Sky Survey archive.

The SkyMapper telescope sits under the Milky Way, by James Gilbert

Full release notes here.
Observatory is available from the Mac App Store.

Sander Berents
Code Obsession, LLC

Sander Berents

  • Global Moderator
  • Full Member
  • *****
  • Posts: 172
    • Code Obsession
Re: Observatory 1.2 arrives with enhanced image processing
« Reply #1 on: January 23, 2018, 09:46:43 PM »
Since this forum was set up in response to this thread on Cloudy Nights, here the part that followed the above post:

Very nice, I can't wait to try some of the new features. I would love to see a simple workflow that explains, importing, stacking, alignment/calibration, and updating image data across all the images of a set. I know some of this exists on the help website, but it would be nice to see it as a single workflow of how to work with the program. After owning it for a year, I still feel a little lost, and seem to be only able to get a few of the functions to work. But I think it stems specifically from not understanding the proper workflow to use with the application and my images.

Did you check the Getting Started article and image stacking video on the website? The videos quickly get outdated because new features are added all the time, but I would have thought it shows a typical workflow. Relevant changes since this video was made are

  • You can now also rename image versions directly in the browser, similar to how that works in Finder. A benefit of changing it in the inspector is that there you can also change metadata for multiple images at once.
  • You cannot reorder adjustments anymore. Observatory takes care of applying them in the correct order. One less worry for you.
  • There's a new “Copy Pick Adjustments…” command that may speed up processing images before stacking them.
  • There are many new adjustments, including one for debayering, which you need to use for the light frames of your color camera.

You are not alone in having trouble understanding the proper workflow for processing images with Observatory. This may be because Observatory's approach is very different.
Other image processing applications generally work like this:

  • You open one or more images.
  • You process each or all.
  • You save the result(s) under a different name.
Or, for some processing steps, they work like this:
  • You select the process you wish you apply.
  • You select the images or a folder with the images.
  • You select a folder for the output images.
  • You execute the task.
  • The output folder has the processed images.
  • You will use that output folder or its images as input for the next step.

Often it is a mix of these two approaches.
Observatory is at its core an image management application. When you create an Observatory library document with it (you can have many), that document will contain the references to the images you "import". These images do not have to reside in a single folder, but can be all over your disk, or even spread over multiple disks. Observatory stores the metadata of these images in such library (e.g. exposure date, duration, etc), but not the actual image itself.
When you select one or more images in Observatory, it will starting loading them in memory so they can be displayed, and it will display the normalized metadata. You can edit this metadata, also in bulk, and it will only affect what is stored in the library. Observatory will never alter your source images.
How you process an image in Observatory is by enabling "adjustments". Similar to for example Apple's Photos, none of these adjustments are destructive. The original image is never altered. Adjustments act like a recipe, and are in-memory only. You can change adjustment parameters, and Observatory will automatically recompute it all and display the resulting image. Most of the adjustments (e.g. calibration, cosmetic correction, debayering, flatten background, stacking, etc), are capable of doing the heavy lifting on the GPU, but Observatory still needs a few more additional enhancements to make that really fly (also, only use that option if you have a machine with at least two GPUs). On a CPU they will use all available cores and are very fast, but there too there is still room for optimizations.
There are a few things that may confuse some users:

  • You can only stack images that are part of an album. You can have many stacks in an album of course. In other words, images in the Inbox can only be stacked if you move them into an album.
  • If you have created a stack, the only way to apply adjustments to the single resulting image, is by taking a snapshot of it, by choosing Image ▸ New ▸ Master. This limitation may be lifted in the future.
  • If you have created a stack of calibration frames, and you want to use that as a master calibration frame, you also need to create a snapshot of it, which you then move to one of the calibration folders.
  • To make master calibration frames show up in the Calibrate adjustment, they must be in one of the calibration folders, and they must have matching metadata. E.g. If you have a master dark @ -20C, then it will not show up in the Calibrate adjustment for a -10C light frame. Make sure the master calibration frame's metadata is set correctly before moving it to the calibration folder (while they are in that folder they are read-only, but you can always move it out to change anything).
  • Stacking just does that, it stacks images. It doesn't register them by itself. New users may think stacking is broken because they select their light frames, then choose Stack, and expect it have have registered the images as well.

What you need to do, is opening the stack (Focus on Stack), select all its images (choose ... button), and apply adjustments to the source images. An approach I often follow is:

  • Focus on stack
  • Select all its images (... button)
  • Select play button to blink them. If your stack is large, Observatory may still be busy reading images so it can be a bit choppy initially. Pause and choose the Stack ▸ Reject command for images that are of poor quality.
  • I usually then select all rejected ones and choose Image ▸ Move to Trash. That keeps it organized. Alternatively you could choose View ▸ Hide Rejected. Keep in mind, Observatory never alters or removes your source images. They are only in the Trash of the library if you choose Move to Trash, not the Trash of your Mac itself. If you want the latter, then choose Image ▸ Show Master in Finder to quickly select them in the Finder, where you then can Trash them.
  • Select the pick image (checkmark button). By default the pick image is the oldest image of a stack, because Observatory assumes your focus was best when you started a set. If a different one in your set is better, select it and choose Stack ▸ Pick.
  • Select the Pick.
  • Now apply all the adjustments you wish to this Pick and tweak them until you are happy. Calibrate, remove hot pixels with Cosmetic Correction, debayer if needed, flatten the background, etc. Also, enable Align (register). Aligning the Pick has no effect, because that adjustment aligns an image with the Pick, but the reason will be clear in the next step. You may need to adjust the black/white points with the histogram action menu to see the improvements.
  • Now, being all satisfied with your adjusted Pick image, select all images in the stack (... button), and choose Layer ▸ Copy Pick Adjustments. This will copy the adjustments you just set for the pick image to all the other images in the stack. This includes the Align adjustment, so those other images will then be registered with the Pick.
  • Now wait for the images to get updated. You can also already choose the stack image (the stack button), to see the progress indicator. Depending on the size of your images, the number and kind of adjustments, the number of images, channels, your machine's speed and memory, this can take anywhere from a few seconds to an hour. To maximize the speed, put your images on an SSD and max out your machine's RAM.
  • Inspect the effects of the adjustments on the individual images by selecting them all and then clicking the Play button.
  • When it's all done, create a snapshot of the stack by clicking the stack button and choosing Image ▸ New ▸ Master. If you then unfocus the stack, you will see that master image in the browser.

Other important points:

  • Like adjustments, stacks are nondestructive. It's all in-memory. If you just created a stack, and switch to another album to do something else, Observatory may clean up the memory. If you then go back to that original stack, it will need to be recreated again. You don't need to add all the adjustments again of course, that's all stored. But the actual computations need to be done again. That's why you want to create snapshots.
  • While you are busy adjusting images, it may sometimes happen that Observatory is still busy with a previous task that takes a long time to finish. You can just click the Stop Tasks button in the toolbar if you don't want to wait for that.
  • You can of course tweak settings for individual images in your stack if you wish.
  • If you see strange image registering effects, then please contact us. We are improving this feature, and could use many more images for our test cases, preferably obtained with a wide range of equipment.

btw, I am considering setting up a discussion forum on the Observatory website. I think that would be a better place to discuss it. What do you think?

This is all extremely helpful. I’ll have to apply some of what I learned here in the coming nights. I think a discussion group on the site might benefit your users more than it would here on this board where people would miss discussions due to the size and varied topics on CN.

I'll set it up.
Two more things:

  • The latest release (1.2) also adds automatic debayering and background neutralization for FITS & XISF images in the Quick Look plugin. The thumbnails and previews of OSC images will look a lot better now in Finder.
  • Instead of adjusting images while stacking them, you can also do that before or without stacking them of course. So if you import light images of your ASI1600MC-Cool camera, the first thing you may want to do is select them all and apply the debayering and background neutralization adjustments to them. Later you can decide to calibrate them and remove hot pixels, and Observatory will automatically apply all that in the correct order, i.e., not debayer+background neutralization+calibration+cosmetic correction, but calibration+cosmetic correction+debayer+background neutralization (and cosmetic correction automatically takes into account that you are using an OSC camera).
Sander Berents
Code Obsession, LLC