<p>Whatever is causing these tiny artifacts, it isn't astrophysical. The image obtained by ALMA is <strong>monochrome</strong> , i.e. obtained through a single frequency channel (4GHz width at 338 GHz - see <a href="https://arxiv.org/abs/1706.06021" rel="noreferrer">O'Gorman et al. 2017</a>, from where the original image came).</p>

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

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

<p>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).</p>

CC BY-SA 4.0
2020-02-20T07:27:12.837Z
2020-02-20T11:07:29.993Z
2020-02-20T11:07:29.993Z
ProfRob
<p>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.</p>

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

<p>Image breakdown into three color channels:</p>

<p><a href="https://i.sstatic.net/GfZPW.png" rel="noreferrer"><img src="https://i.sstatic.net/GfZPW.png" alt="image breakdown into three colors"></a></p>

<p>Line scans in x and y through center and maximum:</p>

<p><a href="https://i.sstatic.net/lJ0G2.png" rel="noreferrer"><img src="https://i.sstatic.net/lJ0G2.png" alt="enter image description here"></a></p>

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

<p><a href="https://i.sstatic.net/IdNED.png" rel="noreferrer"><img src="https://i.sstatic.net/IdNED.png" alt="enter image description here"></a></p>

<p>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 <a href="https://astronomy.stackexchange.com/q/14952/7982">here</a> as well.</p>

<p><a href="https://i.sstatic.net/INt5X.png" rel="noreferrer"><img src="https://i.sstatic.net/INt5X.png" alt="enter image description here"></a></p>

<pre><code>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()
</code></pre>

CC BY-SA 4.0
2020-02-19T23:20:36.977Z
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: https://www.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!
pid
CC BY-SA 4.0
2020-02-20T00:03:34.777Z
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!
pid
CC BY-SA 4.0
2020-02-20T01:52:25.810Z
@pid okay I see the edit. I'll take a look as soon as I can, thank you!
uhoh
CC BY-SA 4.0
2020-02-20T17:16:49.977Z
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.
pid
CC BY-SA 4.0
2020-02-18T02:46:47.767Z
2020-02-18T02:46:47.767Z
uhoh
<p>First, take the <a href="https://www.eso.org/public/images/potw1726a/" rel="nofollow noreferrer">original Betelgeuse image from ALMA</a> and remove red and green channels. Then boost the blue channel luminosity by x10 to x20 and a lot of detail pops out.</p>

<p><a href="https://i.redd.it/xzr68stcihh41.png" rel="nofollow noreferrer">This is the resulting image that can be reproduced from the original</a>.</p>

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

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

<p>Is there an accepted hypothesis about these artifacts?</p>

<p><strong>EDIT</strong>:</p>

<p>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 <strong>NO ARTIFACTS</strong> on the R and G channels.</p>

<p>This image shows what I mean by "ripples":
<a href="https://i.sstatic.net/f2oE0.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/f2oE0.png" alt="Zooming into the ALMA picture"></a></p>

<p>As a counter-argument to myself I show this more recent picture taken by <a href="https://www.eso.org/public/images/eso2003a/" rel="nofollow noreferrer">SPHERE</a> with similar artifacts. Maybe I should conclude that the high-level structure is <em>real</em> while the low-level structures are artifacts caused by the measuring instrument itself hitting its sensibility levels.</p>

<p><a href="https://i.sstatic.net/gEx4M.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/gEx4M.png" alt="enter image description here"></a></p>

<p>PS: I posted this question also on <a href="https://www.reddit.com/user/pid73/comments/f58ltj/blue_betelgeuse/fhx6euj/" rel="nofollow noreferrer">reddit</a>.</p>

<p><strong>EDIT</strong>: blue channel histogram</p>

<p>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.</p>

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

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

<p><a href="https://i.sstatic.net/XWFL2.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/XWFL2.png" alt="enter image description here"></a></p>

<p>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.</p>

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

<p>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.</p>

<p><a href="https://i.sstatic.net/Ramgs.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Ramgs.png" alt="enter image description here"></a></p>

<p>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.</p>

CC BY-SA 4.0
2020-02-17T13:52:40.213Z
Have you considered those fringes are an artifact of the original imaging...
Rory Alsop
CC BY-SA 4.0
2020-02-17T16:04:53.550Z
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.
pela
CC BY-SA 4.0
2020-02-17T16:10:25.090Z
@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.
pid
CC BY-SA 4.0
2020-02-17T16:17:11.233Z
@pela I tried, the original image data has none of such artifacts in the R and G channels. An analysis of the histogram shows that only very very faint blue pixels present this structure. I agree on the color and the rest, so what are those ripples? I'll upload another image to be clearer about what I mean with "ripples". Has the density of the corona distinct steps? Or are those overlapping shells? Wait a sec, I prepare the new image...
pid
CC BY-SA 4.0
2020-02-17T16:34:50.127Z
@pela Please look at the new picture. Thank you for your time!
pid
CC BY-SA 4.0
2020-02-17T21:30:34.753Z
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.
ProfRob
CC BY-SA 4.0
2020-02-18T10:46:46.147Z
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.
pela
<betelgeuse>
Betelgeuse in false colors, is this common?
pid
# Betelgeuse in false colors, is this common?

(Asked by: username_0 on 2020-02-17)

First, take the [original Betelgeuse image from ALMA](https://www.eso.org/public/images/potw1726a/) 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](https://i.redd.it/xzr68stcihh41.png).

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](https://i.sstatic.net/f2oE0.png)](https://i.sstatic.net/f2oE0.png)

As a counter-argument to myself I show this more recent picture taken by [SPHERE](https://www.eso.org/public/images/eso2003a/) 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](https://i.sstatic.net/gEx4M.png)](https://i.sstatic.net/gEx4M.png)

PS: I posted this question also on [reddit](https://www.reddit.com/user/pid73/comments/f58ltj/blue_betelgeuse/fhx6euj/).

**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](https://i.sstatic.net/XWFL2.png)](https://i.sstatic.net/XWFL2.png)

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](https://i.sstatic.net/Ramgs.png)](https://i.sstatic.net/Ramgs.png)

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.

**Tags:** betelgeuse
> **Comments:**
> **username_1**: Have you considered those fringes are an artifact of the original imaging...  
> **username_2**: 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.  
> **username_0**: @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.  
> **username_0**: @pela I tried, the original image data has none of such artifacts in the R and G channels. An analysis of the histogram shows that only very very faint blue pixels present this structure. I agree on the color and the rest, so what are those ripples? I'll upload another image to be clearer about what I mean with "ripples". Has the density of the corona distinct steps? Or are those overlapping shells? Wait a sec, I prepare the new image...  
> **username_0**: @pela Please look at the new picture. Thank you for your time!  
> **username_3**: 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.  
> **username_2**: 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.  

---

## 2 answers

### Answer by username_4 on 2020-02-18. Score: 8 | Accepted answer

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:

Line scans in x and y through center and maximum:

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

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.

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()

> **Comments:**
> **username_0**: 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: https://www.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!  
> **username_0**: 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!  
> **username_4**: @pid okay I see the edit. I'll take a look as soon as I can, thank you!  
> **username_0**: 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.  

---

### Answer by username_3 on 2020-02-20. Score: 6

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](https://arxiv.org/abs/1706.06021), 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).


---

