A maximum likelihood framework for factor analysis (MLFA) of dynamic images was developed. This framework allows for the introduction of weighting factors to account for the differences in signal-to-noise ratio and frame durations in the dynamic images. An efficient iterative algorithm was developed to solve the maximum likelihood problem with non-negativity constraint embedded inside the iteration loop. To address the non-uniqueness issue, blood samples as well as two different constraint strategies were employed to resolve ambiguities in the time activity curves (TAC) and factor images. Four weighting mechanisms were implemented and the algorithms were thoroughly tested using simulation studies at different signal-to-noise ratios and with different kinetic parameter realizations. In addition, rodent dynamic cardiac FDG microPET datasets were used for further validation of our algorithms. It was demonstrated that with appropriate constraints, our MLFA approach is capable of generating accurate blood input function and pure tissue TACs. The MLFA algorithm with an accompanying graphical user interface (GUI) is available at http://www.chempet.wustl.edu/faculty/shoghik.