Tomoe Note 005: A first simple search for transients

Michael Richmond
Apr 24, 2017

I started investigating methods to find transient sources in the output of the pipeline. One can divide such methods into two main groups, based on the starting point:

This note discusses a method which falls in the first category: it is based on ensemble output. I have not (yet) created a method of the second type.


The conditions for a transient

The following are the conditions an object must meet in order to be classified as a "transient" by my software. Most of the following tests include parameters than may easily be changed; running the tests on the pipeline output takes only a minute or so for a full night's measurements of one chip, so one can quickly change a test and see the results.

First, a quick list of tests; then, we'll explain each one.

  1. star_cut
  2. min_det, max_det
  3. max_mag
  4. window of detections
  5. min_permitted_distance
  6. border_width

Okay, let's go over each test in some detail.

  1. the object must be included in the ensemble, which means it must appear in the chunk at least star_cut times. At the current time, star_cut = 2.
  2. an object must appear a certain number of times:
    
               min_det ≤  number of detections  ≤ max_det
      
    At the moment, min_det = 3 and max_det = 20.
  3. the ensemble magnitude (roughly speaking, the average magnitude) of the object must be brighter than a specific value, based on the limiting magnitude of the current chunk.
    
                  ensemble mag  ≤   limiting_mag + mag_extra
      
    At the moment, mag_extra = 0.5
  4. all the detections of the object must fall within a "window" of time. The "window" can be set to force all detections to be consecutive, or it can allow the object to be absent from some images between detections.

    An example will make the following discussion clear. Suppose that a faint object appears in some of a set of 10 images:

    
                  image index    1   2   3   4   5   6   7   8   9  10
                                ---------------------------------------
               object appears   no  no  yes yes no  yes no  yes no  no
      

    In this example, the object appears in 4 images, spread out over a span of 6 images (starting in 3, ending in 8).

    We can define this idea as follows:

    
                  let   first_det   =  image index of first detection
                  let   last_det    =  image index of last detection
    
                       this_window  =  (last_det - first_det) + 1
      
    So in this case, this_window = 6.

    We then define

    
                        max_window  =  number_of_detections  +  window_extra
      

    and then set a condition for transients:

    
                        this_window   ≤   max_window
      

    In this case, the object is detected 4 times. If we set window_extra = 0, that means that all of the detections must be consecutive. That would cause this object to fail the test.

    On the other hand, if we set window_extra = 3, we allow the object to be undetected in up to 3 images interspersed with the detections. In this case, that would yield the condition

    
                       (this_window  = 6)   ≤  (max_window = 4 + 3 = 7)
      

    and so this candidate would pass the test and be counted as a transient.

  5. the object must be located at certain minimum distance (in pixels) away from the nearest neighbor in the ensemble output.
    
                  closest_neightbor   ≥   min_permitted_distance
      
    At the moment, min_permitted_distance = 5.0
  6. the object must be located a certain distance away from the very edges of the image; otherwise, a real object which is a few pixels away from the edge most of the time (and so not detected by the star-finding algorithm) may be carried by turbulence or a drifting telescope position just a small distance, into the detection area.
    
                  distance from border   ≥   border_width
      
    At the moment, border_width = 10

    Since each image has an active, on-sky area which is roughly 1140-by-2008 pixels, this small region around the edge is only a tiny fraction of the area of each image. With the current values, roughly 1/36 = 0.027 of each image is discarded.


Results of transient search on one night, one chip

I ran the pipeline on all images taken with chip 0, on the night of 2016 Apr 11 = 20160411. The images cover the following range:


    TMPM 0108830       starting JD   2457489.999       

    TMPM 0110880       ending   JD   2457490.247

Thus, roughly 0.25 of a day, or about 6 hours. Some chunks of data (each chunk is about 3 minutes) have few or no good images, so the total "good" observational duration is somewhat less.

Using the tests described above, with the conditions

  1. star_cut = 2
  2. (min_det = 3) ≤ num_det ≤ (max_det = 20)
  3. max_mag = limiting_mag + 0.5
  4. window_extra = 3
  5. min_permitted_distance = 5 pixels
  6. border_width = 10 pixels

I found a total of one (1) candidate. Below is some information about this candidate, which is computed automatically by the transient-finding routine.



  chunk   0109870       RA = 192.45738   Dec = -16.38340

          mag = 15.924   

          ndet = 3
          first appears in image index 120
          last  appears in image index 122
     

This appears to be coincident with USNO-B1.0 0736-0258873, a star with mag B = 16.7, R = 15.5. So, clearly, a non-transient source. The agreement between the pipeline's measurement of magnitude and that suggested by USNO B1.0 is nice.

Below are images of the object, starting in image 119 (one frame BEFORE the first detection) and ending in image 123 (one frame AFTER the last detection).

As you can see, this is a real star, which is present both before the first detection by the pipeline, and after the last detection by the pipeline. It appears to me that either cosmic rays, a hot pixel, or three consecutive noise peaks caused the object to become just bright enough to exceed the threshold for detection on three consecutive images.


Lessons learned

I tried changing the parameter min_det from 3 to 2. The number of transient candidates increased from 1 to 112! What happened?

It turned out that in one of the chunks during this run, chunk 0109290, contains just two good images. That means that every ordinary star detected in that chunk has exactly 2 detections. Hence, all the ordinary stars were flagged as "transients" in that chunk.

Whoops.