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_; }
92 static int SortByXBucket(
const void*,
const void*);
114 static ImageData* Build(
const char* name,
int page_number,
const char* lang,
115 const char* imagedata,
int imagedatasize,
116 const char* truth_text,
const char* box_text);
123 static bool SkipDeSerialize(
TFile* fp);
127 return imagefilename_;
130 imagefilename_ = name;
148 return transcription_;
157 return box_texts_[index];
162 void SetPix(Pix* pix);
171 Pix* PreScale(
int target_height,
int max_height,
float* scale_factor,
172 int* scaled_width,
int* scaled_height,
175 int MemoryUsed()
const;
178 void Display()
const;
195 bool AddBoxes(
const char* box_text);
199 int32_t page_number_;
218 bool LoadDocument(
const char* filename,
int start_page, int64_t max_memory,
221 void SetDocument(
const char* filename, int64_t max_memory,
FileReader reader);
223 bool SaveDocument(
const char* filename,
FileWriter writer);
231 return document_name_;
252 void LoadPageInBackground(
int index);
259 bool IsPageAvailable(
int index,
ImageData** page);
264 pages_[index] =
nullptr;
278 void set_total_pages(
int total) {
280 total_pages_ = total;
282 void set_memory_used(int64_t memory_used) {
284 memory_used_ = memory_used;
300 int64_t memory_used_;
310 mutable SVMutex general_mutex_;
326 num_pages_per_doc_ = 0;
343 return GetPageSequential(serial);
345 return GetPageRoundRobin(serial);
359 const ImageData* GetPageRoundRobin(
int serial);
363 const ImageData* GetPageSequential(
int serial);
367 int CountNeighbourDocs(
int index,
int dir);
375 int num_pages_per_doc_;
383 #endif // TESSERACT_IMAGE_IMAGEDATA_H_
void set_language(const STRING &lang)
const STRING & language() const
const PointerVector< DocumentData > & documents() const
void set_page_number(int num)
void set_imagefilename(const STRING &name)
const GenericVector< char > & image_data() const
bool DeSerialize(bool swap, FILE *fp)
static void ComputeSize(const GenericVector< WordFeature > &features, int *max_x, int *max_y)
const STRING & box_text(int index) const
const int kFeaturePadding
const STRING & document_name() const
const GenericVector< TBOX > & boxes() const
bool(*)(const STRING &, GenericVector< char > *) FileReader
void * ReCachePagesFunc(void *data)
const GenericVector< STRING > & box_texts() const
static void Draw(const GenericVector< WordFeature > &features, ScrollView *window)
bool(*)(const GenericVector< char > &, const STRING &) FileWriter
const STRING & imagefilename() const
const ImageData * GetPageBySerial(int serial)
bool Serialize(FILE *fp) const
ImageData * TakePage(int index)
const STRING & transcription() const
int64_t memory_used() const