A photoacoustic imaging system comprising an image processor configured to: receive user input specifying: a plurality of imaging wavelengths; and a target number of image frames to be taken of a target tissue region; for each of the plurality of specified imaging wavelengths : capture by means of the imaging system an image frame to be taken at the specified imaging wavelength; while the image frame is captured, receive electrocardiography (ECG) data and respiration data associated with the target tissue region; determine , based on the respiration data , whether to discard the image frame ; in response to determining that the image frame should not be discarded, assigning , based on the ECG data , the image frame to one of a plurality of image frame slots, wherein: the plurality of image frame slots is equal to the target number of image frames; and each image frame slot corresponds to a different point on a cardiac cycle determined from the ECG data ; continuing to capture additional image frames until at least one image frame has been assigned to each image frame slot in the plurality of image frame slots; in response to determining that at least the target number of image frames have been captured at each of the specified imaging wavelengths, combining the image frames from the plurality of imaging wavelengths to create a composite image frame depicting the target tissue through at least one cardiac cycle. receive user input specifying: a plurality of imaging wavelengths; and a target number of image frames to be taken of a target tissue region; a plurality of imaging wavelengths; and a target number of image frames to be taken of a target tissue region; for each of the plurality of specified imaging wavelengths : capture by means of the imaging system an image frame to be taken at the specified imaging wavelength; while the image frame is captured, receive electrocardiography (ECG) data and respiration data associated with the target tissue region; determine , based on the respiration data , whether to discard the image frame ; in response to determining that the image frame should not be discarded, assigning , based on the ECG data , the image frame to one of a plurality of image frame slots, wherein: the plurality of image frame slots is equal to the target number of image frames; and each image frame slot corresponds to a different point on a cardiac cycle determined from the ECG data ; continuing to capture additional image frames until at least one image frame has been assigned to each image frame slot in the plurality of image frame slots; capture by means of the imaging system an image frame to be taken at the specified imaging wavelength; while the image frame is captured, receive electrocardiography (ECG) data and respiration data associated with the target tissue region; determine , based on the respiration data , whether to discard the image frame ; in response to determining that the image frame should not be discarded, assigning , based on the ECG data , the image frame to one of a plurality of image frame slots, wherein: the plurality of image frame slots is equal to the target number of image frames; and each image frame slot corresponds to a different point on a cardiac cycle determined from the ECG data ; the plurality of image frame slots is equal to the target number of image frames; and each image frame slot corresponds to a different point on a cardiac cycle determined from the ECG data ; continuing to capture additional image frames until at least one image frame has been assigned to each image frame slot in the plurality of image frame slots; in response to determining that at least the target number of image frames have been captured at each of the specified imaging wavelengths, combining the image frames from the plurality of imaging wavelengths to create a composite image frame depicting the target tissue through at least one cardiac cycle. <EOS>