2
$\begingroup$

First, take the original Betelgeuse image from ALMA and remove red and green channels. Then boost the blue channel luminosity by x10 to x20 and a lot of detail pops out.

This is the resulting image that can be reproduced from the original.

If you zoom into the picture you'll notice tiny concentric "ripples". Blue shifted light denotes high energy particles (as opposed to red shift).

My hypothesis (I'm not an astonomer!) is that we are seeing background radiation, while the star itself obstructs the background. The ripples would then indicate gravitational bending as those heavy particles cross the super-extended corona of the star.

Is there an accepted hypothesis about these artifacts?

EDIT:

The inner ring of pixel-mess around the black spot is out of gamut and thus "invalid data". The ripples are inside the corona and, finally, the outer parts of the image are relatively uninfluenced background radiation from other objects. There are NO ARTIFACTS on the R and G channels.

This image shows what I mean by "ripples": Zooming into the ALMA picture

As a counter-argument to myself I show this more recent picture taken by SPHERE with similar artifacts. Maybe I should conclude that the high-level structure is real while the low-level structures are artifacts caused by the measuring instrument itself hitting its sensibility levels.

enter image description here

PS: I posted this question also on reddit.

EDIT: blue channel histogram

This is how to see the blue channel color information. I use Krita which is by no means a scientific tool but its immediate usage helps.

Download the image from the ESO source link above (it's the "Full size original" 91.6MB TIFF image).

Then, in Krita, go to "Filter > Adjust > Color Adjustment curves...". On the channel drop-down select "B" and observe the following picture:

enter image description here

I have highlighted with RED the interesting zone. On the background you'll notice there is a histogram and that color information is only present to the far left between the bars. All other intensities (maybe byte value 10 and above?) do not occur in the image.

To the far right there is a barely visible population of "byte value 255 pixels", those are the out-of-gamut pixels.

To see those pixels drag the upper-right corner knob to the left so that the curve is steep from 0 to 255 between the two red bars I've shown. This will magnify intensity by a factor of 10 or 20 and map very dim pixels to brighter blue.

enter image description here

The uploaded image (second link above) is the resulting image of this process. There is NO EXACT SPOT I'm talking about. It is an aura all around the black blob in the middle.

$\endgroup$
7
  • 1
    $\begingroup$ Have you considered those fringes are an artifact of the original imaging... $\endgroup$
    – Rory Alsop
    Feb 17, 2020 at 13:52
  • $\begingroup$ Did you try the same in the other bands? I'm afraid you will see similar patterns. It's just noise, and just because you see some blue light, doesn't necessarily mean that it's blue_shifted_. Like any other massive object, Betelgeuse does cause gravitational deflection, but that far from the star it's unobservable (and wouldn't result on concentric rings, and wouldn't blueshift the light). In fact, because Betelgeuse is so large compared to its mass, the surface gravity is almost two orders of magnitude smaller than that of our Sun. $\endgroup$
    – pela
    Feb 17, 2020 at 16:04
  • $\begingroup$ @RoryAlsop sorry I can't. I have no idea what the limits of the hardware is. As CS I have basic understanding of image processing but I am by no means specialized in this field! I think (but have NO PROOF) that high frequency artifacts (1-3 pixel diameter) may be attributed to noise and image entropy, but lower frequency (4+ pixels) is increasingly less affected by it. $\endgroup$
    – pid
    Feb 17, 2020 at 16:10
  • 3
    $\begingroup$ AFAIK the original image is monochrome. There is no colour information. So any artifacts you see are something to do with how the false colour table has been setup. $\endgroup$
    – ProfRob
    Feb 17, 2020 at 21:30
  • 1
    $\begingroup$ I think your own conclusion is correct, i.e. that the "measuring instrument itself hitting its sensibility levels". The distance between the ripples is much smaller than the resolution of the image, so it cannot be something physical "out there", but must be caused by the instrument. $\endgroup$
    – pela
    Feb 18, 2020 at 10:46

2 Answers 2

8
$\begingroup$

This is a partial and perhaps temporary answer only, posted in order to get to the bottom of this. I think that the comments are correct, you're probably seeing an artifact of image manipulation and the original data is just a 2D intensity map.

I downloaded the original image at https://cdn.eso.org/images/screen/potw1726a.jpg, converted back to .png and analyzed in Python using matplotlib and numpy. Right now I don't see these mysterious rings, but if you can provide pixel coordinates from the original image and explain more how you made the rings visible, that would be great!

Image breakdown into three color channels:

image breakdown into three colors

Line scans in x and y through center and maximum:

enter image description here

Same but multiplied by 256 (8 bits per channel) and plotted on a log scale:

enter image description here

Scatter plot of G and B versus R show that these are correlated. We're probably just looking at artificial coloring from a table, not different channels of data. It could be a similar thing going on here as well.

enter image description here

import numpy as np
import matplotlib.pyplot as plt

fname = 'Betelgeuse in false colors.png'

img = plt.imread(fname)
print(img.shape)

if True:
    plt.figure()
    plt.subplot(2, 2, 1)
    plt.imshow(img)
    plt.title('RGB')
    for i , char in enumerate('RGB'):
        plt.subplot(2, 2, i+2)
        plt.imshow(img[..., i], cmap='gray', vmin=0, vmax=1)
        plt.title(char + ' channel', fontsize=16)
    plt.show()

rgbx_cen = img[640]
rgbx_570 = img[570]

rgby_cen = img[:, 640]
rgby_570 = img[:, 520]

things = rgbx_cen, rgbx_570, rgby_cen, rgby_570
names  = 'rgbx_cen', 'rgbx_570', 'rgby_cen', 'rgby_570'

if True:
    plt.figure()
    for i, (thing, name) in enumerate(zip(things, names)):
        plt.subplot(2, 2, i+1)
        r, g, b = thing.T[:3]
        print(r.shape, g.shape, b.shape)
        plt.plot(r, '-r')
        plt.plot(g, '-g')
        plt.plot(b, '-b')
        plt.title(name, fontsize=16)
    plt.show()

if True:
    plt.figure()
    for i, (thing, name) in enumerate(zip(things, names)):
        plt.subplot(2, 2, i+1)
        r, g, b = thing.T[:3]
        print(r.shape, g.shape, b.shape)
        plt.plot(255*r, '-r')
        plt.plot(255*g, '-g')
        plt.plot(255*b, '-b')
        plt.yscale('log')
        plt.title(name, fontsize=16)
    plt.suptitle('scaled 0 to 255', fontsize=16)
    plt.show()

if True:
    r, g, b = [x.flatten() for x in np.moveaxis(img, 2, 0)[:3, ::8, ::8].copy()]
    plt.figure()
    plt.subplot(1, 2, 1)
    plt.plot(r, g)
    plt.title('green vs. red')
    plt.subplot(1, 2, 2)
    plt.plot(r, b)
    plt.title('blue vs. red')
    plt.show()
$\endgroup$
4
  • $\begingroup$ I just came back from work and don't have time to thoroughly read your answer, but I certainly will very soon! So thank you for the time you took answering. Meanwhile, I repeat the link which is at the very start of my question: eso.org/public/images/potw1726a On this page to right side is the original TIFF image ("Full size original"). I don't link the file itself but the page because of attribution. This should be the original ESO data in a lossless 100MB format. Hope this helps and I'll be back soon! $\endgroup$
    – pid
    Feb 19, 2020 at 23:20
  • $\begingroup$ I added a guide on how to reproduce the image. The source is a 4800x4800 pixel lossless TIFF. I think it is far better than a JPG which would immediately remove such high entropy/low information through compression. If you need more info, I got more info! $\endgroup$
    – pid
    Feb 20, 2020 at 0:03
  • $\begingroup$ @pid okay I see the edit. I'll take a look as soon as I can, thank you! $\endgroup$
    – uhoh
    Feb 20, 2020 at 1:52
  • 1
    $\begingroup$ I accept this answer because the B channel shows that the image I used has defects. Probably it's just a float/int or 16>8 bit conversion error. $\endgroup$
    – pid
    Feb 20, 2020 at 17:16
6
$\begingroup$

Whatever is causing these tiny artifacts, it isn't astrophysical. The image obtained by ALMA is monochrome , i.e. obtained through a single frequency channel (4GHz width at 338 GHz - see O'Gorman et al. 2017, from where the original image came).

The intensity map has then been colourised using a colour table, for public consumption.

To establish any spatial structure, you should throw away any colour information and look at the total intensity.

There is real structure there, most likely to do with variations in the temperature and density structure in the outer atmosphere of the star. Any real structure does not have sharp edges, or fine detail, because any detail is blurred by the spatial resolution, which has a width of about 20% of the disk of the star (i.e. the disk is effectively sampled by about 5x5 independent brightness measurements).

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .