Refuse centering measurement on die-cut/clear-window cards
Same failure family as the edge-whitening fix: centering_profile assumed a uniform printed border, so on an E-X/SPx-style die-cut the side midpoint samples landed on clear acetate and the border-width walk measured two different materials, producing a confident 70/30 the model then treated as authoritative. Now the four side samples must read as the same material or the measurement refuses with the reason; the prompt tells the model to judge die-cut centering as design-to-cut registration instead.
This commit is contained in:
parent
bb5d50502c
commit
fa5467e55d
3 changed files with 81 additions and 6 deletions
23
vision.py
23
vision.py
|
|
@ -264,6 +264,14 @@ leniently, 75/25 for a 10 and 90/10 from 9 downwards):
|
|||
Note that centering is a manufacturing trait, not damage: a badly centred \
|
||||
card can still be pristine, and PSA may grade it strongly with an OC \
|
||||
(off-centre) qualifier rather than a low number.
|
||||
DIE-CUT and clear-window cards (SPx, E-X Century, jersey- or \
|
||||
shape-die-cuts) have no uniform rectangular border, so border-width ratios \
|
||||
mostly do not apply to them. Judge centering there as the printed design's \
|
||||
registration to the die-cut shape and the card's physical edges — that is \
|
||||
what PSA keys off for these issues — and do not reconstruct a border ratio \
|
||||
by eye on a card that has no border. If a MEASURED CENTERING block was \
|
||||
supplied anyway on such a card, distrust it outright: the measurement \
|
||||
assumes a uniform printed border this card does not have.
|
||||
- CORNERS: look for whitening, fraying, softness, or blunting at each of the \
|
||||
four corners. Sharp corners on all four is 9-10 territory; slight whitening \
|
||||
visible under magnification but not to the eye is 8-9; obvious whitening or \
|
||||
|
|
@ -646,7 +654,20 @@ def grade_card(images, api_key=None, model=None, effort=None, zoom_details=True)
|
|||
aspect = cardimage.aspect_profile(images[0][0]) if can_measure else None
|
||||
|
||||
prompt_parts = []
|
||||
if centering:
|
||||
if centering and centering.get("reliable") is False:
|
||||
prompt_parts.append(
|
||||
"CENTERING COULD NOT BE MEASURED on this card, because {}. "
|
||||
"You are getting no border-width numbers, and on a card like "
|
||||
"this a border-width ratio is the wrong tool anyway: judge "
|
||||
"centering by eye as the printed design's alignment relative to "
|
||||
"the die-cut shape and the card's physical edges — that is what "
|
||||
"PSA actually keys off for die-cut issues. Do not reconstruct a "
|
||||
"left/right border ratio visually on a card with no uniform "
|
||||
"border; describe what you can genuinely see about the cut's "
|
||||
"registration to the printed pattern, and widen the range if "
|
||||
"the photo doesn't settle it.".format(
|
||||
centering.get("reason", "of its cut")))
|
||||
elif centering:
|
||||
prompt_parts.append(
|
||||
"MEASURED CENTERING — computed from the pixels by finding the "
|
||||
"border on each side of the card:\n"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue