Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-24585: Update policies in obs_lsst to work with visualizeVisit.py #217

Merged
merged 3 commits into from
Jun 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
468 changes: 0 additions & 468 deletions policy/comCam/comCamMapper.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion policy/imsim/imsimMapper.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ datasets:
calexpBackground:
template: calexp/%(visit)08d-%(filter)s/%(raftName)s/bkgd_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
calexp_camera:
template: calexp_camera/%(visit)08d-%(filter)s/%(raftName)s/calexp_camera_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
template: calexp_camera/%(visit)08d-%(filter)s/calexp_camera_%(visit)08d-%(filter)s.fits
skyCorr:
template: skyCorr/%(visit)08d-%(filter)s/%(raftName)s/skyCorr_%(visit)08d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
dcrDiff_diaSrc:
Expand Down
44 changes: 36 additions & 8 deletions policy/lsstCamMapper.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,37 @@
needCalibRegistry: true

levels:
# List of keys that are NOT relevant to a particular level
tract: patch
skyTile:
- visit
- raftName
- detectorName
- detector
expId:
- raftName
- detectorName
- detector
visit:
- raftName
- detectorName
- detector
- run
- dayObs
filter:
- raftName
- detectorName
- detector
- run
- dayObs

defaultLevel: sensor

defaultSubLevels:
skyTile: sensor
expId: sensor
visit: sensor

defaultLevel: visit

exposures:
_raw:
Expand Down Expand Up @@ -241,31 +269,31 @@ calibrations:
template: fringe/%(filter)s/%(calibDate)s/fringe_%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
validRange: true
bias_camera:
template: focalplane/bias/%(calibDate)s/bias_%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
template: focalplane/bias/%(calibDate)s/bias_%(calibDate)s.fits
persistable: ExposureF
python: lsst.afw.image.ExposureF
storage: FitsStorage
level: None
dark_camera:
template: focalplane/dark/%(calibDate)s/dark_%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
template: focalplane/dark/%(calibDate)s/dark_%(calibDate)s.fits
persistable: ExposureF
python: lsst.afw.image.ExposureF
storage: FitsStorage
level: None
flat_camera:
template: focalplane/flat/%(filter)s/%(calibDate)s/flat_%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
template: focalplane/flat/%(calibDate)s/%(filter)s/flat-%(filter)s_%(calibDate)s.fits
persistable: ExposureF
python: lsst.afw.image.ExposureF
storage: FitsStorage
level: None
fringe_camera:
template: focalplane/fringe/%(filter)s/%(calibDate)s/fringe_%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
template: focalplane/fringe/%(calibDate)s/%(filter)s/fringe-%(filter)s_%(calibDate)s.fits
persistable: ExposureF
python: lsst.afw.image.ExposureF
storage: FitsStorage
level: None
sky:
template: SKY/%(calibDate)s/%(filter)s/SKY-%(calibDate)s-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
template: sky/%(calibDate)s/%(filter)s/sky-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d_%(calibDate)s.fits
python: lsst.afw.image.ExposureF
persistable: ExposureF
storage: FitsStorage
Expand All @@ -292,7 +320,7 @@ calibrations:
validStartName: validStart
validEndName: validEnd
sky_camera:
template: focalplane/SKY/%(calibDate)s/%(filter)s/SKY-%(filter)s_%(calibDate)s.fits
template: focalplane/sky/%(calibDate)s/%(filter)s/sky-%(filter)s_%(calibDate)s.fits
persistable: ExposureF
python: lsst.afw.image.ExposureF
storage: FitsStorage
Expand Down Expand Up @@ -337,7 +365,7 @@ datasets:
tables: raw
template: ignored
calexp_camera:
template: calexp_camera/%(expId)013d-%(filter)s/%(raftName)s/calexp_camera_%(expId)013d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
template: calexp_camera/%(expId)013d-%(filter)s/calexp_camera_%(expId)013d-%(filter)s.fits
skyCorr:
template: skyCorr/%(expId)013d-%(filter)s/%(raftName)s/skyCorr_%(expId)013d-%(filter)s-%(raftName)s-%(detectorName)s-det%(detector)03d.fits
ccdExposureId_bits:
Expand Down
1 change: 0 additions & 1 deletion python/lsst/obs/lsst/comCam.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class LsstComCamMapper(LsstCamMapper):
translatorClass = LsstComCamTranslator
MakeRawVisitInfoClass = LsstComCamMakeRawVisitInfo
_cameraName = "comCam"
yamlFileList = ["comCam/comCamMapper.yaml"] + list(LsstCamMapper.yamlFileList)
mfisherlevine marked this conversation as resolved.
Show resolved Hide resolved


class LsstComCamParseTask(LsstCamParseTask):
Expand Down
23 changes: 14 additions & 9 deletions tests/test_comCam.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class TestLsstCam(ObsLsstObsBaseOverrides, ObsLsstButlerTests):
instrumentDir = "comCam"

def setUp(self):
dataIds = {'raw': {'visit': 3019053000001, 'detectorName': 'S00', 'raftName': 'R22'},
dataIds = {'raw': {'expId': 3019053000001, 'detectorName': 'S00', 'raftName': 'R22'},
'bias': unittest.SkipTest,
'flat': unittest.SkipTest,
'dark': unittest.SkipTest,
Expand All @@ -58,10 +58,14 @@ def setUp(self):
dimensions = {'raw': Extent2I(4608, 4096),
}
sky_origin = unittest.SkipTest
raw_subsets = (({'level': 'sensor', 'filter': 'NONE'}, 1),
raw_subsets = (({'level': 'sensor'}, 1),
({'level': 'sensor', 'filter': 'NONE'}, 1),
({'level': 'sensor', 'filter': 'foo'}, 0),
Comment on lines +61 to +63
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really in scope of this review, but I thought that we used detector in obs_lsst (but then again I guess that's vs ccd in other places, and that this is a test framework question, so I'm sure it's fine really, just a shame we don't have consistency in general.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest, I'm not entirely sure how sensor is supposed to be interpreted. It seems to me it is the canonical name for the sensor unit to which the various cameras have their own naming conventions: detector for obs_lsst, ccd for obs_subaru & obs_cfht, ccd or ccdnum (or hdu?) for obs_decam, camcol for obs_sdss,...

Most of the existing mappers use the word sensor in referring to a level, and I followed suit. E.g.
https://github.com/lsst/obs_base/blob/master/python/lsst/obs/base/test/baseMapper.py#L34
https://github.com/lsst/obs_subaru/blob/master/policy/HscMapper.yaml#L17
https://github.com/lsst/obs_decam/blob/master/policy/DecamMapper.yaml#L17

Also, the sensor level has to be understood generically, since it is used in singleFrameDriver.py's ArgumentParser here: https://github.com/lsst/pipe_drivers/blob/master/python/lsst/pipe/drivers/singleFrameDriver.py#L67-L71

As a demonstration, for latiss:

In [32]: levels = ['sensor', 'detector', 'ccd', 'expId', 'visit', 'filter']
In [33]: butlerDir = "/home/lauren/LSST/obs_lsst/data/input/latiss" 
    ...: butler = dafPersist.Butler(butlerDir)                                                                
CameraMapper INFO: Loading exposure registry from /home/lauren/LSST/obs_lsst/data/input/latiss/registry.sqlite3
CameraMapper INFO: Loading calib registry from /home/lauren/LSST/obs_lsst/data/input/latiss/CALIB/calibRegistry.sqlite3
In [34]: for level in levels: 
    ...:     subsets = butler.subset("raw", level=level)  
    ...:     for subset in subsets: 
    ...:         print("Subset dataIds for level {}".format(level), subset.dataId)                                                                                       
Subset dataIds for level sensor {'dayObs': '2018-09-20', 'expId': 3018092000065, 'detector': 0}
Subset dataIds for level detector {'dayObs': '2018-09-20', 'expId': 3018092000065, 'detector': 0}
Subset dataIds for level ccd {'dayObs': '2018-09-20', 'expId': 3018092000065, 'detector': 0}
Subset dataIds for level expId {'dayObs': '2018-09-20', 'expId': 3018092000065}
Subset dataIds for level visit {'expId': 3018092000065}
Subset dataIds for level filter {'expId': 3018092000065}

or for comCam:

In [35]: butlerDir = "/home/lauren/LSST/obs_lsst/data/input/comCam" 
...                                                                                                                                                         
Subset dataIds for level sensor {'run': 'unknown', 'raftName': 'R22', 'expId': 3019053000001, 'detectorName': 'S00', 'detector': 0}
Subset dataIds for level detector {'run': 'unknown', 'raftName': 'R22', 'expId': 3019053000001, 'detectorName': 'S00', 'detector': 0}
Subset dataIds for level ccd {'run': 'unknown', 'raftName': 'R22', 'expId': 3019053000001, 'detectorName': 'S00', 'detector': 0}
Subset dataIds for level expId {'run': 'unknown', 'expId': 3019053000001}
Subset dataIds for level visit {'expId': 3019053000001}
Subset dataIds for level filter {'expId': 3019053000001}
Subset dataIds for level tract {'run': 'unknown', 'raftName': 'R22', 'expId': 3019053000001, 'detectorName': 'S00', 'detector': 0}

So, you can see that, when a subset of a given level is retrieved from butler, the dataIds it returns have entries only relevant to that level, as defined in the camera's mapper, i.e. excludes those listed an not relevant to a particular level (and this hopefully answers you question as to what's happening in the tests below).

In case you're really interested, HSC looks like:

In [3]: butlerDir = "/datasets/hsc/repo/rerun/RC/w_2020_22/DM-25176" 
   ...
Subset dataIds for level sensor {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'ccd': 38, 'taiObs': '2014-02-02', 'expTime': 30.0}
Subset dataIds for level detector {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'ccd': 38, 'taiObs': '2014-02-02', 'expTime': 30.0}
Subset dataIds for level ccd {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'ccd': 38, 'taiObs': '2014-02-02', 'expTime': 30.0}
Subset dataIds for level expId {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'ccd': 38, 'taiObs': '2014-02-02', 'expTime': 30.0}
Subset dataIds for level visit {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'taiObs': '2014-02-02', 'expTime': 30.0}
Subset dataIds for level filter {'field': 'DOMEFLAT', 'dateObs': '2014-02-02', 'pointing': 763, 'filter': 'HSC-Z', 'visit': 905850, 'ccd': 38, 'taiObs': '2014-02-02', 'expTime': 30.0}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks!

({'level': 'sensor', 'visit': 3019053000001}, 1),
({'level': 'filter', 'visit': 3019053000001}, 1),
({'level': 'visit', 'filter': 'NONE'}, 1)
({'level': 'expId'}, 1),
({'level': 'expId', 'filter': 'NONE'}, 1),
({'level': 'expId', 'filter': 'foo'}, 0)
)
linearizer_type = unittest.SkipTest
self.setUp_butler_get(ccdExposureId_bits=ccdExposureId_bits,
Expand All @@ -83,8 +87,8 @@ def setUp(self):
'snap', 'run', 'calibDate', 'half', 'detectorName', 'raftName', 'label',
'numSubfilters', 'fgcmcycle', 'name', 'pixel_id', 'description', 'subfilter', 'expId',
'dayObs', 'seqNum'))
query_format = ["visit", "filter"]
queryMetadata = (({'visit': 3019053000001}, [(3019053000001, 'NONE')]),
query_format = ["expId", "filter"]
queryMetadata = (({'expId': 3019053000001}, [(3019053000001, 'NONE')]),
({'filter': 'NONE'}, [(3019053000001, 'NONE')]),
)
map_python_type = lsst.afw.image.DecoratedImageF
Expand All @@ -94,10 +98,11 @@ def setUp(self):
metadata_output_path = os.path.join("processCcd_metadata/3019053000001-NONE/R22",
"processCcdMetadata_3019053000001-NONE-R22-S00-det000.yaml")
raw_filename = '3019053000001-R22-S00-det000.fits'
default_level = 'visit'
raw_levels = (('skyTile', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('filter', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('visit', set(['expId', 'detector', 'run', 'detectorName', 'raftName']))
default_level = 'sensor'
raw_levels = (('sensor', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('skyTile', set(['expId', 'run'])),
('filter', set(['expId'])),
('expId', set(['expId', 'run']))
Comment on lines +103 to +105
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be honest, I don't really understand what this was doing before or after really. I guess as long as it's necessary it's fine, but if you could very briefly explain, it would help me learn 🙂

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did this get sufficiently answered above?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, thank you!

)
self.setUp_mapper(output=self.data_dir,
path_to_raw=path_to_raw,
Expand Down
30 changes: 18 additions & 12 deletions tests/test_imsim.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ class TestImsim(ObsLsstObsBaseOverrides, ObsLsstButlerTests):
instrumentDir = "imsim"

def setUp(self):
dataIds = {'raw': {'visit': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
'bias': {'visit': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
'flat': {'visit': 204595, 'detectorName': 'S20', 'raftName': 'R11', 'filter': 'i'},
'dark': {'visit': 204595, 'detectorName': 'S20', 'raftName': 'R11'}
dataIds = {'raw': {'expId': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
'bias': {'expId': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
'flat': {'expId': 204595, 'detectorName': 'S20', 'raftName': 'R11', 'filter': 'i'},
'dark': {'expId': 204595, 'detectorName': 'S20', 'raftName': 'R11'}
}
self.setUp_tests(self._butler, self._mapper, dataIds)

Expand Down Expand Up @@ -78,10 +78,15 @@ def setUp(self):
'flat': Extent2I(4072, 4000),
}
sky_origin = (55.67759886, -30.44239357)
raw_subsets = (({'level': 'sensor', 'filter': 'i'}, 1),
({'level': 'sensor', 'visit': 204595}, 1),
({'level': 'filter', 'visit': 204595}, 1),
({'level': 'visit', 'filter': 'i'}, 1)
raw_subsets = (({'level': 'sensor'}, 1),
({'level': 'sensor', 'filter': 'i'}, 1),
({'level': 'sensor', 'filter': 'foo'}, 0),
({'level': 'sensor', 'expId': 204595}, 1),
({'level': 'filter', 'expId': 204595}, 1),
({'level': 'filter'}, 1),
({'level': 'expId'}, 1),
({'level': 'expId', 'filter': 'i'}, 1),
({'level': 'expId', 'filter': 'foo'}, 0)
)
linearizer_type = unittest.SkipTest
self.setUp_butler_get(ccdExposureId_bits=ccdExposureId_bits,
Expand Down Expand Up @@ -115,10 +120,11 @@ def setUp(self):
'processCcdMetadata_00204595'
'-i-R11-S20-det042.yaml')
raw_filename = '00204595-R11-S20-det042.fits'
default_level = 'visit'
raw_levels = (('skyTile', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('filter', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('visit', set(['expId', 'detector', 'run', 'detectorName', 'raftName']))
default_level = 'sensor'
raw_levels = (('sensor', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('skyTile', set(['expId', 'run'])),
('filter', set(['expId'])),
('visit', set(['expId']))
)
self.setUp_mapper(output=self.data_dir,
path_to_raw=path_to_raw,
Expand Down
30 changes: 19 additions & 11 deletions tests/test_latiss.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class TestLatiss(ObsLsstObsBaseOverrides, ObsLsstButlerTests):
instrumentDir = "latiss"

def setUp(self):
dataIds = {'raw': {'visit': 3018092000065, 'detector': 0, 'dayObs': '2018-09-20', 'seqNum': 65},
dataIds = {'raw': {'expId': 3018092000065, 'detector': 0, 'dayObs': '2018-09-20', 'seqNum': 65},
mfisherlevine marked this conversation as resolved.
Show resolved Hide resolved
'bias': {'detector': 0, 'dayObs': '2018-09-20', 'seqNum': 65},
'flat': unittest.SkipTest,
'dark': unittest.SkipTest
Expand All @@ -52,10 +52,17 @@ def setUp(self):
dimensions = {'raw': Extent2I(4608, 4096),
'bias': Extent2I(4072, 4000)}
sky_origin = unittest.SkipTest
raw_subsets = (({'level': 'sensor', 'filter': '????~????'}, 1),
({'level': 'sensor', 'visit': 3018092000065}, 1),
({'level': 'filter', 'visit': 3018092000065}, 1),
({'level': 'visit', 'filter': '????~????'}, 1)
raw_subsets = (({'level': 'sensor'}, 1),
({'level': 'sensor', 'filter': '????~????'}, 1),
({'level': 'sensor', 'filter': 'foo'}, 0),
({'level': 'sensor', 'dayObs': '2018-09-20'}, 1),
({'level': 'sensor', 'expId': 3018092000065}, 1),
({'level': 'sensor', 'expId': 9999999999999}, 0),
({'level': 'filter'}, 1),
({'level': 'filter', 'expId': 3018092000065}, 1),
({'level': 'expId'}, 1),
({'level': 'expId', 'filter': '????~????'}, 1),
({'level': 'expId', 'filter': 'foo'}, 0)
)
linearizer_type = unittest.SkipTest
self.setUp_butler_get(ccdExposureId_bits=ccdExposureId_bits,
Expand All @@ -76,8 +83,8 @@ def setUp(self):
'calibDate', 'half', 'label', 'dayObs', 'run', 'snap', 'detectorName', 'raftName',
'numSubfilters', 'fgcmcycle', 'name', 'pixel_id', 'description', 'subfilter', 'expId',
'seqNum'))
query_format = ["visit", "seqNum", "dayObs"]
queryMetadata = (({'visit': 3018092000065}, [(3018092000065, 65, '2018-09-20')]),
query_format = ["expId", "seqNum", "dayObs"]
queryMetadata = (({'expId': 3018092000065}, [(3018092000065, 65, '2018-09-20')]),
({'detector': 0}, [(3018092000065, 65, '2018-09-20')]),
({'seqNum': 65}, [(3018092000065, 65, '2018-09-20')]),
)
Expand All @@ -88,10 +95,11 @@ def setUp(self):
metadata_output_path = None # Not on sky data so processCcd not run.

raw_filename = '3018092000065-det000.fits'
default_level = 'visit'
raw_levels = (('skyTile', set(['expId', 'detector', 'dayObs'])),
('filter', set(['expId', 'detector', 'dayObs'])),
('visit', set(['expId', 'detector', 'dayObs']))
default_level = 'sensor'
raw_levels = (('sensor', set(['expId', 'detector', 'dayObs'])),
('skyTile', set(['expId', 'dayObs'])),
('filter', set(['expId'])),
('expId', set(['expId', 'dayObs']))
)
self.setUp_mapper(output=self.data_dir,
path_to_raw=path_to_raw,
Expand Down
30 changes: 20 additions & 10 deletions tests/test_lsstCam.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,19 @@ def setUp(self):
dimensions = {'raw': Extent2I(4608, 4096),
}
sky_origin = unittest.SkipTest
raw_subsets = (({'level': 'sensor', 'filter': 'NONE'}, 2),
({'level': 'sensor', 'visit': 3019031900001}, 2),
({'level': 'filter', 'visit': 3019031900001}, 2),
({'level': 'visit', 'filter': 'NONE'}, 2)
raw_subsets = (({'level': 'sensor'}, 3),
({'level': 'sensor', 'filter': 'NONE'}, 2),
({'level': 'sensor', 'filter': 'foo'}, 0),
({'level': 'sensor', 'expId': 3019031900001}, 2),
({'level': 'sensor', 'expId': 3019032200002}, 1),
({'level': 'sensor', 'expId': 9999999999999}, 0),
({'level': 'filter'}, 2),
({'level': 'filter', 'expId': 3019031900001}, 1),
({'level': 'filter', 'expId': 3019032200002}, 1),
({'level': 'expId'}, 2),
({'level': 'expId', 'filter': 'NONE'}, 1),
({'level': 'expId', 'filter': 'SDSSi~ND_OD0.5'}, 1),
({'level': 'expId', 'filter': 'foo'}, 0)
)
linearizer_type = unittest.SkipTest
self.setUp_butler_get(ccdExposureId_bits=ccdExposureId_bits,
Expand All @@ -83,8 +92,8 @@ def setUp(self):
'snap', 'run', 'calibDate', 'half', 'detectorName', 'raftName', 'label', 'expId',
'numSubfilters', 'fgcmcycle', 'name', 'pixel_id', 'description', 'subfilter',
'dayObs', 'seqNum',))
query_format = ["visit", "filter"]
queryMetadata = (({'visit': 3019031900001}, [(3019031900001, 'NONE')]),
query_format = ["expId", "filter"]
queryMetadata = (({'expId': 3019031900001}, [(3019031900001, 'NONE')]),
({'filter': 'NONE'}, [(3019031900001, 'NONE')]),
)
map_python_type = lsst.afw.image.DecoratedImageF
Expand All @@ -94,10 +103,11 @@ def setUp(self):
metadata_output_path = os.path.join("processCcd_metadata/3019031900001-NONE/R10",
"processCcdMetadata_3019031900001-NONE-R10-S02-det029.yaml")
raw_filename = '3019031900001-R10-S02-det029.fits'
default_level = 'visit'
raw_levels = (('skyTile', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('filter', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('visit', set(['expId', 'detector', 'run', 'detectorName', 'raftName']))
default_level = 'sensor'
raw_levels = (('sensor', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('skyTile', set(['expId', 'run'])),
('filter', set(['expId'])),
('expId', set(['expId', 'run']))
)
self.setUp_mapper(output=self.data_dir,
path_to_raw=path_to_raw,
Expand Down
24 changes: 15 additions & 9 deletions tests/test_phosim.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class TestPhosim(ObsLsstObsBaseOverrides, ObsLsstButlerTests):
instrumentDir = "phosim"

def setUp(self):
dataIds = {'raw': {'visit': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
dataIds = {'raw': {'expId': 204595, 'detectorName': 'S20', 'raftName': 'R11'},
'bias': unittest.SkipTest,
'flat': unittest.SkipTest,
'dark': unittest.SkipTest
Expand All @@ -50,10 +50,15 @@ def setUp(self):
detector_serials = {'raw': 'ITL-3800C-102-Dev'}
dimensions = {'raw': Extent2I(4176, 4020)}
sky_origin = (55.67759886, -30.44239357)
raw_subsets = (({'level': 'sensor', 'filter': 'i'}, 1),
raw_subsets = (({'level': 'sensor'}, 1),
({'level': 'sensor', 'filter': 'i'}, 1),
({'level': 'sensor', 'filter': 'foo'}, 0),
({'level': 'sensor', 'visit': 204595}, 1),
({'level': 'filter'}, 1),
({'level': 'filter', 'visit': 204595}, 1),
({'level': 'visit', 'filter': 'i'}, 1)
({'level': 'expId'}, 1),
({'level': 'expId', 'filter': 'i'}, 1),
({'level': 'expId', 'filter': 'foo'}, 0)
)
linearizer_type = unittest.SkipTest
self.setUp_butler_get(ccdExposureId_bits=ccdExposureId_bits,
Expand All @@ -74,8 +79,8 @@ def setUp(self):
'snap', 'run', 'calibDate', 'half', 'detectorName', 'raftName', 'label',
'numSubfilters', 'fgcmcycle', 'name', 'pixel_id', 'description', 'subfilter', 'expId',
'dayObs', 'seqNum',))
query_format = ["visit", "filter"]
queryMetadata = (({'visit': 204595}, [(204595, 'i')]),
query_format = ["expId", "filter"]
queryMetadata = (({'expId': 204595}, [(204595, 'i')]),
({'filter': 'i'}, [(204595, 'i')]),
)
map_python_type = lsst.afw.image.DecoratedImageF
Expand All @@ -85,10 +90,11 @@ def setUp(self):
metadata_output_path = os.path.join('processCcd_metadata', '00204595-i', 'R11',
'processCcdMetadata_00204595-i-R11-S20-det042.yaml')
raw_filename = '00204595-R11-S20-det042.fits'
default_level = 'visit'
raw_levels = (('skyTile', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('filter', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('visit', set(['expId', 'detector', 'run', 'detectorName', 'raftName']))
default_level = 'sensor'
raw_levels = (('sensor', set(['expId', 'detector', 'run', 'detectorName', 'raftName'])),
('skyTile', set(['expId', 'run'])),
('filter', set(['expId'])),
('expId', set(['expId', 'run']))
)
self.setUp_mapper(output=self.data_dir,
path_to_raw=path_to_raw,
Expand Down