Jointcal has two distortion models implemented: SimplePolyModel and ConstrainedPolyModel. Until now, I've been using the former because it was the default when I started using jointcal. The choice of model should be a config parameter (they share an API), which will require bringing the Constrained model up to match other changes in the C++ code.
The CFHT or DECam files in testdata_jointcal should work as test datasets: Constrained wants a full mosaic. To fully exercise it, it would be best to use the latest validation_data_hsc for multiple full-focal plane visits.
Note also this note from Pierre Astier about getting the Constrained model to work:
The problem with ConstrainedPolyModel is that
at line 72, a test reads :
if ((chipp == _chipMap.end()) && visit == refVisit )
which should just be:
if (chipp == _chipMap.end())
because the initilization should be done anyway, possibly with a warning
if the chip is found on a different visit. Maybe the initializer should be
im.Pix2CommonTangentPlane() rather than im.Pix2TangentPlane()
but it is not mandatory.
For this model, the first fitting steps we are using read:
astromFit.Minimize("DistortionsVisit"); // those are not initialized at all