#26 Tract and patch-level HSC interface 

This pull request adds code to run Stile on the tract- and patch-level outputs of the HSC pipeline (the coadds).

The functionality is analogous to the CCD and visit-level Stile scripts: you simply use calls like
`bin/StilePatch.py $DATA_DIR --id tract=0 patch=3,7 filter=HSC-I --rerun=$your_rerun`
The calls are similar for `StileTract.py`, which runs on tracts, the largest coadd block made up of many patches, analogous to the single visit made up of many CCDs.

Mostly this branch involves moving some code around into separate functions that we can override in child classes, plus adding some arguments to look for coadd-level data products (which tend to start with `deepCoadd_`).  There's also a simple fix for a string representing combinations of individual patches, which isn't as straightforward as combining CCDs since it's a 2-d space.

Couple of questions remaining:
- For the tract level, do we need to catch the flag that says the object is in its primary tract (since they overlap)?
- I couldn't find a flag that indicated PSF stars in the coadd.  Is this nonsensical for the coadd, or just not retained?  If it's nonsensical, we should figure out some other way to select stars for the `WhiskerPlot` and `ScatterPlot` tests, which require PSF stars.  If it isn't nonsensical, what's the flag we should be using?
Thank you for fixing these!

2014/12/11 18:13、msimet <notifications@github.com> のメール：

> In stile/hsc/base_tasks.py:
> 
> > +        # we call run() once with each visit
> > +        return [(tract,
> > +                 refListDict[tract]
> > +                 ) for tract in sorted(refListDict.keys())]
> > +
> > +    def __call__(self, args):
> > +        task = self.TaskClass(config=self.config, log=self.log)
> > +        result = task.run(*args)
> > +
> > +class TractSingleEpochStileTask(VisitSingleEpochStileTask):
> > +    """Like VisitSingleEpochStileTask, but with individual elements being patches instead of 
> > +    CCDs.  Since the code layout is different, we inherit from Visit, and then make the changes
> > +    to the filename and calibration data information as we did for the Patch-level Task."""
> > +    RunnerClass = StileTractRunner
> > +    _DefaultName = "TractSingleEpochStile"
> > +    ConfigClass = PatchSingleEpochStileConfig
> Yep, fixed.
> 
> —
> Reply to this email directly or view it on GitHub.
>