diff --git a/eistoeigen.h b/eistoeigen.h
new file mode 100644
index 0000000000000000000000000000000000000000..89dd85760a47f0a8eae212e8b4d6194737748f97
--- /dev/null
+++ b/eistoeigen.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <Eigen/Core>
+#include <eisgenerator/eistype.h>
+#include <vector>
+
+Eigen::VectorX<std::complex<fvalue>> eistoeigen(const std::vector<eis::DataPoint>& data, Eigen::Vector<fvalue, Eigen::Dynamic>* omega = nullptr)
+{
+	Eigen::VectorX<std::complex<fvalue>> out(data.size());
+
+	if(omega)
+		*omega = Eigen::VectorX<fvalue>(data.size());
+
+	for(size_t i = 0; i < data.size(); ++i)
+	{
+		out[i] = data[i].im;
+		if(omega)
+			(*omega)[i] = data[i].omega;
+	}
+	return out;
+}