Sephfox commited on
Commit
bebe2d2
·
verified ·
1 Parent(s): 06ea1ab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -5
app.py CHANGED
@@ -564,6 +564,7 @@ if uploaded_file is not None:
564
 
565
  if st.button("Simulate Interaction"):
566
  if clicked_points:
 
567
  touch_x, touch_y = clicked_points[-1]
568
 
569
  # Retrieve the sensation values at the clicked location
@@ -588,11 +589,11 @@ if uploaded_file is not None:
588
 
589
  # Calculate overall sensations with interaction modifiers
590
  pain_level = pain * measured_pressure * touch_pressure
591
- pleasure_level = pleasure * (measured_temp - 37) / 10
592
- tickle_level = tickle_sens * (1 - np.exp(-touch_duration / 0.5))
593
- itch_level = itch_sens * (1 - np.exp(-touch_duration / 1.5))
594
 
595
- # Proprioception (sense of body position)
596
  proprioception = proprioception_sens * np.linalg.norm([touch_x - image_width / 2, touch_y - image_height / 2]) / (image_width / 2)
597
 
598
  # Synesthesia (mixing of senses) handling based on user selection
@@ -614,7 +615,7 @@ if uploaded_file is not None:
614
  if show_heatmap:
615
  heatmap = create_heatmap(sensation_map, sensation_types.index("Pain")) # Example for "Pain"
616
  st.image(heatmap, use_column_width=True)
617
-
618
  # Optionally, calculate and display the average pressure value in the image
619
  average_pressure = np.mean(sensation_map[:, :, 2]) # Pressure channel
620
  st.write(f"Average Pressure across the image: {average_pressure:.2f}")
 
564
 
565
  if st.button("Simulate Interaction"):
566
  if clicked_points:
567
+ # Ensure valid clicked points exist before accessing them
568
  touch_x, touch_y = clicked_points[-1]
569
 
570
  # Retrieve the sensation values at the clicked location
 
589
 
590
  # Calculate overall sensations with interaction modifiers
591
  pain_level = pain * measured_pressure * touch_pressure
592
+ pleasure_level = pleasure * (measured_temp - 37) / 10 # Adjusted for average body temp
593
+ tickle_level = tickle_sens * (1 - np.exp(-touch_duration / 0.5)) # Exponential decay
594
+ itch_level = itch_sens * (1 - np.exp(-touch_duration / 1.5)) # Exponential decay
595
 
596
+ # Proprioception (sense of body position) based on distance from the center
597
  proprioception = proprioception_sens * np.linalg.norm([touch_x - image_width / 2, touch_y - image_height / 2]) / (image_width / 2)
598
 
599
  # Synesthesia (mixing of senses) handling based on user selection
 
615
  if show_heatmap:
616
  heatmap = create_heatmap(sensation_map, sensation_types.index("Pain")) # Example for "Pain"
617
  st.image(heatmap, use_column_width=True)
618
+
619
  # Optionally, calculate and display the average pressure value in the image
620
  average_pressure = np.mean(sensation_map[:, :, 2]) # Pressure channel
621
  st.write(f"Average Pressure across the image: {average_pressure:.2f}")