🍕🔥 Pizza is great! 🔥🍕

Modulo di Test del Gusto

Il Modulo di Assaggio fornisce strumenti per analizzare e confrontare i profili di sapore degli ingredienti e dei prodotti cotti in TomatoPy.

Analisi del Sapore di Base

Test di Sapore Semplice

da tomatopy importare TasteTester

# Crea un tester di sapore
tester = TasteTester()

# Analizza un ingrediente di base
profile = tester.analyze(tomato)

# Ottieni metriche di sapore di base
print(f"Dolcezza: {profile.sweetness}")
print(f"Acidità: {profile.acidity}")
print(f"Umami: {profile.umami}")

Analisi Completa

# Ottieni profilo di sapore dettagliato
profile = tester.analyze(
    ingredient,
    depth="comprehensive",
    include_aroma=True,
    include_texture=True
)

# Accedi a metriche dettagliate
print(f"Dolcezza: {profile.sweetness}")
print(f"Acidità: {profile.acidity}")
print(f"Umami: {profile.umami}")
print(f"Intensità dell'aroma: {profile.aroma.intensity}")
print(f"Punteggio della consistenza: {profile.texture.score}")

Analisi Avanzata del Sapore

Confronto dei Profili di Sapore

# Confronta più ingredienti
comparison = tester.compare(
    [tomato1, tomato2, tomato3],
    metrics=["sweetness", "acidity", "umami"]
)

# Ottieni risultati del confronto
print(f"Il più dolce: {comparison.get_highest('sweetness')}")
print(f"Il più acido: {comparison.get_highest('acidity')}")
print(f"Il più umami: {comparison.get_highest('umami')}")

Analisi dell'Equilibrio del Sapore

# Analizza l'equilibrio del sapore
balance = tester.analyze_balance(sauce)

# Ottieni metriche di equilibrio
print(f"Equilibrio complessivo: {balance.overall_score}")
print(f"Rapporto dolce-acido: {balance.sweet_sour_ratio}")
print(f"Miglioramento umami: {balance.umami_enhancement}")

Analisi dell'Aroma

Test di Aroma di Base

# Analizza l'aroma
aroma_profile = tester.analyze_aroma(tomato)

# Ottieni metriche dell'aroma
print(f"Intensità dell'aroma: {aroma_profile.intensity}")
print(f"Complessità dell'aroma: {aroma_profile.complexity}")
print(f"Note primarie: {aroma_profile.primary_notes}")

Analisi Dettagliata dell'Aroma

# Ottieni profilo di aroma dettagliato
aroma_profile = tester.analyze_aroma(
    ingredient,
    include_secondary_notes=True,
    include_tertiary_notes=True
)

# Accedi a metriche dettagliate dell'aroma
print(f"Note primarie: {aroma_profile.primary_notes}")
print(f"Note secondarie: {aroma_profile.secondary_notes}")
print(f"Note terziarie: {aroma_profile.tertiary_notes}")

Analisi della Consistenza

Test di Consistenza di Base

# Analizza la consistenza
texture_profile = tester.analyze_texture(tomato)

# Ottieni metriche della consistenza
print(f"Firmezza: {texture_profile.firmness}")
print(f"Succosità: {texture_profile.juiciness}")
print(f"Consistenza complessiva: {texture_profile.overall_score}")

Analisi Dettagliata della Consistenza

# Ottieni profilo di consistenza dettagliato
texture_profile = tester.analyze_texture(
    ingredient,
    include_mouthfeel=True,
    include_structural_analysis=True
)

# Accedi a metriche dettagliate della consistenza
print(f"Firmezza: {texture_profile.firmness}")
print(f"Succosità: {texture_profile.juiciness}")
print(f"Sensazione in bocca: {texture_profile.mouthfeel}")
print(f"Integrità strutturale: {texture_profile.structural_integrity}")

Valutazione della Qualità

Test di Qualità di Base

# Valuta la qualità
quality = tester.assess_quality(tomato)

# Ottieni metriche di qualità
print(f"Qualità complessiva: {quality.overall_score}")
print(f"Freschezza: {quality.freshness}")
print(f"Maturazione: {quality.ripeness}")

Valutazione Completa della Qualità

# Ottieni valutazione della qualità completa
quality = tester.assess_quality(
    ingredient,
    include_safety=True,
    include_shelf_life=True
)

# Accedi a metriche dettagliate di qualità
print(f"Qualità complessiva: {quality.overall_score}")
print(f"Punteggio di sicurezza: {quality.safety_score}")
print(f"Stima della durata di conservazione: {quality.shelf_life}")

Visualizzazione del Profilo di Sapore

Visualizzazione di Base

# Crea visualizzazione del profilo di sapore
viz = tester.visualize_profile(profile)

# Mostra visualizzazione
viz.show()

Visualizzazione Avanzata

# Crea una visualizzazione dettagliata
viz = tester.visualize_profile(
    profilo,
    include_aroma=True,
    include_texture=True,
    style="radar"
)

# Personalizza la visualizzazione
viz.set_color_scheme("pomodoro")
viz.set_scale("logaritmica")
viz.show()

Gestione degli errori

try:
    # Attempt invalid analysis
    tester.analyze("invalid_ingredient")
except TasteError as e:
    print(f"Error: {e}")  # "Invalid ingredient type"

try:
    # Attempt invalid comparison
    tester.compare([], metrics=["sweetness"])
except ComparisonError as e:
    print(f"Error: {e}")  # "No ingredients provided for comparison"

Riferimento API

  1. Use Appropriate Analysis Depth

    # Choose analysis depth based on needs
    if needs_detailed_analysis:
        profile = tester.analyze(ingredient, depth="comprehensive")
    else:
        profile = tester.analyze(ingredient, depth="basic")
  2. Validate Results

    # Check result validity
    if profile.is_valid():
        # Proceed with analysis
        print(profile.get_summary())
    else:
        print("Warning: Analysis may be incomplete")
  3. Handle Edge Cases

    # Handle special cases
    if ingredient.is_overripe():
        print("Warning: Ingredient may affect taste analysis")

API Reference

Classes

  • TasteTester: Main taste testing class

  • TasteProfile: Taste profile data class

  • AromaProfile: Aroma profile data class

  • TextureProfile: Texture profile data class

  • QualityProfile: Quality profile data class

  • TasteVisualizer: Visualization class

Methods

TasteTester Class

  • __init__()

  • analyze(ingredient, **params)

  • compare(ingredients, metrics)

  • analyze_balance(ingredient)

  • analyze_aroma(ingredient, **params)

  • analyze_texture(ingredient, **params)

  • assess_quality(ingredient, **params)

  • visualize_profile(profile, **params)

Next Steps

Was this helpful?