A surgical system including a surgical instrument, the surgical system comprising: at least one light emitter disposed at a working end of the surgical instrument; an array of light sensors disposed at the working end of the surgical instrument, individual light sensors in the array of light sensors adapted to generate a signal comprising a non-pulsatile component; and a controller coupled to the array of light sensors, the controller comprising an analyzer configured to: determine a curve of the non-pulsatile components of the signals of each of the individual light sensors in the array of light sensors, characterized in that the analyzer is further configured to: smooth the curve to generate a smoothed curve; calculate a derivative of the smoothed curve; invert the smoothed curve to generate an inverted smoothed curve; calculate a derivative of the inverted smoothed curve; take a difference between the derivative of the inverted smoothed curve and the derivative of the smoothed curve to generate a resultant curve; smooth the resultant curve to generate a smoothed, resultant curve; estimate zero crossings of the smoothed, resultant curve; apply a signum function to points adjacent each zero crossing, if any, to generate a result; and identify a region of interest, if any, based on the result for points adjacent each zero crossing, if any. at least one light emitter disposed at a working end of the surgical instrument; an array of light sensors disposed at the working end of the surgical instrument, individual light sensors in the array of light sensors adapted to generate a signal comprising a non-pulsatile component; and a controller coupled to the array of light sensors, the controller comprising an analyzer configured to: determine a curve of the non-pulsatile components of the signals of each of the individual light sensors in the array of light sensors, characterized in that the analyzer is further configured to: smooth the curve to generate a smoothed curve; calculate a derivative of the smoothed curve; invert the smoothed curve to generate an inverted smoothed curve; calculate a derivative of the inverted smoothed curve; take a difference between the derivative of the inverted smoothed curve and the derivative of the smoothed curve to generate a resultant curve; smooth the resultant curve to generate a smoothed, resultant curve; estimate zero crossings of the smoothed, resultant curve; apply a signum function to points adjacent each zero crossing, if any, to generate a result; and identify a region of interest, if any, based on the result for points adjacent each zero crossing, if any. smooth the curve to generate a smoothed curve; calculate a derivative of the smoothed curve; invert the smoothed curve to generate an inverted smoothed curve; calculate a derivative of the inverted smoothed curve; take a difference between the derivative of the inverted smoothed curve and the derivative of the smoothed curve to generate a resultant curve; smooth the resultant curve to generate a smoothed, resultant curve; estimate zero crossings of the smoothed, resultant curve; apply a signum function to points adjacent each zero crossing, if any, to generate a result; and identify a region of interest, if any, based on the result for points adjacent each zero crossing, if any.