1. A method for performing a surgical procedure wherein performing the surgical procedure comprises controlling a surgical instrument, comprising: detecting surgical images within a surgical environment at multiple time points during a surgical procedure; analyzing the surgical images detected at the multiple time points during the surgical procedure to recognize and identify surgical events; obtaining instrument readings using at least one instrument sensor at multiple time points during a surgical procedure; assigning a desired function to at least one surgical event recognized and identified by the analyzing; translating each desired function into a software instruction set for subsequent use in performing the surgical procedure; and communicating sets of instructions to alter remaining portions of the surgical procedure by dynamically adjusting surgical instrument parameters based on the recognized and identified surgical events and the obtained instrument readings.