Interactive visualization of clementine ratings. Each data point is photo-verified, capturing tastiness, sweetness, tartness, and firmness over time.
def clementime_survey_procedure() -> cgp.ProcedureSequence:
"""Client-side procedure for clementine rating survey."""
root = cgp.GetRootDirectory()
session = root.new_session("clementine")
# Load reference image for alignment
reference_photo = root.new_file("reference").load(
or_else=cgp.NullProcedure(return_type=cgp.PImage)
)
# Capture aligned photo
photo = cgp.CaptureAlignedImage(
label="Photograph the clementine",
reference_image=reference_photo,
)
# Create rating inputs
ratings = [
session.new_file("tastiness").save(
cgp.UserInputRating(label="How tasty?", max_stars=5)
),
session.new_file("sweetness").save(
cgp.UserInputRating(label="How sweet?", max_stars=5)
),
]
return cgp.ProcedureSequence(
label="Clementine Rating",
procedures=[
session.new_file("photo").save(photo),
cgp.ProcedureSet(procedures=ratings),
],
)