 import PenguinStructures
 
 final class BeePPCATests: XCTestCase {
+  /// Sanity test that nothing underlying the PPCA algorithm has changed
   func testPPCA() {
     let frames = BeeFrames(sequenceName: "seq4")!
     let obbs = beeOrientedBoundingBoxes(sequenceName: "seq4")!

    let initialLatent = Vector5(flatTensor: ppca.encode(frames[0].patch(at: obbs[0]).mean(alongAxes: [2])).flattened())
    let latentId = v.store(initialLatent)

    fg.store(PPCATrackingFactor(poseId, latentId, measurement: frames[1].mean(alongAxes: [2]), W: W, mu: Tensor28x62x1(mu.squeezingShape(at:[0]))))
    fg.store(PriorFactor(latentId, initialLatent))
    // print("\(fg.linearized(at: v))")

    var optimizer = LM()
    optimizer.verbosity = .SILENT

    let stacked_bw = Tensor(stacking: images_bw)
    var ppca = PPCA(latentSize: 5)
    ppca.train(images: stacked_bw)
    
    var fg = FactorGraph()
    var v = VariableAssignments()
