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
Copy 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
Copy # 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
Copy # 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
Copy # 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
Copy # 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
Copy # 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
Copy # 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
Copy # 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
Copy # 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à
Copy # 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
Copy # Crea visualizzazione del profilo di sapore
viz = tester.visualize_profile(profile)
# Mostra visualizzazione
viz.show()
Visualizzazione Avanzata
Copy # 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
Copy 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
Use Appropriate Analysis Depth
Copy # Choose analysis depth based on needs
if needs_detailed_analysis:
profile = tester.analyze(ingredient, depth="comprehensive")
else:
profile = tester.analyze(ingredient, depth="basic")
Validate Results
Copy # Check result validity
if profile.is_valid():
# Proceed with analysis
print(profile.get_summary())
else:
print("Warning: Analysis may be incomplete")
Handle Edge Cases
Copy # 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
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