Manual Operation
How to manually operate your PANOPTES unit to take custom pictures.
Last updated
How to manually operate your PANOPTES unit to take custom pictures.
Last updated
WIP: PEAS is not used anymore.
This document provides advice and a general outline on how to conduct manual observations of interesting targets with your PANOPTES unit for fun, outside of its default survey mode in POCS. Note that the default survey mode, described in the POCS Automated Operation Guide, would be a good prerequisite step for testing newly-deployed units.
With a rather large 10° by 15° field of view, PANOPTES units have photographed everything from bright galaxies, nebulae, star clusters, the Milky Way, and even comets! The celestial coordinates for your targets (Right Ascension, abbreviated as RA or α, and Declination, abbreviated as DEC or δ) can be obtained through an astronomical almanac, star charts, or an astronomy app.
Note that solar system planets might not be as ideal targets for PANOPTES units, because the large field of view doesn’t offer the magnification necessary to resolve any detail (ie. the rings of Saturn or the cloud patterns on Jupiter). Also note that in POCS, it isn’t currently possible to photograph the Sun (which would require solar filters to protect the camera detectors) or the Moon, as by default POCS has been programmed to avoid these targets.
- your unit can also observe known exoplanet transits!
- learn how to pick transits: see Using the Swarthmore Transit Finder in the Appendix
Consider observing transits with the following:
Once you have a target in mind, quickly run through a checklist similar to the following to get set up before observing.
Because the Moon can drastically brighten the night sky, be aware of its current phase (which also determines the time it rises and sets). You can use an online calendar (such as the Lunar Calendar at timeanddate.com/moon/phases) to check this. Depending on how close the Moon is to full, you may have to compensate for extra brightness in your camera’s exposure length later.
It can also be helpful to view an hourly forecast of the night’s weather beforehand, to help you plan your time accordingly. Note that weather.com offers hourly forecasts based on location for many parts of the world. Additionally, if your unit is located nearby an observatory, it’s possible that it has its own weather station or cloud cover webcams that update online.
(This step is optional.) You can use a program like Stellarium (stellarium.org) or iObserve (apps.apple.com/app/iobserve/id424693907) to watch the path your target traces in the sky over time. This will help you get an idea for which part of the sky the target is in, and see how close it is to the Moon.
Set up a custom scheduler file for your target(s): in a terminal window on the NUC, change directory to the scheduler directory (at $POCS/resources/targets), then create a new .yaml file using the following scheme to specify observation parameters for each target.
Tip: in the scheduler .yaml file, use a hyphen (-) on a new line in front of each new target, and hit Tab in front of each parameter to indent it properly.
- add some tips for observing from a light-polluted area (ie. city)
- include illustrative comparison between good and bad sky darkness (ie.
mauna loa vs. pasadena)
- camera settings
- approx magnitude ranges
In the pocs_local.yaml configuration file under scheduler, change the fields_file from the survey mode target list to the filename of your new scheduler file, from the previous step.
Make sure to also enable the setting for POCS to follow changes to the scheduler file so that you can tweak parameters, such as exposure time, while observing: under scheduler, set check_file to true.
After editing the config file, restart the config server: docker restart config-server
A high-level description for starting and fine-tuning observations follows, with links to relevant sections from the POCS Automated Operation Guide and Appendix for further instructions. Sample log file excerpts are also included to help you know what to expect and easily recognize important messages.
Start PEAS, and optionally check that the last readings from the camera board and weather station look OK – see Starting PEAS Shell for all commands.
Then start POCS if it’s not already running, or if it hasn’t been restarted since changing the scheduler filename in pocs_local.yaml – see Starting POCS Shell.
Make sure to have both PEAS and POCS log files visible, as you will need to monitor them for errors now and while you observe.
In the POCS log, check that both cameras were detected after running setup_pocs. For each camera, you’ll see confirmation messages similar to the following as it is connected. (If one or both are not detected, try re-running setup_pocs.)
SAMPLE POCS LOG OUTPUT
D0213 05:03:10.384 camera.py] Camera created: Canon00 (XXXXXX) on usb:001,024
D0213 05:02:52.824 canon_gphoto2.py] Connecting to camera
D0213 05:02:52.846 camera.py] Getting output from proc 133
D0213 05:03:01.305 camera.py] gphoto2 command: ['/usr/local/bin/gphoto2', '--port', 'usb:001,023', '--set-config-index', '/main/action s/viewfinder=1', '--set-config-index
', '/main/capturesettings/autoexposuremode=3', '--set-config-index', '/main/capturesett
ings/continuousaf=0', '--set-config-index', '/main/capturesettings/drivemode=0', '--set
-config-index', '/main/capturesettings/focusmode=0', '--set-config-index', '/main/captu
resettings/shutterspeed=0', '--set-config-index', '/main/imgsettings/imageformat=9', '-
-set-config-index', '/main/imgsettings/imageformatcf=9', '--set-config-index', '/main/i
mgsettings/imageformatsd=9', '--set-config-index', '/main/imgsettings/iso=1', (ETC.)]
NOTE: THAT LONG BLOCK OF TEXT WILL APPEAR IF THE CAMERA CONNECTS SUCCESSFULLY-
KEEP AN EYE OUT FOR IT!
D0213 05:03:10.262 canon_gphoto2.py] Canon00 connected
In POCS, begin observing by doing run_pocs, and follow along what the unit is doing by watching the POCS log file. If anything goes wrong past this point, you can hit Ctrl+C to stop observing and park the unit. (If possible, wait for current exposures to finish before doing so.)
SAMPLE POCS LOG OUTPUT
I0122 05:06:45.901 messaging.py] PANCHAT Ok, I'm all set up and ready to go!
I0122 05:06:50.739 messaging.py] PANCHAT Ok, I'm finding something good to look at…
···
I0213 05:06:52.470 messaging.py] PANCHAT Got it! I'm going to check out: Alderaan
I0213 05:06:57.820 messaging.py] PANCHAT I'm slewing over to the coordinates to track the target.
D0213 05:06:57.821 mount.py] Slewing to target
···
I0213 05:07:25.411 messaging.py] PANCHAT I'm at the target, checking pointing.
I0213 05:07:31.788 messaging.py] PANCHAT Taking pointing picture.
I0213 05:07:32.325 pointing.py] Taking pointing image 1/5 on: Canon01 [Primary] (01abcd) on usb:001,002
D0213 05:07:32.333 camera.py] image_id: PAN000_01abcd_20200213T050732
D0213 05:07:32.334 camera.py] Taking 30.0 s exposure on Canon01: /var/panoptes/images/fields/Alderaan/01abcd/20200213T050652/pointing00.cr2
D0213 05:08:02.893 core.py] Waiting for pointing events: 30 seconds elapsed
As you can see from the log, POCS will start by selecting a target from your scheduler file. Then it’ll slew the mount to that part of the sky, and take a few pointing images using your primary camera. These are short exposures (30 seconds long by default) that POCS analyzes to help very precisely aim the mount at your target.
Once the target coordinates have been perfectly centered in the camera field of view, your unit will start taking the actual photos, following the exposure settings you’ve specified in the scheduler file. Both cameras will take exposures at the same time, of the same field of view.
After the first few images have been taken, you can take a look to make sure the photos are satisfactory. Each exposure will be saved as the 3 following file types:
The original .cr2 image: the Canon raw file format, which saves all exposure data. With regards to astrophotography, raw files are good for artistic image processing in an editing program such as Adobe Lightroom or Photoshop.
A .fits image: a file type commonly used in astronomy and scientific image processing. FITS files will require a specialized program to open (see Checking FITS exposure with DS9 in the Appendix). Note that on the secondary camera, the FITS files will be immediately compressed, with the extension .fits.fz
A .jpeg image: this will have a much smaller file size, and is a good format for posting on the Internet. POCS generates these to have a timestamp and additional information displayed along the bottom of the photo.
The filenames of these photos will be the UTC timestamp at which they were taken.
The photos will all be located on the NUC under
/var/panoptes/images/images/fields/[TARGET NAME]/[CAMERA ID]/ [TIMESTAMPED FOLDER]
where the formatting and capitalization of TARGET NAME will have been determined by POCS, and the TIMESTAMPED FOLDER will be the UTC date that the observation was started.
You can either view the photos directly on the NUC (if you are with the unit and there is a computer monitor connected) or copy them over to your computer using the scp command.
Tip: the scp command goes as follows (run it in a terminal window on your computer)
scp panoptes@[IP ADDRESS]:[NUC FILE PATH] [PATH TO SAVE ON YOUR COMPUTER]
Example: scp panoptes@100.200.300.400:/var/panoptes/images/fields/ Alderaan/345efg/20200213T050652/20200213T051030.jpg ~/Documents/PANOPTES_obs/
(This step is optional.) You can adjust the observation as necessary (ie. increase exposure time if target is too faint) by editing the parameters you’ve set in the scheduler file.
Keep the terminal window open and continue to occasionally check the POCS log file output for observing progress and any errors.
Tip: at this point it may be a good idea to start writing down a short summary of how the observation is going, ie. in an observing log notebook, for your own records. In the future, you can refer to this to keep track of what you’ve observed and plan camera settings, such as which exposure length was optimal for a target of a given magnitude.
Follow these steps when you’re done observing to have your unit resume its automated nightly sky survey operations.
In the pocs_local.yaml configuration file, change the fields_file back to the survey mode target list. Currently, PANOPTES units are set to look at TESS sectors (tess.mit.edu), which are defined in the tess_sectors_north.yaml and tess_sectors_south.yaml files. Set your unit to view the TESS sectors corresponding to its location in the northern or southern hemisphere.
Restart config server afterwards.
Restart POCS.
The online Swarthmore Transit Finder (astro.swarthmore.edu/transits.cgi) makes it easy to search across various databases for stars with known exoplanet transits.
Fill out the form and hit Submit to generate a table of upcoming transits visible from your unit’s location. It may help to narrow down results by setting the following constraints on the form (change as needed based on your location's sky conditions):
Depth
Only show transits with a depth of at least 5 millimag (5 “parts per thousand”, or ppt).
V magnitude
Only show targets brighter than visual magnitude V = 12.
Day/night definition (Under Output format and labeling)
Start night at Sun altitude of −18 degrees (astronomical twilight)
After getting query results back as a table from the Swarthmore site, it can be useful to sort the results by % of transit visible, then local evening date, as shown in the GIF below.
Tip: To view transits with the same constraints at a later date, you can bookmark the results page URL. No need to fill out the form next time!
The following information may be helpful when planning long, time-sensitive observations of known exoplanet transits.
In astronomy, the meridian is defined to be the circle intersecting the zenith at your location (the highest point in the sky, directly overhead) and both celestial poles. In the above animation, the star Sirius crosses the meridian, the line shown in green, as the sky rotates over a few hours. At this point on the meridian, Sirius reaches its highest elevation in the night – after it has risen from the east and is beginning to set in the west.
Similarly, if the target you're observing crosses the meridian, the German Equatorial-style mount that PANOPTES units use will need to swing over and reposition itself to continue tracking that part of the sky. This repositioning of the mount is called a meridian flip. (The photos on this webpage can help you visualize why the mount does this. 🔭)
The POCS scheduler vetoes targets that are going to cross the meridian during the minimum observing window (which is 60 120-second exposures long, by default) because after the mount flips, all the stars being photographed will potentially end up on completely different parts of the camera detector. With Project PANOPTES being an exoplanet survey, this is not ideal for generating transit light curves from the photos later on, because the data before and after the flip should be treated as 2 different observations and will have to be processed separately. So if possible, try to pick targets that either keep rising, or keep decreasing in elevation for as long as you plan to observe, to avoid the need for a flip.
Otherwise, it’s possible to work around the scheduler vetoing the target by shortening the minimum observing window: in the scheduler file, set min_nexp and exp_set_size to be small (ie. 1) for the target. If the target is the only one in the scheduler, it will be observed for as long as possible. However, note that mount tracking errors may occur in POCS, which could interrupt or stop observations altogether. In addition, the scheduler will also re-run more frequently, wasting around 20 seconds of time in between exposure sets.
The following animations demonstrate whether or not a meridian flip is needed for two different targets. The meridian is the vertical line, and the target trail is plotted in orange.
DS9 (ds9.si.edu) is a program that astronomers like to use to view FITS files.
Download DS9 for your operating system at: ds9.si.edu/site/Download.html
Once installed on your computer, click on the FITS file you wish to view. (You may need to right-click select “SAOImageDS9” to be the program to open FITS files by default.)
The following is an example of an observation FITS file opened in DS9.
When you move the cursor around the image, the info in the top left corner (Value/counts, RA/Dec, image xy coordinates) will update.
(Explain WCS)
Also notice that the “counts” value for the stars are higher than those of the surrounding background pixels. The brightness of a pixel on the Canon camera detector is given here in “counts” (as in # of photons recorded). The maximum brightness that can be recorded before the detector becomes saturated is ~13,000 counts. To get count readings for a specific target, go to Analysis > Name Resolution… (second option) and type in the object’s name in the window that comes up. Click the Resolve button, then on the top menu bar, select File > Crosshair To and then File > Pan To. The counts for the star will be in the Value box at the top left of DS9.
For an optimal exposure time, the counts on the main target should be around ~7000, but shouldn’t exceed 10,000. The counts for the background should be as low as possible.
In astronomy, “plate solving” means figuring out which part of the sky your camera was aimed at, using software to find a match between the pattern of stars in your image and existing star catalogs. Astrometry.net (nova.astrometry.net) is a popular online plate solving tool commonly used by astrophotographers, which can output an image’s exact sky coordinates (RA and DEC) and other information, such as any interesting deep sky objects or planets contained in the field of view.
You can upload your images to
Through the web interface, at nova.astrometry.net/upload, you can upload any jpeg/fits/etc photos to plate solve an image of the sky containing stars. The process will take a few minutes. After it’s done, you can get more information about the photo, such as interesting objects in the field of view
name
Target name: allowed characters include letters, numbers, spaces, and hyphens (-).
position
RA and DEC coordinates formatted in hours-minutes-seconds and degrees-minutes- seconds, respectively.
priority
An arbitrary number you can set to bias the scheduler toward picking certain targets (optional; default: 100). A relatively larger number = higher priority. Must be greater than 1.
exptime
Exposure time in seconds (optional; default: 120). Take the Moon phase and proximity into account! Note that this can be adjusted while observing.
min_nexp
Minimum number of exposures to take during the observation (optional; default: 60).
exp_set_size
The exposures will be taken in smaller sets of this size (optional; default: 10). The minimum number of exposures (min_nexp) must be an integer multiple of this size!
Note: An observation may consist of more exposures than min_nexp but exposures will always come in groups of exp_set_size.
EXAMPLE 1 andromeda.yaml
-
name: Andromeda Galaxy
position: 00h42m44s +41d16m09s
priority: 100
exptime: 120
min_nexp: 10
exp_set_size: 2
EXAMPLE 2 star_wars.yaml
-
name: Tatooine
position: 11h03m22s +63d09m00s
priority: 100
exptime: 60
min_nexp: 15
exp_set_size: 3
-
name: Arvala-7
position: 03h45m01s -07d15m31s
priority: 100
exptime: 100
min_nexp: 10
exp_set_size: 2
-
name: Alderaan
position: 05h29m47s -01d34m01s
priority: 500
exptime: 120
min_nexp: 6
exp_set_size: 3
Tip: the scheduler part of pocs_local.yaml should now look something like:
scheduler:
check_file: true
fields_file: star_wars.yaml
···
Tip: you can easily copy image file paths from the POCS log output as you wait for the images to be taken.
SAMPLE POCS LOG OUTPUT
I0226 07:59:34.831 messaging.py] PANCHAT I'm finding exoplanets!
D0226 07:59:34.832 observatory.py] Getting headers for : Alderaan: 120.0 s exposures in blocks of 10, minimum 60, priority 500
D0226 07:59:35.368 observatory.py] Exposing for camera: Canon00
D0226 07:59:35.377 camera.py] image_id: PAN012_358d0f_20200226T075935
D0226 07:59:35.378 camera.py] Taking 120.0 s exposure on Canon00: /var/panoptes/images/fields/Alderaan/345efg/20200213T050652/20200213T051030.cr2
D0226 07:59:35.401 observatory.py] Exposing for camera: Canon01
D0226 07:59:35.413 camera.py] image_id: PAN012_95cdbc_20200226T075935
D0226 07:59:35.414 camera.py] Taking 120.0 s exposure on Canon01: /var/panoptes/images/fields/Alderaan/01abcd/20200213T050652/20200213T051030.cr2
D0226 08:00:05.923 core.py] Waiting for observing events: 30 seconds elapsed
Notice that:
The filenames and paths from either camera are identical, except for the camera folder name
The filename of the original .cr2 raw file will be the same as the .jpeg and .fits files, once the raw file has been converted to these formats. So, the path from the log can be used for any file type; just change the extension at the end.
M93 Butterfly Cluster (PAN001, Mauna Loa)
M31 Andromeda Galaxy (PAN012, Mt. Wilson)
100% visibility, plus ~an hour before and after
Bright star
(magnitudes ~)
Elevation
Tip: One of the columns on the Swarthmore site lets you check each star’s elevation throughout the transit. When choosing a target, you may wish to prioritize this after factors such as the percentage of transit visible, star brightness, and transit depth.
Flip required: target crosses meridian
No flip required: target stays west of meridian