ultrawidify/src/ext/lib/aard/interfaces/aard-test-results.interface.ts

72 lines
2.0 KiB
TypeScript
Raw Normal View History

2024-10-19 16:04:20 +02:00
import { AardSettings } from '../../../../common/interfaces/SettingsInterface'
export interface AardTestResults {
isFinished: boolean,
lastStage: number,
notLetterbox: boolean,
blackLevel: number, // is cumulative
blackThreshold: number, // is cumulative
guardLine: {
top: number, // is cumulative
bottom: number, // is cumulative
invalidated: boolean,
cornerViolations: [boolean, boolean, boolean, boolean],
},
imageLine: {
top: number, // is cumulative
bottom: number, // is cumulative
invalidated: boolean
2024-10-19 16:04:20 +02:00
},
aspectRatioCheck: {
topRows: [number, number, number],
topQuality: [number, number, number],
bottomRows: [number, number, number],
bottomQuality: [number, number, number],
topCandidate: number,
topCandidateQuality: number
},
logoDetected: [boolean, boolean, boolean, boolean]
}
2024-10-19 16:04:20 +02:00
export function initAardTestResults(settings: AardSettings): AardTestResults {
return {
isFinished: true,
lastStage: 0,
notLetterbox: false,
2024-10-19 16:04:20 +02:00
blackLevel: settings.blackLevels.defaultBlack,
blackThreshold: 16,
guardLine: {
top: -1,
bottom: -1,
invalidated: false,
cornerViolations: [false, false, false, false],
},
imageLine: {
top: -1,
bottom: -1,
invalidated: false,
2024-10-19 16:04:20 +02:00
},
aspectRatioCheck: {
topRows: [-1, -1, -1],
topQuality: [0, 0, 0],
bottomRows: [-1, -1, -1],
bottomQuality: [0, 0, 0],
topCandidate: 0,
topCandidateQuality: 0
},
logoDetected: [false, false, false, false]
}
}
2024-10-19 16:04:20 +02:00
export function resetAardTestResults(results: AardTestResults): void {
results.isFinished = false;
results.lastStage = 0;
results.notLetterbox = false;
results.guardLine.invalidated = false
results.guardLine.cornerViolations[0] = false;
results.guardLine.cornerViolations[1] = false;
results.guardLine.cornerViolations[2] = false;
results.guardLine.cornerViolations[3] = false;
}