<p>That looks like a fixed-pattern noise to me.</p>
<p>Fixed pattern noise is a common sensor artefact for CCD sensors, One source for this is where you have less analog - digital converters (ADC) than pixels. Say, you have N ADC, each with its own sensitivity. Then you have in the resulting image a sensitivity pattern which repeats every N pixels. Depending on whether N is identical or not with the width or height of the image, the fixed-pattern noise results in inclined or exactly vertical or horizontal patterns. You might have a somewhat rectangular repitition, if you have several set of sets of ADC which start at different rows etc... all depending on exact electronic implementation</p>

CC BY-SA 4.0
2020-09-07T07:58:12.013Z
Oh I see, if there are 21 columns and 20 ADCs for example, then there could be say a few degree tilt.
uhoh
CC BY-SA 4.0
2020-09-07T07:11:01.970Z
2020-09-07T07:11:01.970Z
planetmaker
<p>I agree that it’s noise in a fixed pattern, but I think it’s unlikely to be related to ADC sensitivity.  Typically if you have multiple ADCs, they read out blocks of the sensor (e.g. one on each corner to read out a quadrant). And sensitivity differences across those amplifiers usually is removed pretty well by flat-fielding.</p>
<p>In my experience, you get things like this from time-variable electronic noise, e.g. 60 Hz noise from surrounding equipment.  (Probably the electronics are well-shielded from 60 Hz because it’s so ubiquitous, but there could be noise at other frequencies.)</p>
<p>Because CCD pixels are read out sequentially (e.g. the classic <a href="https://faculty.virginia.edu/ASTR3130/lectures/detectors/detectors_readout.html" rel="noreferrer">bucket brigade analogy</a>), then any time-variable noise source that slightly changes a pixel value will manifest itself as a <em>spatially varying</em> pattern, where the exact pattern depends on the relationship of the readout frequency to the noise frequency.  You see the diagonal stripes because the noise signal wasn’t quite at the same phase when pixel 1 of row 2 was read out as it was when pixel 1 of row 1 was read out, and so on.</p>
<p>(Extra points for including an actual image of corduroy in your question, BTW.  )</p>

CC BY-SA 4.0
2020-09-07T15:19:31.087Z
Thanks for the extra points! I'm thinking that a group of adjacent rows would start clocking out their first pixels at the same time. Any thoughts on what would cause a staggering in starts?
uhoh
CC BY-SA 4.0
2020-09-07T17:21:26.193Z
Ah, I see what you’re saying.  Yes, depending on how the serial register is oriented, two adjacent pixels in the image will be read either sequentially or separated by N reads, where N is the length of one side of the part of the array that that readout amplifier is processing.  But either way, they are read at different times, so the overall idea holds - the time-varying noise can change between reads.  (In the geometry you’re describing, they would clock onto the serial/readout row at the same time, but then would be transferred down it sequentially and read one after the other.)
Eric Jensen
CC BY-SA 4.0
2020-09-07T17:31:16.850Z
[The description of the ZTF data](https://www.ztf.caltech.edu/page/dr1) says that each of the 16 CCDs is divided into 4 quadrants, and links to [this image](http://web.ipac.caltech.edu/staff/fmasci/ztf/ztf_focal_plane.jpg). Each quadrant is [3000^2 pixels](https://iopscience.iop.org/article/10.1088/1538-3873/aae8ac/meta#paspaae8acs2) that is read by a single amplifier.
Eric Jensen
CC BY-SA 4.0
2020-09-08T00:57:46.757Z
Okay I have a better picture now, *thanks!*
uhoh
CC BY-SA 4.0
2020-09-07T15:06:07.327Z
2020-09-07T15:06:07.327Z
Eric Jensen
<p>The news item <a href="https://www.rfi.fr/en/wires/20200819-small-asteroid-becomes-closest-ever-seen-passing-earth-nasa" rel="noreferrer">Small asteroid becomes closest ever seen passing Earth: NASA</a> contains a &quot;handout image&quot; with the caption:</p>
<blockquote>
<p>This NASA/JPL/ZTF/Caltech Optical Observatories handout image obtained on August 18, 2020 shows asteroid 2020 QG (the circled streak in the center), which came closer to Earth than any other nonimpacting asteroid on record NASA/JPL-CALTECH/AFP</p>
</blockquote>
<p><strong>Question:</strong> I saw what looks like a <a href="https://en.wikipedia.org/wiki/Corduroy" rel="noreferrer">corduroy</a>-like pattern in the background that is likely from some processing artifact. Does anybody recognize this kind of artifact? Does it look familiar?</p>
<hr />
<p><a href="https://i.sstatic.net/NjhET.jpg" rel="noreferrer"><img src="https://i.sstatic.net/NjhET.jpg" alt="NASA/JPL/ZTF/Caltech Optical Observatories handout image obtained on August 18, 2020 shows asteroid 2020 QG (the circled streak in the center), which came closer to Earth than any other nonimpacting asteroid on record NASA/JPL-CALTECH/AFP" /></a></p>
<p><strong>above:</strong> NASA image from linked article. <strong>below:</strong> Corduroy <a href="https://en.wikipedia.org/wiki/File:Cord_1.jpg" rel="noreferrer">source</a>.</p>
<p><a href="https://i.sstatic.net/DoPVI.jpg" rel="noreferrer"><img src="https://i.sstatic.net/DoPVI.jpg" alt="corduroy fabric from https://en.wikipedia.org/wiki/File:Cord_1.jpg" /></a></p>
<hr />
<p>Fourier analysis (log power) of the image of the asteroid, the two spots demonstrating the strong linear periodic modulation of the background.</p>
<p>Concentric rings were seen when analyzing only the red part of the initial annotated image. Now that I average all three colors they are almost gone. The inclined line in the FT is probably that of the bright, straight linear trail of the asteroid.</p>
<p><a href="https://i.sstatic.net/boxAB.png" rel="noreferrer"><img src="https://i.sstatic.net/boxAB.png" alt="Fourier analysis (log power) of the image of the asteroid, the two spots demonstrating the strong linear periodic modulation of the background." /></a></p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt

fname = '424852de3808b4d6df1101d3b4f0790afd3b9d13.png'

img = plt.imread(fname)[..., :3].sum(axis=2) # sum 3 colors makes red circle gray to minimize impact on FFT

print(img.shape)

f = np.fft.fftshift(np.fft.fft2(img))
p = np.abs(f)**2

plt.figure()
c0, c1 = [int(s*2**-1) for s in p.shape]
hw0, hw1 = [int(s*2**-3) for s in p.shape]
plt.imshow(np.log10(p[c0-hw0:c0+hw0, c1-hw1:c1+hw1]), vmin=5, vmax=8)
plt.gca().set_aspect(16/9)
plt.colorbar()
plt.title('log10(ft power)')
plt.show()
</code></pre>

CC BY-SA 4.0
2020-09-07T02:10:06.010Z
slightly related: [Fastest recorded apparent motion of a comet or asteroid seen from Earth (degrees/day)?](https://astronomy.stackexchange.com/q/33697/7982)
uhoh
CC BY-SA 4.0
2020-09-07T05:24:53.663Z
Looks like fixed pattern noise, a common sensor artifact, usually removed via dark frame reduction
planetmaker
CC BY-SA 4.0
2020-09-07T06:51:38.397Z
@planetmaker thanks, that sound like a generic term, any thoughts on what could produce such a periodic, 1D yet slightly inclined pattern like this? I've seen something similar in Atomic Force Microscopy and in that case it was caused by AC noise picked up by the amplifier. I suppose some AC noise in the CCD readout could cause this as well, but maybe there are other sources for periodic, inclined lines like this as well. I say inclined but we don't know for sure unless the original image can be found.
uhoh
CC BY-SA 4.0
2020-09-07T07:00:26.427Z
There's no AC current involved in CCD sensors. Yet often there are less analog-digital-converters (ADC) than pixels, so every n-th pixel always gets assigned the same ADC converter. If the N different ADC converters work at different effiency, the result is a pattern like the image shows, which repeats every N pixels. If N is different from a line of pixels, the lines are inclined and not perfectly vertical or horizontal.
planetmaker
CC BY-SA 4.0
2020-09-07T07:54:15.413Z
@planetmaker ya but pickup of AC external signals (i.e. noise, interference) can happen to even a well-built system :-) https://media.wired.com/photos/5b8068449dd8353d172382ad/master/w_1600%2Cc_limit/fast-600030292.jpg but I like [your explanation](https://astronomy.stackexchange.com/a/38759/7982) better.
uhoh
<observational-astronomy><asteroids><photography><image-processing>
Why does the background noise in this image of 2020 QG look like corduroy?
uhoh
# Why does the background noise in this image of 2020 QG look like corduroy?

(Asked by: username_0 on 2020-09-07)

The news item Small asteroid becomes closest ever seen passing Earth: NASA contains a "handout image" with the caption:

This NASA/JPL/ZTF/Caltech Optical Observatories handout image obtained on August 18, 2020 shows asteroid 2020 QG (the circled streak in the center), which came closer to Earth than any other nonimpacting asteroid on record NASA/JPL-CALTECH/AFP

Question: I saw what looks like a corduroy-like pattern in the background that is likely from some processing artifact. Does anybody recognize this kind of artifact? Does it look familiar?


above: NASA image from linked article. below: Corduroy source.


Fourier analysis (log power) of the image of the asteroid, the two spots demonstrating the strong linear periodic modulation of the background.
Concentric rings were seen when analyzing only the red part of the initial annotated image. Now that I average all three colors they are almost gone. The inclined line in the FT is probably that of the bright, straight linear trail of the asteroid.

import numpy as np
import matplotlib.pyplot as plt

fname = '424852de3808b4d6df1101d3b4f0790afd3b9d13.png'

img = plt.imread(fname)[..., :3].sum(axis=2) # sum 3 colors makes red circle gray to minimize impact on FFT

print(img.shape)

f = np.fft.fftshift(np.fft.fft2(img))
p = np.abs(f)**2

plt.figure()
c0, c1 = [int(s*2**-1) for s in p.shape]
hw0, hw1 = [int(s*2**-3) for s in p.shape]
plt.imshow(np.log10(p[c0-hw0:c0+hw0, c1-hw1:c1+hw1]), vmin=5, vmax=8)
plt.gca().set_aspect(16/9)
plt.colorbar()
plt.title('log10(ft power)')
plt.show()

**Tags:** observational-astronomy, asteroids, photography, image-processing
> **Comments:**
> **username_0**: slightly related: [Fastest recorded apparent motion of a comet or asteroid seen from Earth (degrees/day)?](https://astronomy.stackexchange.com/q/33697/7982)  
> **username_1**: Looks like fixed pattern noise, a common sensor artifact, usually removed via dark frame reduction  
> **username_0**: @planetmaker thanks, that sound like a generic term, any thoughts on what could produce such a periodic, 1D yet slightly inclined pattern like this? I've seen something similar in Atomic Force Microscopy and in that case it was caused by AC noise picked up by the amplifier. I suppose some AC noise in the CCD readout could cause this as well, but maybe there are other sources for periodic, inclined lines like this as well. I say inclined but we don't know for sure unless the original image can be found.  
> **username_1**: There's no AC current involved in CCD sensors. Yet often there are less analog-digital-converters (ADC) than pixels, so every n-th pixel always gets assigned the same ADC converter. If the N different ADC converters work at different effiency, the result is a pattern like the image shows, which repeats every N pixels. If N is different from a line of pixels, the lines are inclined and not perfectly vertical or horizontal.  
> **username_0**: @planetmaker ya but pickup of AC external signals (i.e. noise, interference) can happen to even a well-built system :-) https://media.wired.com/photos/5b8068449dd8353d172382ad/master/w_1600%2Cc_limit/fast-600030292.jpg but I like [your explanation](https://astronomy.stackexchange.com/a/38759/7982) better.  

---

## 2 answers

### Answer by username_2 on 2020-09-07. Score: 8 | Accepted answer

I agree that it’s noise in a fixed pattern, but I think it’s unlikely to be related to ADC sensitivity. Typically if you have multiple ADCs, they read out blocks of the sensor (e.g. one on each corner to read out a quadrant). And sensitivity differences across those amplifiers usually is removed pretty well by flat-fielding.

In my experience, you get things like this from time-variable electronic noise, e.g. 60 Hz noise from surrounding equipment. (Probably the electronics are well-shielded from 60 Hz because it’s so ubiquitous, but there could be noise at other frequencies.)

Because CCD pixels are read out sequentially (e.g. the classic [bucket brigade analogy](https://faculty.virginia.edu/ASTR3130/lectures/detectors/detectors_readout.html)), then any time-variable noise source that slightly changes a pixel value will manifest itself as a *spatially varying* pattern, where the exact pattern depends on the relationship of the readout frequency to the noise frequency. You see the diagonal stripes because the noise signal wasn’t quite at the same phase when pixel 1 of row 2 was read out as it was when pixel 1 of row 1 was read out, and so on.

(Extra points for including an actual image of corduroy in your question, BTW. )

> **Comments:**
> **username_0**: Thanks for the extra points! I'm thinking that a group of adjacent rows would start clocking out their first pixels at the same time. Any thoughts on what would cause a staggering in starts?  
> **username_2**: Ah, I see what you’re saying.  Yes, depending on how the serial register is oriented, two adjacent pixels in the image will be read either sequentially or separated by N reads, where N is the length of one side of the part of the array that that readout amplifier is processing.  But either way, they are read at different times, so the overall idea holds - the time-varying noise can change between reads.  (In the geometry you’re describing, they would clock onto the serial/readout row at the same time, but then would be transferred down it sequentially and read one after the other.)  
> **username_2**: [The description of the ZTF data](https://www.ztf.caltech.edu/page/dr1) says that each of the 16 CCDs is divided into 4 quadrants, and links to [this image](http://web.ipac.caltech.edu/staff/fmasci/ztf/ztf_focal_plane.jpg). Each quadrant is [3000^2 pixels](https://iopscience.iop.org/article/10.1088/1538-3873/aae8ac/meta#paspaae8acs2) that is read by a single amplifier.  
> **username_0**: Okay I have a better picture now, *thanks!*  

---

### Answer by username_1 on 2020-09-07. Score: 6

That looks like a fixed-pattern noise to me.

Fixed pattern noise is a common sensor artefact for CCD sensors, One source for this is where you have less analog - digital converters (ADC) than pixels. Say, you have N ADC, each with its own sensitivity. Then you have in the resulting image a sensitivity pattern which repeats every N pixels. Depending on whether N is identical or not with the width or height of the image, the fixed-pattern noise results in inclined or exactly vertical or horizontal patterns. You might have a somewhat rectangular repitition, if you have several set of sets of ADC which start at different rows etc... all depending on exact electronic implementation

> **Comments:**
> **username_0**: Oh I see, if there are 21 columns and 20 ADCs for example, then there could be say a few degree tilt.  

---

