Program: 150681
Project: 150681
Buggy source:
/** 
 * Simulated scene using a pinhole camera model with radial distortion. Entire target is visible
 */
@Test public void pinhole_radial_fullview(){
  CameraPinholeRadial model=CalibrationIO.load(getClass().getResource("String_Node_Str"));
  SimulatePlanarWorld simulator=new SimulatePlanarWorld();
  simulator.setCamera(model);
  List<Point2D_F64> locations2D=new ArrayList<>();
  GrayF32 pattern=new GrayF32(1,1);
  for (int i=0; i < targetConfigs.size(); i++) {
    DetectorFiducialCalibration detector=createDetector(targetConfigs.get(i));
    renderTarget(targetConfigs.get(i),simulatedTargetWidth,pattern,locations2D);
    simulator.resetScene();
    Se3_F64 markerToWorld=new Se3_F64();
    simulator.addTarget(markerToWorld,simulatedTargetWidth,pattern);
    markerToWorld.T.set(0,0,0.5);
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,0,1);
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(-0.33,0,1);
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(-0.33,0.33,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,-0.20,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.8,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.8,-1,1.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,-0.15,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.2,-1,2.4,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
  }
}

Fixed version (ground truth):
/** 
 * Simulated scene using a pinhole camera model with radial distortion. Entire target is visible
 */
@Test public void pinhole_radial_fullview(){
  CameraPinholeRadial model=CalibrationIO.load(getClass().getResource("String_Node_Str"));
  SimulatePlanarWorld simulator=new SimulatePlanarWorld();
  simulator.setCamera(model);
  List<Point2D_F64> locations2D=new ArrayList<>();
  GrayF32 pattern=new GrayF32(1,1);
  for (int i=0; i < targetConfigs.size(); i++) {
    failedToDetect=0;
    DetectorFiducialCalibration detector=createDetector(targetConfigs.get(i));
    renderTarget(targetConfigs.get(i),simulatedTargetWidth,pattern,locations2D);
    simulator.resetScene();
    Se3_F64 markerToWorld=new Se3_F64();
    simulator.addTarget(markerToWorld,simulatedTargetWidth,pattern);
    markerToWorld.T.set(0,0,0.5);
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,0,1);
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(-0.33,0,1);
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(-0.33,0.33,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,-0.20,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.8,-1,0.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.8,-1,1.8,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
    markerToWorld.T.set(0,-0.15,1);
    ConvertRotation3D_F64.eulerToMatrix(EulerType.XYZ,0.2,-1,2.4,markerToWorld.getR());
    checkRenderedResults(detector,simulator,locations2D);
  }
  assertEquals(0,failedToDetect);
}