def METHOD_NAME(self):
    """ Check that we can successfully read a bundler file and create a 
        factor graph from it
    """
    # The structure where we will save the SfM data
    filename = gtsam.findExampleDataFile("Balbianello.out")
    sfm_data = SfmData.FromBundlerFile(filename)
    # Check number of things
    self.assertEqual(5, sfm_data.numberCameras())
    self.assertEqual(544, sfm_data.numberTracks())
    track0 = sfm_data.track(0)
    self.assertEqual(3, track0.numberMeasurements())
    # Check projection of a given point
    self.assertEqual(0, track0.measurement(0)[0])
    camera0 = sfm_data.camera(0)
    expected = camera0.project(track0.point3())
    actual = track0.measurement(0)[1]
    self.gtsamAssertEquals(expected, actual, 1)
    # We share *one* noiseModel between all projection factors
    model = gtsam.noiseModel.Isotropic.Sigma(
        2, 1.0)  # one pixel in u and v
    # Convert to NonlinearFactorGraph
    graph = sfm_data.sfmFactorGraph(model)
    self.assertEqual(1419, graph.size())  # regression
    # Get initial estimate
    values = gtsam.initialCamerasAndPointsEstimate(sfm_data)
    self.assertEqual(549, values.size())  # regression