20 #ifndef TESSERACT_IMAGE_IMAGEDATA_H_
21 #define TESSERACT_IMAGE_IMAGEDATA_H_
62 int* max_x,
int* max_y);
68 int x()
const {
return x_; }
69 int y()
const {
return y_; }
70 int dir()
const {
return dir_; }
113 const char* imagedata,
int imagedatasize,
114 const char* truth_text,
const char*
box_text);
126 return imagefilename_;
129 imagefilename_ = name;
147 return transcription_;
156 return box_texts_[index];
168 Pix*
PreScale(
int target_height,
int max_height,
float* scale_factor,
169 int* scaled_width,
int* scaled_height,
190 bool AddBoxes(
const char* box_text);
227 return document_name_;
260 pages_[index] = NULL;
272 void set_total_pages(
int total) {
274 total_pages_ = total;
290 PointerVector<ImageData> pages_;
306 mutable SVMutex general_mutex_;
322 num_pages_per_doc_ = 0;
339 return GetPageSequential(serial);
341 return GetPageRoundRobin(serial);
355 const ImageData* GetPageRoundRobin(
int serial);
359 const ImageData* GetPageSequential(
int serial);
363 int CountNeighbourDocs(
int index,
int dir);
371 int num_pages_per_doc_;
379 #endif // TESSERACT_IMAGE_IMAGEDATA_H_
ImageData * TakePage(int index)
bool SaveToBuffer(GenericVector< char > *buffer)
const ImageData * GetPageBySerial(int serial)
bool IsPageAvailable(int index, ImageData **page)
const STRING & language() const
void set_imagefilename(const STRING &name)
void set_language(const STRING &lang)
const STRING & box_text(int index) const
static void FromWordFeatures(const GenericVector< WordFeature > &word_features, GenericVector< FloatWordFeature > *float_features)
const GenericVector< STRING > & box_texts() const
static ImageData * Build(const char *name, int page_number, const char *lang, const char *imagedata, int imagedatasize, const char *truth_text, const char *box_text)
void set_page_number(int num)
bool Serialize(TFile *fp) const
static bool SkipDeSerialize(bool swap, tesseract::TFile *fp)
DocumentData * FindDocument(const STRING &document_name) const
Pix * PreScale(int target_height, int max_height, float *scale_factor, int *scaled_width, int *scaled_height, GenericVector< TBOX > *boxes) const
inT64 memory_used() const
bool(* FileReader)(const STRING &filename, GenericVector< char > *data)
bool LoadDocument(const char *filename, const char *lang, int start_page, inT64 max_memory, FileReader reader)
const GenericVector< TBOX > & boxes() const
bool DeSerialize(bool swap, TFile *fp)
bool(* FileWriter)(const GenericVector< char > &data, const STRING &filename)
void SetDocument(const char *filename, const char *lang, inT64 max_memory, FileReader reader)
const ImageData * GetPage(int index)
const STRING & transcription() const
void LoadPageInBackground(int index)
const STRING & imagefilename() const
void AddBoxes(const GenericVector< TBOX > &boxes, const GenericVector< STRING > &texts, const GenericVector< int > &box_pages)
bool AddToCache(DocumentData *data)
const STRING & document_name() const
bool SaveDocument(const char *filename, FileWriter writer)
void AddPageToDocument(ImageData *page)
static int SortByXBucket(const void *, const void *)
const PointerVector< DocumentData > & documents() const
friend void * ReCachePagesFunc(void *data)
const GenericVector< char > & image_data() const
DocumentCache(inT64 max_memory)
bool LoadDocuments(const GenericVector< STRING > &filenames, const char *lang, CachingStrategy cache_strategy, FileReader reader)
bool DeSerialize(bool swap, FILE *fp)
static void Draw(const GenericVector< WordFeature > &features, ScrollView *window)
DocumentData(const STRING &name)
const int kFeaturePadding
static void ComputeSize(const GenericVector< WordFeature > &features, int *max_x, int *max_y)
bool Serialize(FILE *fp) const