NFD Authors
===========

NFD is an open source project started in late 2013, includes contributions
from many people around the world, and open for new contributions from new
volunteers.


## Project technical leads:

* Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
* Junxiao Shi         <http://www.cs.arizona.edu/people/shijunxiao/>


## Technical advisors:

* Beichuan Zhang      <http://www.cs.arizona.edu/~bzhang/>
* Lixia Zhang         <http://www.cs.ucla.edu/~lixia/>


## All project authors and contributors and their affiliations:

* University of California, Los Angeles

    * Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
    * Ilya Moiseenko      <http://ilyamoiseenko.com/>
    * Yingdi Yu           <http://irl.cs.ucla.edu/~yingdi/web/index.html>
    * Wentao Shang        <http://irl.cs.ucla.edu/~wentao/>
    * Lixia Zhang         <http://www.cs.ucla.edu/~lixia/>

* The University of Arizona

    * Junxiao Shi         <http://www.cs.arizona.edu/people/shijunxiao/>
    * Yi Huang            <ethanhuang1991@gmail.com>
    * Jerald Paul Abraham <http://www.cs.arizona.edu/people/jeraldabraham/>
    * Beichuan Zhang      <http://www.cs.arizona.edu/~bzhang/>

* Colorado State University

    * Steve DiBenedetto     <http://www.cs.colostate.edu/~dibenede/>
    * Christos Papadopoulos <http://www.cs.colostate.edu/~christos/>

* University Pierre & Marie Curie, Sorbonne University

    * Davide Pesavento    <http://www.lip6.fr/actualite/personnes-fiche.php?ident=D1469>
    * Giulio Grassi       <http://www.lip6.fr/actualite/personnes-fiche.php?ident=D1461>
    * Giovanni Pau        <http://www.cs.ucla.edu/~gpau/Giovanni_Paus_Home_Page/Home.html>

* Beijing Institute of Technology

    * Hang Zhang          <http://netlab.bit.edu.cn/z_hang>
    * Tian Song           <http://cs.bit.edu.cn/songtian>

* Washington University in St. Louis

    * Haowei Yuan         <http://www.cse.wustl.edu/~yuanh/>
    * Hila Ben Abraham    <http://research.engineering.wustl.edu/~abrahamh/>
    * Patrick Crowley     <http://www.arl.wustl.edu/~pcrowley/>
