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-245: Implement HSC camera in new camera framework #1

Merged
merged 81 commits into from Feb 26, 2015

Conversation

PaulPrice
Copy link
Contributor

This is a github pull request for reviewing DM-245.

@PaulPrice
Copy link
Contributor Author

This is 4 commits behind master, and cannot be automatically merged. It should be rebased against master.

Simon Krughoff and others added 29 commits February 3, 2015 12:41
Updates genDefectFits.py to use the new CameraGeom format.
This also required a change in the hsc SConstruct file
to match the new API.  Also repairs capitalizatio issue in
scons file.
The new camera objects use XYTransforms to map from one
coordinate system to another.  This means that the DistEst
distortion code needs to be wrapped up in an XYTransform.

The XYTransform is exposed in python by adding an entry to
the XYTransformRegistry.
The old camera objects were built from policy files.  This
is no longer required, but since the representation was available
we continue to use the policy file as the starting point for
building camera registries (the persisted files used by the mapper
to build a camera).  Also, the transform registry is different
between hsc and suprimecam.  This makes the repo generation
respect this.
This commit also updates the mapper policy files to
point to the new camera repository.
This utility can display parts of the camera all the way to
the whole mosaic.  It currently only works with HSC.
There is another utility called showCamera that overlaps
with this utility.  It can probably be removed, or it
should be updated to work with the new cameraGeom.
The use of std_camera was re-defined in the current master
CameraMapper.
…tements in processCcd.py and hsc/processCcd.py

Removed those measurements that are not defined on the LSST side.
As per a previous code review requesting overloading of "order" to
mean either polynomial order or spline knots.
Polymorphism of detector-like objects was removed, so casts are
not necessary.
CCD 9 has lost another amplifier (now 2 out of 4).  This update
will allow us to process S14A and S14B data without hacking the
mapper etc.
Move defect definition of CCD 9 == 1_47, amp 3 to new file in
the directory when that amp got bad (2014-04-03).
validStart will be set to that date.

Conflicts:
	bin/genDefectRegistry.py
	hsc/defects/2013-01-31/defects.dat
genDefectRegistry: support multiple versions of same CCD defects

Multiple versions of the same CCD defects were thrown in the
database with the same end date (way in the future), so that
the query to find the defect ended up with multiple rows.
Instead, have one defect valid until the next, and only the
last is valid into the future.

Conflicts:
	bin/genDefectRegistry.py
…expectation

The function bypass_defects wants the FITS header "name" to be equivalent to the
detectorName.  Also removed creation of the superfluous header "SERIAL".
Only the last defects FITS file was being built.  Naming them distinctly,
and making them all dependencies of the registry ensures they are all
built.
Amplifier linearity parameters are now read in from the
hsc_geom.paf policy file and stored in the curretnly
available AmpInfoTable fields: linearityType and
linearityCoeffs.  These may be changed when the linearity
corrections are defined and implemented in LSST.
Also changes the variable the key is being compared to to be
detConfig.serial which is what NNN is referring to (rather
than detConfig.name).
shutil is required for the --clobber command line option.
Now reads in Linearity Parameters from AmpInfoTable
Delete local maskDefect function in favor of using the (essentially
identical) maskAndInterpDefect function in ip_isr's isrTask.py.
Use doDefect config clause when calling maskAndInterpDefect.
Set doDefect config default to True.
StevenBickerton and others added 27 commits February 4, 2015 16:53
…t try to query the registry by tract

Conflicts:
	policy/HscMapper.paf
These are left over from hscMosaic, which is no longer used.
The superclass CameraMapper attempts to set the midtime from MJD-OBS,
but HSC uses MJD-STR.
The bad pixels (e.g., saturation) will otherwise bias the
median; this can be severe when there's a bright source
close to the edge of the amp.
A recent update in fitsthumb changed the API.  The format is no longer
provided and I've removed it completely as the butler uses png.  To
do otherwise would mean the '_filename' returned by a butler.get()
would be incorrect.  Also, createFitsThumb() now takes an ndarray.
Amps that are completely saturated do not provide any useful
information for the crosstalk correction, and using them taints
the good amps (NANs or mask).  This shouldn't affect the result,
as the image is completely saturated and there's not much information
there to use in the correction.
In addition to new source catalogs, also includes config, metadata and
schema entries for the new CmdLineTasks.
Couldn't have more than one bias or dark in the registry
("RintimeError: No unique lookup for bias from ['calibDate', 'calibVersion'] from {'filter': 'NONE', 'ccd': 108, 'visit': 1136}: 2 matches").
Adding validty ranges fixes this.
Now calls lsst.afw.display.ds9 directly.
Approximately half of the HSC CCDs are rotated 180 deg with respect
to the others.  Two others have 90 deg rotations and another two have
270 deg rotations .  Their associated calibration frames thus need
to be rotated prior to applying the corrections.
@laurenam laurenam merged commit 746852a into master Feb 26, 2015
@ktlim ktlim deleted the tickets/DM-245 branch August 25, 2018 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants