Getting started tutorial part 5: measuring sources¶
- Detect sources in individual coadd patches.
- Merge those multi-band source detections into a single detection catalog.
- Measure and deblend sources in the individual coadds using the unified detection catalog.
- Merge the multi-band catalogs of source measurements to identify the best positional measurements for each source.
- Re-measure the coadds in each band using fixed positions (forced photometry).
Instead of running multiple command-line tasks, like you’ll do here, you could instead run the multiBandDriver.py command as an integrated multi-band source measurement pipeline.
Pick up your shell session where you left off in part 4.
That means your current working directory must contain the
DATA directory (the Butler repository).
lsst_distrib package also needs to be set up in your shell environment.
See Setting up installed LSST Science Pipelines for details on doing this.
Detecting sources in coadded images¶
To start, you can detect sources in the coadded images to take advantage of their depth and high signal-to-noise ratio. Use the detectCoaddSources.py command-line task to accomplish this:
detectCoaddSources.py DATA --rerun coadd:coaddPhot \ --id filter=HSC-R tract=0 patch=0,0^0,1^0,2^1,0^1,1^1,2^2,0^2,1^2,2
Notice that since this task operates on coadds, we need to select the coadds using the
patch data ID keys.
Also notice that you’ve created a new rerun for the photometry outputs,
coaddPhot, that is chained to the
Now repeat source detection in
detectCoaddSources.py DATA --rerun coaddPhot \ --id filter=HSC-I tract=0 patch=0,0^0,1^0,2^1,0^1,1^1,2^2,0^2,1^2,2
The detectCoaddSources.py commands produce
deepCoadd_det datasets in the Butler repository.
Typically these datasets are only used as inputs for the mergeCoaddDetections.py command, which you’ll run next.
Merging multi-band detection catalogs¶
Next, use the mergeCoaddDetections.py command to combine the individual
HSC-I-band detection catalogs:
mergeCoaddDetections.py DATA --rerun coaddPhot --id filter=HSC-R^HSC-I
This command created a
deepCoadd_mergeDet dataset, which is a consistent table of sources across all filters.
Measuring source catalogs on coadds¶
Now, use the merged detection catalog to measure sources in both the
HSC-I coadd patches.
You can accomplish this with measureCoaddSources.py:
measureCoaddSources.py DATA --rerun coaddPhot --id filter=HSC-R
And repeat with the
measureCoaddSources.py DATA --rerun coaddPhot --id filter=HSC-I
The measureCoaddSources command-line task produces
deepCoadd_meas datasets in the Butler data repository.
Because the same merged detection catalog is used for every filter, the
deepCoadd_meas tables have consistent rows.
You’ll see how to access these tables later.
Merging multi-band source catalogs from coadds¶
The previous step you created measurement catalogs for each patch in both the
You’ll get even more complete and consistent multi-band photometry by measuring the same source in multiple bands at a fixed position (the forced photometry method) rather than fitting the source’s location individually for each band.
For forced photometry you want to use the best position measurements for each source, which could be from different filters depending on the source. We call the filter that best measures a source the reference filter. Go ahead and run the mergeCoaddMeasurements.py command to create a table that identifies the reference filter for each source in the tables you created with the previous step:
mergeCoaddMeasurements.py DATA --rerun coaddPhot --id filter=HSC-R^HSC-I
This command created a
Running forced photometry on coadds¶
Now you have accurate positions for all detected sources in the coadds. Re-measure the coadds using these fixed source positions (the forced photometry method) to create the best possible photometry of sources in your coadds:
forcedPhotCoadd.py DATA --rerun coaddPhot:coaddForcedPhot --id filter=HSC-R
Also run forced photometry on the
forcedPhotCoadd.py DATA --rerun coaddForcedPhot --id filter=HSC-I
The forcedPhotCoadd.py command creates table datasets called
deepCoadd_forced_src in the Butler repository.
In a future tutorial you’ll see how to work with these tables.
You can also try the forcedPhotCcd.py command to apply forced photometry to individual exposures, which may in principle yield better measurements. forcedPhotCcd.py doesn’t currently deblend sources, though. Thus forced coadd photometry, as you’ve performed here, provides the best source photometry.
In this tutorial, you’ve created forced photometry catalogs of sources in coadded images. Here are some key takeaways:
- Forced photometry is a method of measuring sources in several bandpasses using a common source list.
- The pipeline for forced photometry consists of the detectCoaddSources.py, mergeCoaddDetections.py, measureCoaddDetections.py, mergeCoaddMeasurements.py, and forcedPhotCoadd.py command-line tasks.
Continue this tutorial series in part 6 where you will analyze and plot the source catalogs that you’ve just measured.