Open-source C++ Framework of Nonnegative Matrix Factorization and its applications in neuroimaging
Abstract
Non-negative matrix factorization (NMF) produces a factorization that constrains the elements of both the factor matrices to be non-negative. It has been a popular feature extraction method in many applications including neuroimaging. One limitation of the existing softwares of NMF is that they were written in and dependent on the proprietary software of MATLAB. To address this limitation, we introduced an open-source C++ package for performing NMF. To make NMF more accessible to the scientific research community, we describe a NMF algorithm implemented using the Insight Toolkit ITK and Armadillo, a MATLAB style C++ based math library. Armadillo facilitates the computations in linear algebra by calling functions without any need to implement functions in C++. In addition, This framework supports the read and write interface to images specific to neuroscience. Finally, The package supports NMF with multiplicative update and sophisticated initialization methods. We showed that the package has accuracy matching MATLAB and its speed close to that of MATLAB. We used simple simulated images to test its functionality. Then, we demonstrated how the package can be used to analyze neuroimaging data. Specifically, we used the package to find a data-driven set of structural patterns(factor matrices) that are similar across individuals. We validated this factorization method by associating their weighted loading matrices with body mass indices (BMI) of individuals from the human connectome project.
Related articles
Related articles are currently not available for this article.