pcv.hyperspectral.analyze_index summary statistics need help handling different datatypes 
**Describe the bug**
It was noticed that some of the summary statistics being saved during `pcv.hyperspectral.analyze_index` are NaN (funky data values within different indices means that we need to be able to handle values like infinity).  

**To Reproduce**
Reported while running the ARI index through the analyze_index function.

**Expected behavior**
Be able to measure mean/median/stdev regardless of which index is being analyzed. 


**Ideas for moving forward**
- replace with versions of the function that are able to handle NAs, and also consider masking out bad/problematic pixels before analysis. Allow users to provide a mask for bad pixels but if not provided, then mask out pixels within the function. 
diff --git a/plantcv/plantcv/hyperspectral/analyze_index.py b/plantcv/plantcv/hyperspectral/analyze_index.py
index d4a3f59c..b77a858d 100644
--- a/plantcv/plantcv/hyperspectral/analyze_index.py
+++ b/plantcv/plantcv/hyperspectral/analyze_index.py
@@ -47,9 +47,11 @@ def analyze_index(index_array, mask, histplot=False, bins=100, min_bin=0, max_bi
 
     # Mask data and collect statistics about pixels within the masked image
     masked_array = index_array.array_data[np.where(mask > 0)]
-    index_mean = np.average(masked_array)
-    index_median = np.median(masked_array)
-    index_std = np.std(masked_array)
+    masked_array = masked_array[np.isfinite(masked_array)]
+
+    index_mean = np.nanmean(masked_array)
+    index_median = np.nanmedian(masked_array)
+    index_std = np.nanstd(masked_array)
 
     # Set starting point and max bin values
     maxval = max_bin
['plantcv/plantcv/hyperspectral/analyze_index.py']