Tesseract
3.02
|
#include <pitsync1.h>
Public Member Functions | |
FPSEGPT () | |
FPSEGPT (inT16 x) | |
FPSEGPT (inT16 x, BOOL8 faking, inT16 offset, inT16 region_index, inT16 pitch, inT16 pitch_error, FPSEGPT_LIST *prev_list) | |
FPSEGPT (FPCUTPT *cutpt) | |
inT32 | position () |
double | cost_function () |
double | squares () |
double | sum () |
FPSEGPT * | previous () |
inT16 | cheap_cuts () const |
Public Attributes | |
BOOL8 | faked |
BOOL8 | terminal |
inT16 | fake_count |
Definition at line 34 of file pitsync1.h.
FPSEGPT::FPSEGPT | ( | ) | [inline] |
Definition at line 37 of file pitsync1.h.
{ //empty
}
FPSEGPT::FPSEGPT | ( | inT16 | x | ) |
Definition at line 71 of file pitsync1.cpp.
FPSEGPT::FPSEGPT | ( | inT16 | x, |
BOOL8 | faking, | ||
inT16 | offset, | ||
inT16 | region_index, | ||
inT16 | pitch, | ||
inT16 | pitch_error, | ||
FPSEGPT_LIST * | prev_list | ||
) |
Definition at line 91 of file pitsync1.cpp.
:xpos (x) { inT16 best_fake; //on previous FPSEGPT *segpt; //segment point inT32 dist; //from prev segment double sq_dist; //squared distance double mean; //mean pitch double total; //total dists double factor; //cost function FPSEGPT_IT pred_it = prev_list;//for previuos segment cost = MAX_FLOAT32; pred = NULL; faked = faking; terminal = FALSE; best_fake = MAX_INT16; mid_cuts = 0; for (pred_it.mark_cycle_pt (); !pred_it.cycled_list (); pred_it.forward ()) { segpt = pred_it.data (); if (segpt->fake_count < best_fake) best_fake = segpt->fake_count; dist = x - segpt->xpos; if (dist >= pitch - pitch_error && dist <= pitch + pitch_error && !segpt->terminal) { total = segpt->mean_sum + dist; sq_dist = dist * dist + segpt->sq_sum + offset * offset; //sum of squarees mean = total / region_index; factor = mean - pitch; factor *= factor; factor += sq_dist / (region_index) - mean * mean; if (factor < cost) { cost = factor; //find least cost pred = segpt; //save path mean_sum = total; sq_sum = sq_dist; fake_count = segpt->fake_count + faked; } } } if (fake_count > best_fake + 1) pred = NULL; //fail it }
FPSEGPT::FPSEGPT | ( | FPCUTPT * | cutpt | ) |
Definition at line 50 of file pitsync1.cpp.
{ pred = NULL; mean_sum = cutpt->sum (); sq_sum = cutpt->squares (); cost = cutpt->cost_function (); faked = cutpt->faked; terminal = cutpt->terminal; fake_count = cutpt->fake_count; xpos = cutpt->position (); mid_cuts = cutpt->cheap_cuts (); }
inT16 FPSEGPT::cheap_cuts | ( | ) | const [inline] |
Definition at line 66 of file pitsync1.h.
{ //no of cheap cuts return mid_cuts; }
double FPSEGPT::cost_function | ( | ) | [inline] |
Definition at line 54 of file pitsync1.h.
{
return cost;
}
inT32 FPSEGPT::position | ( | ) | [inline] |
Definition at line 51 of file pitsync1.h.
{ //acces func return xpos; }
FPSEGPT* FPSEGPT::previous | ( | ) | [inline] |
Definition at line 63 of file pitsync1.h.
{
return pred;
}
double FPSEGPT::squares | ( | ) | [inline] |
Definition at line 57 of file pitsync1.h.
{
return sq_sum;
}
double FPSEGPT::sum | ( | ) | [inline] |
Definition at line 60 of file pitsync1.h.
{
return mean_sum;
}
Definition at line 73 of file pitsync1.h.
Definition at line 71 of file pitsync1.h.
Definition at line 72 of file pitsync1.h.