labfy-investigation/include/models/identity_ocr.h

116 lines
5.9 KiB
C

#ifndef LABFY_IDENTITY_OCR_H
#define LABFY_IDENTITY_OCR_H
#include <glib.h>
G_BEGIN_DECLS
typedef enum {
IDENTITY_REVIEW_PROPOSED, IDENTITY_REVIEW_ACCEPTED,
IDENTITY_REVIEW_MODIFIED, IDENTITY_REVIEW_REJECTED,
IDENTITY_REVIEW_CONFLICT
} IdentityReviewStatus;
typedef struct {
gint page, x, y, width, height, image_width, image_height;
gboolean available;
} IdentitySourceBox;
typedef struct IdentityFieldObservation IdentityFieldObservation;
typedef struct IdentityOcrRun IdentityOcrRun;
IdentityFieldObservation *identity_field_observation_new(
const char *code, const char *raw_value, double confidence,
const IdentitySourceBox *box, guint order);
IdentityFieldObservation *identity_field_observation_new_manual(
const char *code, const char *value, guint order);
IdentityFieldObservation *identity_field_observation_copy(
const IdentityFieldObservation *field);
void identity_field_observation_free(IdentityFieldObservation *field);
gboolean identity_field_observation_accept(IdentityFieldObservation *field);
gboolean identity_field_observation_modify(IdentityFieldObservation *field,
const char *corrected_value, const char *note);
gboolean identity_field_observation_restore_raw(
IdentityFieldObservation *field);
void identity_field_observation_reject(IdentityFieldObservation *field);
gboolean identity_field_observation_set_origin(
IdentityFieldObservation *field, const char *origin);
void identity_field_observation_mark_conflict(IdentityFieldObservation *field);
const char *identity_field_observation_get_code(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_identifier(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_raw_value(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_corrected_value(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_normalized_value(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_confirmed_value(
const IdentityFieldObservation *field);
const char *identity_field_observation_get_value_quality(
const IdentityFieldObservation *field);
gboolean identity_field_observation_set_normalized_value(
IdentityFieldObservation *field, const char *value);
gboolean identity_field_observation_set_value_quality(
IdentityFieldObservation *field, const char *quality);
gboolean identity_field_observation_confirm(
IdentityFieldObservation *field, const char *value);
void identity_field_observation_clear_confirmation(
IdentityFieldObservation *field);
gboolean identity_field_observation_is_human_confirmed(
const IdentityFieldObservation *field);
gboolean identity_field_observation_replace_identifier(
IdentityFieldObservation *field, const char *identifier);
IdentityReviewStatus identity_field_observation_get_status(
const IdentityFieldObservation *field);
double identity_field_observation_get_confidence(
const IdentityFieldObservation *field);
const IdentitySourceBox *identity_field_observation_get_box(
const IdentityFieldObservation *field);
IdentityOcrRun *identity_ocr_run_new(const char *evidence_id,
const char *expected_sha256, const char *document_type,
const char *document_side, guint page, const char *languages,
const char *profile);
IdentityOcrRun *identity_ocr_run_copy(const IdentityOcrRun *run);
void identity_ocr_run_free(IdentityOcrRun *run);
void identity_ocr_run_set_outputs(IdentityOcrRun *run, const char *version,
const char *available_languages, const char *parameters,
const char *raw_text, const char *tsv);
void identity_ocr_run_set_preview(IdentityOcrRun *run, GBytes *png_bytes);
GBytes *identity_ocr_run_get_preview(const IdentityOcrRun *run);
void identity_ocr_run_add_field(IdentityOcrRun *run,
IdentityFieldObservation *field);
gboolean identity_ocr_run_replace_evidence_id(
IdentityOcrRun *run, const char *evidence_identifier);
gboolean identity_ocr_run_replace_identifier(
IdentityOcrRun *run, const char *identifier);
void identity_ocr_run_set_factual_notes(
IdentityOcrRun *run, const char *notes);
gboolean identity_ocr_run_set_corrected_transcription(
IdentityOcrRun *run, const char *transcription, const char *corrected_at);
void identity_ocr_run_reset_corrected_transcription(IdentityOcrRun *run);
const char *identity_ocr_run_get_corrected_transcription(
const IdentityOcrRun *run);
const char *identity_ocr_run_get_transcription_corrected_at(
const IdentityOcrRun *run);
gboolean identity_ocr_run_has_human_transcription(const IdentityOcrRun *run);
const char *identity_ocr_run_get_factual_notes(const IdentityOcrRun *run);
const char *identity_ocr_run_get_identifier(const IdentityOcrRun *run);
const char *identity_ocr_run_get_evidence_id(const IdentityOcrRun *run);
const char *identity_ocr_run_get_raw_text(const IdentityOcrRun *run);
const char *identity_ocr_run_get_tsv(const IdentityOcrRun *run);
const char *identity_ocr_run_get_document_type(const IdentityOcrRun *run);
const char *identity_ocr_run_get_document_side(const IdentityOcrRun *run);
const char *identity_ocr_run_get_languages(const IdentityOcrRun *run);
const char *identity_ocr_run_get_expected_sha256(const IdentityOcrRun *run);
const char *identity_ocr_run_get_profile(const IdentityOcrRun *run);
const char *identity_ocr_run_get_version(const IdentityOcrRun *run);
const char *identity_ocr_run_get_available_languages(const IdentityOcrRun *run);
const char *identity_field_observation_get_origin(
const IdentityFieldObservation *field);
guint identity_field_observation_get_order(
const IdentityFieldObservation *field);
guint identity_ocr_run_get_page(const IdentityOcrRun *run);
const GPtrArray *identity_ocr_run_get_fields(const IdentityOcrRun *run);
gboolean identity_ocr_document_type_is_valid(const char *value);
gboolean identity_ocr_document_side_is_valid(const char *value);
gboolean identity_ocr_field_code_is_valid(const char *value);
G_END_DECLS
#endif