A system for visualizing a surgical site, the system comprising: a robotic mechanism for performing a procedure on a patient; an imaging device coupled to the robotic mechanism , the imaging device configured to provide image data of a site of interest; a computing device coupled to the imaging device , the computing device including one or more processors and at least one memory device configured to store executable instructions, the executable instructions, when executed by the processor , are configured to: receive the image data of the site of interest, the image data including a sequence of frames; differentiate between a tissue and blood obstructing the tissue in the received image data based on a range of target colors that move in a particular pattern in the sequence of frames; filter the received image data to remove line-of-sight restrictions by replacing pixels related to the blood with pixels related to the tissue being obstructed by the blood using a buffered image of the tissue before being obstructed by the blood; generate an output frame from the filtered image data; wherein the processor is further configured to cease filtering when an amount of the blood in a field of view exceeds a predetermined threshold or alert a user when an increase in blood flow is determined; and a presentation interface device coupled to the computing device , the presentation interface device configured to present the output frame for visualization of the site of interest. a robotic mechanism for performing a procedure on a patient; an imaging device coupled to the robotic mechanism , the imaging device configured to provide image data of a site of interest; a computing device coupled to the imaging device , the computing device including one or more processors and at least one memory device configured to store executable instructions, the executable instructions, when executed by the processor , are configured to: receive the image data of the site of interest, the image data including a sequence of frames; differentiate between a tissue and blood obstructing the tissue in the received image data based on a range of target colors that move in a particular pattern in the sequence of frames; filter the received image data to remove line-of-sight restrictions by replacing pixels related to the blood with pixels related to the tissue being obstructed by the blood using a buffered image of the tissue before being obstructed by the blood; generate an output frame from the filtered image data; wherein the processor is further configured to cease filtering when an amount of the blood in a field of view exceeds a predetermined threshold or alert a user when an increase in blood flow is determined; and receive the image data of the site of interest, the image data including a sequence of frames; differentiate between a tissue and blood obstructing the tissue in the received image data based on a range of target colors that move in a particular pattern in the sequence of frames; filter the received image data to remove line-of-sight restrictions by replacing pixels related to the blood with pixels related to the tissue being obstructed by the blood using a buffered image of the tissue before being obstructed by the blood; generate an output frame from the filtered image data; wherein the processor is further configured to cease filtering when an amount of the blood in a field of view exceeds a predetermined threshold or alert a user when an increase in blood flow is determined; and a presentation interface device coupled to the computing device , the presentation interface device configured to present the output frame for visualization of the site of interest. <EOS>