<commit_before>//----------------------------------------------------------------------------------------
/**
* \file       camera.h
* \brief      Base class for all cameras.
*
*  The base class for all cameras.
*
*/
//----------------------------------------------------------------------------------------

#pragma once

#include <memory>
#include <istream>
#include <ostream>
#include <string>
#include <vector>
#include <list>

#include "ceres/ceres.h"
#include "Eigen/Dense"

#include "defines.h"

using Eigen::MatrixXf;
using Eigen::Matrix3d;
using Eigen::Vector2d;
using Eigen::Vector3d;
using std::ostream;
using std::istream;
using std::string;
using std::unique_ptr;
using std::vector;
using std::list;

namespace yasfm
{

/// The base class for all cameras.
/**
This class is the base class for all cameras. It handles image access
and is able to store keypoints (coordinates, scales and orientations), 
their colors and descriptors. Examine all the functions to get an idea 
which do you need to override.
NOTE that every DerivedCamera should have a member:
static CameraRegister<DerivedCamera> reg_;
and implement it in the following way:
CameraRegister<DerivedCamera> DerivedCamera::reg_("DerivedCamera");
The registered names are used to determine which derived camera should
be created.
*/
class Camera
{
public:

  /// Total number of descriptors that can be kept in memory (over all images).
  /// Adjust this based on your machine. 
  /// Default 4M which eats 2GB memory (made for a laptop with 8GB of memory).
  static size_t maxDescrInMemoryTotal_;<commit_msg>[bug fix] Export of maximum-number-of-descriptors-in-memory threshold.<commit_after>//----------------------------------------------------------------------------------------
/**
* \file       camera.h
* \brief      Base class for all cameras.
*
*  The base class for all cameras.
*
*/
//----------------------------------------------------------------------------------------

#pragma once

#include <memory>
#include <istream>
#include <ostream>
#include <string>
#include <vector>
#include <list>

#include "ceres/ceres.h"
#include "Eigen/Dense"

#include "defines.h"

using Eigen::MatrixXf;
using Eigen::Matrix3d;
using Eigen::Vector2d;
using Eigen::Vector3d;
using std::ostream;
using std::istream;
using std::string;
using std::unique_ptr;
using std::vector;
using std::list;

namespace yasfm
{

/// The base class for all cameras.
/**
This class is the base class for all cameras. It handles image access
and is able to store keypoints (coordinates, scales and orientations), 
their colors and descriptors. Examine all the functions to get an idea 
which do you need to override.
NOTE that every DerivedCamera should have a member:
static CameraRegister<DerivedCamera> reg_;
and implement it in the following way:
CameraRegister<DerivedCamera> DerivedCamera::reg_("DerivedCamera");
The registered names are used to determine which derived camera should
be created.
*/
class Camera
{
public:

  /// Total number of descriptors that can be kept in memory (over all images).
  /// Adjust this based on your machine. 
  /// Default 4M which eats 2GB memory (made for a laptop with 8GB of memory).
  YASFM_API static size_t maxDescrInMemoryTotal_;
{'fraction_non_alphanumeric': 0.19498607242339833, 'fraction_numerical': 0.003714020427112349, 'mean_word_length': 2.6602491506228767, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1593777', 'n_tokens_mistral': 889, 'n_tokens_neox': 845, 'n_words': 357}