20#ifndef TESSERACT_IMAGE_IMAGEDATA_H_
21#define TESSERACT_IMAGE_IMAGEDATA_H_
64 int* max_x,
int* max_y);
70 int x()
const {
return x_; }
71 int y()
const {
return y_; }
72 int dir()
const {
return dir_; }
115 const char* imagedata,
int imagedatasize,
116 const char* truth_text,
const char*
box_text);
127 return imagefilename_;
130 imagefilename_ = name;
148 return transcription_;
157 return box_texts_[index];
171 Pix*
PreScale(
int target_height,
int max_height,
float* scale_factor,
172 int* scaled_width,
int* scaled_height,
199 int32_t page_number_;
218 bool LoadDocument(
const char* filename,
int start_page, int64_t max_memory,
231 return document_name_;
238 return pages_.size();
267 pages_[index] =
nullptr;
281 void set_total_pages(
int total) {
283 total_pages_ = total;
297 PointerVector<ImageData> pages_;
303 int64_t memory_used_;
313 mutable SVMutex general_mutex_;
329 num_pages_per_doc_ = 0;
346 return GetPageSequential(serial);
348 return GetPageRoundRobin(serial);
362 const ImageData* GetPageRoundRobin(
int serial);
366 const ImageData* GetPageSequential(
int serial);
370 int CountNeighbourDocs(
int index,
int dir);
378 int num_pages_per_doc_;
bool(*)(const STRING &, GenericVector< char > *) FileReader
const int kFeaturePadding
bool(*)(const GenericVector< char > &, const STRING &) FileWriter
bool DeSerialize(bool swap, FILE *fp)
static void ComputeSize(const GenericVector< WordFeature > &features, int *max_x, int *max_y)
bool Serialize(FILE *fp) const
static void Draw(const GenericVector< WordFeature > &features, ScrollView *window)
static void FromWordFeatures(const GenericVector< WordFeature > &word_features, GenericVector< FloatWordFeature > *float_features)
static int SortByXBucket(const void *, const void *)
static bool SkipDeSerialize(TFile *fp)
void set_page_number(int num)
void AddBoxes(const GenericVector< TBOX > &boxes, const GenericVector< STRING > &texts, const GenericVector< int > &box_pages)
void set_language(const STRING &lang)
const GenericVector< char > & image_data() const
const GenericVector< STRING > & box_texts() const
Pix * PreScale(int target_height, int max_height, float *scale_factor, int *scaled_width, int *scaled_height, GenericVector< TBOX > *boxes) const
const STRING & box_text(int index) const
const STRING & imagefilename() const
const STRING & transcription() const
bool Serialize(TFile *fp) const
const GenericVector< TBOX > & boxes() const
bool DeSerialize(TFile *fp)
void set_imagefilename(const STRING &name)
const STRING & language() 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)
ImageData * TakePage(int index)
bool IsPageAvailable(int index, ImageData **page)
bool SaveToBuffer(GenericVector< char > *buffer)
void SetDocument(const char *filename, int64_t max_memory, FileReader reader)
int64_t memory_used() const
bool SaveDocument(const char *filename, FileWriter writer)
void LoadPageInBackground(int index)
const STRING & document_name() const
friend void * ReCachePagesFunc(void *data)
bool LoadDocument(const char *filename, int start_page, int64_t max_memory, FileReader reader)
const ImageData * GetPage(int index)
void AddPageToDocument(ImageData *page)
bool AddToCache(DocumentData *data)
const ImageData * GetPageBySerial(int serial)
bool LoadDocuments(const GenericVector< STRING > &filenames, CachingStrategy cache_strategy, FileReader reader)
DocumentData * FindDocument(const STRING &document_name) const
const PointerVector< DocumentData > & documents() const