text:
@article{atchison_curriculum_1968,
	title = {Curriculum 68: {Recommendations} for {Academic} {Programs} in {Computer} {Science}: {A} {Report} of the {ACM} {Curriculum} {Committee} on {Computer} {Science}},
	volume = {11},
	issn = {0001-0782},
	shorttitle = {Curriculum 68},
	url = {http://doi.acm.org/10.1145/362929.362976},
	doi = {10.1145/362929.362976},
	number = {3},
	journal = {Commun. ACM},
	author = {Atchison, William F. and Conte, Samuel D. and Hamblen, John W. and Hull, Thomas E. and Keenan, Thomas A. and Kehl, William B. and McCluskey, Edward J. and Navarro, Silvio O. and Rheinboldt, Werner C. and Schweppe, Earl J. and Viavant, William and Young, David M.},
	month = mar,
	year = {1968},
	pages = {151--197}
}

@techreport{the_joint_task_force_on_computing_curricula_curriculum_2015,
	address = {New York, NY, USA},
	title = {Curriculum {Guidelines} for {Undergraduate} {Degree} {Programs} in {Software} {Engineering}},
	url = {https://www.acm.org/binaries/content/assets/education/se2014.pdf},
	abstract = {The primary purpose of this volume is to provide guidance to academic institutions and accreditation agencies about what should constitute an undergraduate software engineering education. These recommendations have been developed by a broad, internationally based group of volunteer participants. This group has taken into account much of the work that has been done in software engineering education over the last quarter of a century. Software engineering curriculum recommendations are of particular relevance, since there is currently a surge in the creation of software engineering degree programs and accreditation processes for such programs have been established in a number of countries.},
	institution = {ACM},
	author = {{The Joint Task Force on Computing Curricula}},
	year = {2015}
}

@article{wilson_best_2014,
	title = {Best {Practices} for {Scientific} {Computing}},
	volume = {12},
	issn = {1545-7885},
	url = {http://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745},
	doi = {10.1371/journal.pbio.1001745},
	abstract = {We describe a set of best practices for scientific software development, based on research and experience, that will improve scientists' productivity and the reliability of their software.},
	number = {1},
	journal = {PLOS Biology},
	author = {Wilson, Greg and Aruliah, D. A. and Brown, C. Titus and Hong, Neil P. Chue and Davis, Matt and Guy, Richard T. and Haddock, Steven H. D. and Huff, Kathryn D. and Mitchell, Ian M. and Plumbley, Mark D. and Waugh, Ben and White, Ethan P. and Wilson, Paul},
	month = jan,
	year = {2014},
	pages = {e1001745}
}

@article{wilson_software_2016,
	title = {Software {Carpentry}: lessons learned},
	issn = {2046-1402},
	shorttitle = {Software {Carpentry}},
	url = {http://f1000research.com/articles/3-62/v2},
	doi = {10.12688/f1000research.3-62.v2},
	language = {en},
	urldate = {2017-12-29},
	journal = {F1000Research},
	author = {Wilson, Greg},
	month = jan,
	year = {2016}
}

@article{nolan_exampletestreasy_2017,
	title = {exampletestr—{An} easy start to unit testing {R} packages},
	volume = {2},
	issn = {2398-502X},
	url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5500893/},
	doi = {10.12688/wellcomeopenres.11635.2},
	abstract = {In spite of the utility of unit tests, most R package developers do not write them.
exampletestr makes it easier to
start writing unit tests by creating shells/skeletons of unit tests based on the examples in the user's package documentation. When completed, these unit tests test whether said examples run
correctly. By combining the functionality of
exampletestr with that of
covr, having ensured that their examples adequately demonstrate the features of their package, the developer can have much of the work of constructing a comprehensive set of unit tests done for them.},
	urldate = {2018-06-20},
	journal = {Wellcome Open Research},
	author = {Nolan, Rory and Padilla-Parra, Sergi},
	month = jun,
	year = {2017},
	pmid = {28748220},
	pmcid = {PMC5500893}
}

@article{glass_frequently_2001,
	title = {Frequently {Forgotten} {Fundamental} {Facts} {About} {Software} {Engineering}},
	volume = {18},
	issn = {0740-7459},
	url = {http://dx.doi.org/10.1109/MS.2001.922739},
	doi = {10.1109/MS.2001.922739},
	abstract = {First Page of the Article},
	number = {3},
	journal = {IEEE Softw.},
	author = {Glass, Robert L.},
	month = may,
	year = {2001},
	pages = {112--111}
}

@inproceedings{koskinen_jussi_software_2015,
	title = {Software {Maintenance} {Costs}},
	url = {https://wiki.uef.fi/download/attachments/38669960/SMCOSTS.pdf},
	urldate = {2018-01-01},
	author = {Koskinen, Jussi},
	month = apr,
	year = {2015}
}

@article{dehaghani_which_2013,
	title = {Which {Factors} {Affect} {Software} {Projects} {Maintenance} {Cost} {More}?},
	volume = {21},
	issn = {0353-8109},
	url = {https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3610582/},
	doi = {10.5455/AIM.2012.21.63-66},
	abstract = {Introduction
The software industry has had significant progress in recent years. The entire life of software includes two phases: production and maintenance. Software maintenance cost is increasingly growing and estimates showed that about 90\% of software life cost is related to its maintenance phase. Extraction and considering the factors affecting the software maintenance cost help to estimate the cost and reduce it by controlling the factors.

Methods
In this study, the factors affecting software maintenance cost were determined then were ranked based on their priority and after that effective ways to reduce the maintenance costs were presented. This paper is a research study. 15 software related to health care centers information systems in Isfahan University of Medical Sciences and hospitals function were studied in the years 2010 to 2011.

Results and discussion
Among Medical software maintenance team members, 40 were selected as sample. After interviews with experts in this field, factors affecting maintenance cost were determined. In order to prioritize the factors derived by AHP, at first, measurement criteria (factors found) were appointed by members of the maintenance team and eventually were prioritized with the help of EC software. Based on the results of this study, 32 factors were obtained which were classified in six groups. “Project” was ranked the most effective feature in maintenance cost with the highest priority. By taking into account some major elements like careful feasibility of IT projects, full documentation and accompany the designers in the maintenance phase good results can be achieved to reduce maintenance costs and increase longevity of the software.},
	number = {1},
	journal = {Acta Informatica Medica},
	author = {Dehaghani, Sayed Mehdi Hejazi and Hajrahimi, Nafiseh},
	month = mar,
	year = {2013},
	pmid = {23572866},
	pmcid = {PMC3610582},
	pages = {63--66}
}

@article{leek_opinion:_2015,
	title = {Opinion: {Reproducible} research can still be wrong: {Adopting} a prevention approach},
	volume = {112},
	issn = {0027-8424, 1091-6490},
	shorttitle = {Opinion},
	url = {http://www.pnas.org/content/112/6/1645},
	doi = {10.1073/pnas.1421412111},
	abstract = {National Academy of Sciences},
	language = {en},
	number = {6},
	journal = {Proceedings of the National Academy of Sciences},
	author = {Leek, Jeffrey T. and Peng, Roger D.},
	month = feb,
	year = {2015},
	pmid = {25670866},
	pages = {1645--1646}
}

@article{feinstein_r_2018,
	title = {R {Package} for {Pediatric} {Complex} {Chronic} {Condition} {Classification}},
	url = {https://jamanetwork.com/journals/jamapediatrics/fullarticle/2677901},
	doi = {10.1001/jamapediatrics.2018.0256},
	abstract = {This project develops computationally efficient software to generate classification of pediatric complex chronic conditions using a free, open-source statistical environment.},
	language = {en},
	urldate = {2018-04-24},
	journal = {JAMA Pediatrics},
	author = {Feinstein, James A. and Russell, Seth and DeWitt, Peter E. and Feudtner, Chris and Dai, Dingwei and Bennett, Tellen D.},
	month = apr,
	year = {2018}
}

@misc{dewitt_pccc:_2017,
	title = {pccc: {Pediatric} {Complex} {Chronic} {Conditions}},
	shorttitle = {pccc},
	url = {https://cran.r-project.org/web/packages/pccc/index.html},
	abstract = {An implementation of the pediatric complex chronic conditions (CCC)
    classification system using R and C++.},
	author = {DeWitt, Peter and Bennett, Tell and Feinstein, James and Russell, Seth},
	month = dec,
	year = {2017}
}

@article{feudtner_pediatric_2000,
	title = {Pediatric {Deaths} {Attributable} to {Complex} {Chronic} {Conditions}: {A} {Population}-{Based} {Study} of {Washington} {State}, 1980–1997},
	volume = {106},
	issn = {0031-4005, 1098-4275},
	shorttitle = {Pediatric {Deaths} {Attributable} to {Complex} {Chronic} {Conditions}},
	url = {http://pediatrics.aappublications.org/content/106/Supplement_1/205},
	abstract = {Objectives. Advances in medical technology and public health are changing the causes and patterns of pediatric mortality. To better inform health care planning for dying children, we sought to determine if an increasing proportion of pediatric deaths were attributable to an underlying complex chronic condition (CCC), what the typical age of CCC-associated deaths was, and whether this age was increasing.
Design. Population-based retrospective cohort from 1980 to 1997, compiled from Washington State annual censuses and death certificates of children 0 to 18 years old.
Main Outcome Measures. For each of 9 categories of CCCs, the counts of death, mortality rates, and ages of death.
Results. Nearly one-quarter of the 21 617 child deaths during this period were attributable to a CCC. Death rates for the sudden infant death syndrome (SIDS), CCCs, and all other causes each declined, but less so for CCCs. Among infants who died because of causes other than injury or SIDS, 31\% of the remaining deaths were attributable to a CCC in 1980 and 41\% by 1997; for deaths in children 1 year of age and older, CCCs were cited in 53\% in 1980, versus 58\% in 1997. The median age of death for all CCCs was 4 months 9 days, with substantial differences among CCCs. No overall change in the age of death between 1980 to 1997 was found (nonparametric trend test).
Conclusions. CCCs account for an increasing proportion of child deaths. The majority of these deaths occur during infancy, but the typical age varies by cause. These findings should help shape the design of support care services offered to children dying with chronic conditions and their families.},
	language = {en},
	number = {Supplement 1},
	journal = {Pediatrics},
	author = {Feudtner, Chris and Christakis, Dimitri A. and Connell, Frederick A.},
	month = jul,
	year = {2000},
	pages = {205--209}
}

@article{feudtner_pediatric_2014,
	title = {Pediatric complex chronic conditions classification system version 2: updated for {ICD}-10 and complex medical technology dependence and transplantation},
	volume = {14},
	issn = {1471-2431},
	shorttitle = {Pediatric complex chronic conditions classification system version 2},
	url = {https://doi.org/10.1186/1471-2431-14-199},
	doi = {10.1186/1471-2431-14-199},
	abstract = {The pediatric complex chronic conditions (CCC) classification system, developed in 2000, requires revision to accommodate the International Classification of Disease 10th Revision (ICD-10). To update the CCC classification system, we incorporated ICD-9 diagnostic codes that had been either omitted or incorrectly specified in the original system, and then translated between ICD-9 and ICD-10 using General Equivalence Mappings (GEMs). We further reviewed all codes in the ICD-9 and ICD-10 systems to include both diagnostic and procedural codes indicative of technology dependence or organ transplantation. We applied the provisional CCC version 2 (v2) system to death certificate information and 2 databases of health utilization, reviewed the resulting CCC classifications, and corrected any misclassifications. Finally, we evaluated performance of the CCC v2 system by assessing: 1) the stability of the system between ICD-9 and ICD-10 codes using data which included both ICD-9 codes and ICD-10 codes; 2) the year-to-year stability before and after ICD-10 implementation; and 3) the proportions of patients classified as having a CCC in both the v1 and v2 systems.},
	journal = {BMC Pediatrics},
	author = {Feudtner, Chris and Feinstein, James A. and Zhong, Wenjun and Hall, Matt and Dai, Dingwei},
	month = aug,
	year = {2014},
	pages = {199}
}

@article{agruss_ad_2000,
	title = {Ad {Hoc} {Software} {Testing}},
	volume = {4},
	journal = {Viitattu},
	author = {Agruss, Chris and Johnson, Bob},
	year = {2000},
	pages = {2009}
}

@article{kent_beck_test_1998,
	title = {Test {Infected}: {Programmers} {Love} {Writing} {Tests}},
	volume = {3},
	number = {7},
	journal = {Java Report},
	author = {{Kent Beck} and {Erich Gamma}},
	month = jul,
	year = {1998}
}

@misc{jpreese_best_nodate,
	title = {Best practices for writing unit tests},
	url = {https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-best-practices},
	abstract = {Learn best practices for writing unit tests that drive code quality and resilience},
	language = {en-us},
	urldate = {2018-08-28},
	author = {jpreese}
}

@book{burger_runit:_2015,
	title = {{RUnit}: {R} {Unit} {Test} {Framework}},
	url = {https://CRAN.R-project.org/package=RUnit},
	author = {Burger, Matthias and Juenemann, Klaus and Koenig, Thomas},
	year = {2015}
}

@book{grosjean_sciviews-r:_2014,
	address = {MONS, Belgium},
	title = {{SciViews}-{R}: {A} {GUI} {API} for {R}},
	url = {http://www.sciviews.org/SciViews-R},
	publisher = {UMONS},
	author = {Grosjean, Philippe},
	year = {2014}
}

@misc{xie_testit:_2018,
	title = {testit: {A} {Simple} {Package} for {Testing} {R} {Packages}},
	shorttitle = {testit},
	url = {https://CRAN.R-project.org/package=testit},
	abstract = {Provides two convenience functions assert() and test\_pkg() to facilitate testing R packages.},
	author = {Xie, Yihui},
	month = jun,
	year = {2018}
}

@article{wickham_testthat:_2011,
	title = {testthat: {Get} {Started} with {Testing}},
	volume = {3},
	url = {https://journal.r-project.org/archive/2011-1/RJournal_2011-1_Wickham.pdf},
	journal = {The R Journal},
	author = {Wickham, Hadley},
	year = {2011},
	pages = {5--10}
}

@misc{gaslam_unitizer:_2017,
	title = {unitizer: {Interactive} {R} {Unit} {Tests}},
	shorttitle = {unitizer},
	url = {https://CRAN.R-project.org/package=unitizer},
	abstract = {Simplifies regression tests by comparing objects produced by test code with earlier versions of those same objects. If objects are unchanged the tests pass, otherwise execution stops with error details. If in interactive mode, tests can be reviewed through the provided interactive environment.},
	author = {Gaslam, Brodie},
	month = nov,
	year = {2017}
}

@misc{lentin_unittest:_2017,
	title = {unittest: {TAP}-{Compliant} {Unit} {Testing}},
	shorttitle = {unittest},
	url = {https://CRAN.R-project.org/package=unittest},
	abstract = {Concise TAP {\textless}http://testanything.org/{\textgreater} compliant unit testing package. Authored tests can be run using CMD check with minimal implementation overhead.},
	author = {Lentin, Jamie and Hennessey, Anthony},
	month = nov,
	year = {2017}
}

@misc{dragulescu_xlsx:_2018,
	title = {xlsx: {Read}, {Write}, {Format} {Excel} 2007 and {Excel} 97/2000/{XP}/2003 {Files}},
	shorttitle = {xlsx},
	url = {https://CRAN.R-project.org/package=xlsx},
	abstract = {Provide R functions to read/write/format Excel 2007 and Excel 97/2000/XP/2003 file formats.},
	author = {Dragulescu, Adrian A. and Arendt, Cole},
	month = jun,
	year = {2018}
}

@book{nutter_redcapapi:_2018,
	title = {{redcapAPI}: {Accessing} data from {REDCap} projects using the {API}},
	url = {https://github.com/nutterb/redcapAPI/wiki},
	author = {Nutter, Benjamin and Lane, Stephen},
	year = {2018},
	doi = {10.5281/zenodo.11826}
}

@misc{sommerville_giving_2016,
	title = {Giving up on test-first development},
	url = {http://iansommerville.com/systems-software-and-technology/giving-up-on-test-first-development/},
	abstract = {Test-first or test-driven driven development (TDD) is an approach to software development where you write the tests before you write the program. You write a program to pass the test, extend the te…},
	language = {en-US},
	journal = {Systems, software and technology},
	author = {Sommerville, Ian},
	month = mar,
	year = {2016}
}

@misc{david_heinemeier_hansson_tdd_2014,
	title = {{TDD} is dead. {Long} live testing. ({DHH})},
	url = {http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html},
	author = {{David Heinemeier Hansson}},
	month = apr,
	year = {2014}
}

@misc{rooney_microsofts_2002,
	title = {Microsoft's {CEO}: 80-20 {Rule} {Applies} {To} {Bugs}, {Not} {Just} {Features}},
	shorttitle = {Microsoft's {CEO}},
	url = {http://www.crn.com/news/security/18821726/microsofts-ceo-80-20-rule-applies-to-bugs-not-just-features.htm},
	abstract = {Looks like the 80-20 rule applies to Microsoft's bugs, not just product features.},
	language = {en},
	journal = {CRN},
	author = {Rooney, Paula},
	month = oct,
	year = {2002}
}

@misc{noauthor_sunit_2017,
	title = {{SUnit}},
	url = {https://en.wikipedia.org/w/index.php?title=SUnit&oldid=815835062},
	abstract = {SUnit is a unit testing framework for the programming language Smalltalk. It is the original source of the xUnit design, originally written by the creator of Extreme Programming, Kent Beck. SUnit allows writing tests and checking results in Smalltalk.},
	language = {en},
	journal = {Wikipedia},
	month = dec,
	year = {2017},
	note = {Page Version ID: 815835062}
}

@misc{noauthor_xunit_2017,
	title = {{xUnit}},
	url = {https://en.wikipedia.org/w/index.php?title=XUnit&oldid=807299841},
	abstract = {For the particular .NET testing framework, see xUnit.net.
For the unit of measurement, see x unit.
xUnit is the collective name for several unit testing frameworks that derive their structure and functionality from Smalltalk's SUnit. SUnit, designed by Kent Beck in 1998, was written in a highly structured object-oriented style, which lent easily to contemporary languages such as Java and C\#. Following its introduction in Smalltalk the framework was ported to Java by Kent Beck and Erich Gamma and gained wide popularity, eventually gaining ground in the majority of programming languages in current use. The names of many of these frameworks are a variation on "SUnit", usually replacing the "S" with the first letter (or letters) in the name of their intended language ("JUnit" for Java, "RUnit" for R etc.). These frameworks and their common architecture are collectively known as "xUnit".},
	language = {en},
	journal = {Wikipedia},
	month = oct,
	year = {2017},
	note = {Page Version ID: 807299841}
}

@book{noauthor_selenium_nodate,
	title = {Selenium},
	url = {https://www.seleniumhq.org}
}

@book{noauthor_unified_nodate,
	title = {Unified {Functional} {Testing}},
	url = {https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview},
	publisher = {Microfocus}
}

@book{noauthor_ranorex_nodate,
	title = {Ranorex},
	url = {https://www.ranorex.com},
	publisher = {Ranorex GmbH}
}

@book{xie_dynamic_2015,
	address = {Boca Raton},
	edition = {2 edition},
	title = {Dynamic {Documents} with {R} and knitr},
	isbn = {978-1-4987-1696-3},
	abstract = {Quickly and Easily Write Dynamic Documents Suitable for both beginners and advanced users, Dynamic Documents with R and knitr, Second Edition makes writing statistical reports easier by integrating computing directly with reporting. Reports range from homework, projects, exams, books, blogs, and web pages to virtually any documents related to statistical graphics, computing, and data analysis. The book covers basic applications for beginners while guiding power users in understanding the extensibility of the knitr package. New to the Second Edition  A new chapter that introduces R Markdown v2 Changes that reflect improvements in the knitr package New sections on generating tables, defining custom printing methods for objects in code chunks, the C/Fortran engines, the Stan engine, running engines in a persistent session, and starting a local server to serve dynamic documents Boost Your Productivity in Statistical Report Writing and Make Your Scientific Computing with R Reproducible Like its highly praised predecessor, this edition shows you how to improve your efficiency in writing reports. The book takes you from program output to publication-quality reports, helping you fine-tune every aspect of your report.},
	language = {English},
	publisher = {Chapman and Hall/CRC},
	author = {Xie, Yihui},
	month = jun,
	year = {2015}
}

@book{noauthor_unit_nodate,
	title = {Unit testing {Anti}-patterns catalogue},
	url = {https://stackoverflow.com/questions/333682/unit-testing-anti-patterns-catalogue}
}

@book{jarkko_moilanen_test_nodate,
	title = {Test {Driven} {Development} details},
	url = {https://github.com/educloudalliance/educloud-development/wiki/Test-Driven-Development-details},
	author = {Jarkko Moilanen}
}

@misc{james_carr_tdd_2015,
	title = {{TDD} {Anti}-{Patterns}},
	url = {https://web.archive.org/web/20150726134212/http://blog.james-carr.org:80/2006/11/03/tdd-anti-patterns/},
	author = {{James Carr}},
	month = jul,
	year = {2015}
}

@book{sommerville_software_2015,
	address = {Boston},
	edition = {10 edition},
	title = {Software {Engineering}},
	isbn = {978-0-13-394303-0},
	abstract = {For courses in computer science and software engineering     The Fundamental Practice of Software Engineering    Software Engineering  introduces readers to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world’s major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner.   The Tenth Edition contains new information that highlights various technological updates of recent years, providing readers with highly relevant and current information. Sommerville’s experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.},
	language = {English},
	publisher = {Pearson},
	author = {Sommerville, Ian},
	month = apr,
	year = {2015}
}

@misc{feinerer_dsl:_2015,
	title = {{DSL}: {Distributed} {Storage} and {List}},
	shorttitle = {{DSL}},
	url = {https://CRAN.R-project.org/package=DSL},
	abstract = {An abstract DList class helps storing large list-type objects in a distributed manner. Corresponding high-level functions and methods for handling distributed storage (DStorage) and lists allows for processing such DLists on distributed systems efficiently. In doing so it uses a well defined storage backend implemented based on the DStorage class.},
	author = {Feinerer, Ingo and Theussl, Stefan and Buchta, Christian},
	month = jul,
	year = {2015}
}

@techreport{eddelbuettel_extending_2017,
	title = {Extending {R} with {C}++: {A} {Brief} {Introduction} to {Rcpp}},
	shorttitle = {Extending {R} with {C}++},
	url = {https://peerj.com/preprints/3188},
	abstract = {R has always provided an application programming interface (API) for extensions. Based on the C language, it uses a number of macros and other low-level constructs to exchange data structures between the R process and any dynamically-loaded component modules authors added to it. With the introduction of the Rcpp package, and its later refinements, this process has become considerably easier yet also more robust. By now, Rcpp has become the most popular extension mechanism for R. This article introduces Rcpp, and illustrates with several examples how the Rcpp Attributes mechanism in particular eases the transition of objects between R and C++ code.},
	language = {en},
	number = {e3188v1},
	institution = {PeerJ Inc.},
	author = {Eddelbuettel, Dirk and Balamuta, James Joseph},
	month = aug,
	year = {2017},
	doi = {10.7287/peerj.preprints.3188v1}
}

@misc{allaire_rcppparallel:_2018,
	title = {{RcppParallel}: {Parallel} {Programming} {Tools} for '{Rcpp}'},
	shorttitle = {{RcppParallel}},
	url = {https://CRAN.R-project.org/package=RcppParallel},
	abstract = {High level functions for parallel programming with 'Rcpp'. For example, the 'parallelFor()' function can be used to convert the work of a standard serial "for" loop into a parallel one and the 'parallelReduce()' function can be used for accumulating aggregate or other values.},
	author = {Allaire, J. J. and Francois, Romain and Ushey, Kevin and Vandenbrouck, Gregory and library, Marcus Geelnard (TinyThread and http://tinythreadpp.bitsnbites.eu/) and RStudio and library, Intel (Intel TBB and https://www.threadingbuildingblocks.org/) and Microsoft},
	month = jul,
	year = {2018}
}

@article{yu_rmpi:_2002,
	title = {Rmpi: {Parallel} {Statistical} {Computing} in {R}},
	volume = {2},
	url = {https://cran.r-project.org/doc/Rnews/Rnews_2002-2.pdf},
	number = {2},
	journal = {R News},
	author = {Yu, Hao},
	year = {2002},
	pages = {10--14}
}

@misc{noauthor_sparkr_nodate,
	title = {{SparkR} ({R} on {Spark}) - {Spark} 2.3.2 {Documentation}},
	url = {https://spark.apache.org/docs/latest/sparkr.html}
}

@article{bischl_batchjobs_2015,
	title = {{BatchJobs} and {BatchExperiments}: {Abstraction} {Mechanisms} for {Using} {R} in {Batch} {Environments}},
	volume = {64},
	url = {http://www.jstatsoft.org/v64/i11/},
	number = {11},
	journal = {Journal of Statistical Software},
	author = {Bischl, Bernd and Lang, Michel and Mersmann, Olaf and Rahnenführer, Jörg and Weihs, Claus},
	year = {2015},
	pages = {1--25}
}

@misc{calaway_domc:_2017,
	title = {{doMC}: {Foreach} {Parallel} {Adaptor} for 'parallel'},
	shorttitle = {{doMC}},
	url = {https://CRAN.R-project.org/package=doMC},
	abstract = {Provides a parallel backend for the \%dopar\% function using the multicore functionality of the parallel package.},
	author = {Calaway, Rich and Analytics, Revolution and Weston, Steve},
	month = dec,
	year = {2017}
}

@misc{weston_dompi:_2017,
	title = {{doMPI}: {Foreach} {Parallel} {Adaptor} for the {Rmpi} {Package}},
	shorttitle = {{doMPI}},
	url = {https://CRAN.R-project.org/package=doMPI},
	abstract = {Provides a parallel backend for the \%dopar\% function using the Rmpi package.},
	author = {Weston, Steve},
	month = may,
	year = {2017}
}

@misc{calaway_doparallel:_2018,
	title = {{doParallel}: {Foreach} {Parallel} {Adaptor} for the 'parallel' {Package}},
	shorttitle = {{doParallel}},
	url = {https://CRAN.R-project.org/package=doParallel},
	abstract = {Provides a parallel backend for the \%dopar\% function using the parallel package.},
	author = {Calaway, Rich and Corporation, Microsoft and Weston, Steve and Tenenbaum, Dan},
	month = sep,
	year = {2018}
}

@misc{calaway_dosnow:_2017,
	title = {{doSNOW}: {Foreach} {Parallel} {Adaptor} for the 'snow' {Package}},
	shorttitle = {{doSNOW}},
	url = {https://CRAN.R-project.org/package=doSNOW},
	abstract = {Provides a parallel backend for the \%dopar\% function using the snow package of Tierney, Rossini, Li, and Sevcikova.},
	author = {Calaway, Rich and Corporation, Microsoft and Weston, Stephen},
	month = dec,
	year = {2017}
}

@misc{calaway_foreach:_2017,
	title = {foreach: {Provides} {Foreach} {Looping} {Construct} for {R}},
	shorttitle = {foreach},
	url = {https://CRAN.R-project.org/package=foreach},
	abstract = {Support for the foreach looping construct. Foreach is an idiom that allows for iterating over elements in a collection, without the use of an explicit loop counter. This package in particular is intended to be used for its return value, rather than for its side effects. In that sense, it is similar to the standard lapply function, but doesn't require the evaluation of a function. Using foreach without side effects also facilitates executing the loop in parallel.},
	author = {Calaway, Rich and Microsoft and Weston, Steve},
	month = dec,
	year = {2017}
}

@misc{bengtsson_future:_2018,
	title = {future: {Unified} {Parallel} and {Distributed} {Processing} in {R} for {Everyone}},
	shorttitle = {future},
	url = {https://CRAN.R-project.org/package=future},
	abstract = {The purpose of this package is to provide a lightweight and unified Future API for sequential and parallel processing of R expression via futures. The simplest way to evaluate an expression in parallel is to use 'x \%{\textless}-\% \{ expression \}' with 'plan(multiprocess)'. This package implements sequential, multicore, multisession, and cluster futures. With these, R expressions can be evaluated on the local machine, in parallel a set of local machines, or distributed on a mix of local and remote machines. Extensions to this package implement additional backends for processing futures via compute cluster schedulers etc. Because of its unified API, there is no need to modify any code in order switch from sequential on the local machine to, say, distributed processing on a remote compute cluster. Another strength of this package is that global variables and functions are automatically identified and exported as needed, making it straightforward to tweak existing code to make use of futures.},
	author = {Bengtsson, Henrik},
	month = jul,
	year = {2018}
}

@misc{bengtsson_future.apply:_2018,
	title = {future.apply: {Apply} {Function} to {Elements} in {Parallel} using {Futures}},
	shorttitle = {future.apply},
	url = {https://CRAN.R-project.org/package=future.apply},
	abstract = {Implementations of apply(), eapply(), lapply(), Map(), mapply(), replicate(), sapply(), tapply(), and vapply() that can be resolved using any future-supported backend, e.g. parallel on the local machine or distributed on a compute cluster. These future\_*apply() functions come with the same pros and cons as the corresponding base-R *apply() functions but with the additional feature of being able to be processed via the future framework.},
	author = {Bengtsson, Henrik and R Core Team},
	month = aug,
	year = {2018}
}

@book{mersmann_microbenchmark:_2018,
	title = {microbenchmark: {Accurate} {Timing} {Functions}},
	url = {https://CRAN.R-project.org/package=microbenchmark},
	author = {Mersmann, Olaf},
	year = {2018}
}

@book{r_core_team_r:_2018,
	address = {Vienna, Austria},
	title = {R: {A} {Language} and {Environment} for {Statistical} {Computing}},
	url = {https://www.R-project.org/},
	publisher = {R Foundation for Statistical Computing},
	author = {{R Core Team}},
	year = {2018}
}

@misc{eckert_paralleldist:_2018,
	title = {{parallelDist}: {Parallel} {Distance} {Matrix} {Computation} using {Multiple} {Threads}},
	shorttitle = {{parallelDist}},
	url = {https://CRAN.R-project.org/package=parallelDist},
	abstract = {A fast parallelized alternative to R's native 'dist' function to calculate distance matrices for continuous, binary, and multi-dimensional input matrices, which supports a broad variety of 39 predefined distance functions from the 'stats', 'proxy' and 'dtw' R packages, as well as user- defined functions written in C++. For ease of use, the 'parDist' function extends the signature of the 'dist' function and uses the same parameter naming conventions as distance methods of existing R packages. The package is mainly implemented in C++ and leverages the 'RcppParallel' package to parallelize the distance computations with the help of the 'TinyThread' library. Furthermore, the 'Armadillo' linear algebra library is used for optimized matrix operations during distance calculations. The curiously recurring template pattern (CRTP) technique is applied to avoid virtual functions, which improves the Dynamic Time Warping calculations while the implementation stays flexible enough to support different DTW step patterns and normalization methods.},
	author = {Eckert, Alexander},
	month = sep,
	year = {2018}
}

@misc{bischl_parallelmap:_2015,
	title = {{parallelMap}: {Unified} {Interface} to {Parallelization} {Back}-{Ends}},
	shorttitle = {{parallelMap}},
	url = {https://CRAN.R-project.org/package=parallelMap},
	abstract = {Unified parallelization framework for multiple back-end, designed for internal package and interactive usage. The main operation is a parallel "map" over lists. Supports local, multicore, mpi and BatchJobs mode. Allows "tagging" of the parallel operation with a level name that can be later selected by the user to switch on parallel execution for exactly this operation.},
	author = {Bischl, Bernd and Lang, Michel},
	month = jun,
	year = {2015}
}

@article{matloff_software_2016,
	title = {Software {Alchemy}: {Turning} {Complex} {Statistical} {Computations} into {Embarrassingly}-{Parallel} {Ones}},
	volume = {71},
	doi = {10.18637/jss.v071.i04},
	number = {4},
	journal = {Journal of Statistical Software},
	author = {Matloff, Norman},
	year = {2016},
	pages = {1--15}
}

@misc{wickham_profr:_2014,
	title = {profr: {An} alternative display for profiling information},
	shorttitle = {profr},
	url = {https://CRAN.R-project.org/package=profr},
	abstract = {profr provides an alternative data structure and visual rendering for the profiling information generated by Rprof.},
	author = {Wickham, Hadley},
	month = apr,
	year = {2014}
}

@book{chang_profvis:_2018,
	title = {profvis: {Interactive} {Visualizations} for {Profiling} {R} {Code}},
	url = {https://CRAN.R-project.org/package=profvis},
	author = {Chang, Winston and Luraschi, Javier},
	year = {2018}
}

@misc{kusnierczyk_rbenchmark:_2012,
	title = {rbenchmark: {Benchmarking} routine for {R}},
	shorttitle = {rbenchmark},
	url = {https://CRAN.R-project.org/package=rbenchmark},
	abstract = {rbenchmark is inspired by the Perl module Benchmark, and is intended to facilitate benchmarking of arbitrary R code. The library consists of just one function, benchmark, which is a simple wrapper around system.time. Given a specification of the benchmarking process (counts of replications, evaluation environment) and an arbitrary number of expressions, benchmark evaluates each of the expressions in the specified environment, replicating the evaluation as many times as specified, and returning the results conveniently wrapped into a data frame.},
	author = {Kusnierczyk, Wacek and Eddelbuettel, Dirk and Hasselman, Berend},
	month = aug,
	year = {2012}
}

@misc{tierney_snow:_2018,
	title = {snow: {Simple} {Network} of {Workstations}},
	shorttitle = {snow},
	url = {https://CRAN.R-project.org/package=snow},
	abstract = {Support for simple parallel computing in R.},
	author = {Tierney, Luke and Rossini, A. J. and Li, Na and Sevcikova, H.},
	month = sep,
	year = {2018}
}

@misc{luraschi_sparklyr:_2018,
	title = {sparklyr: {R} {Interface} to {Apache} {Spark}},
	shorttitle = {sparklyr},
	url = {https://CRAN.R-project.org/package=sparklyr},
	abstract = {R interface to Apache Spark, a fast and general engine for big data processing, see {\textless}http://spark.apache.org{\textgreater}. This package supports connecting to local and remote Apache Spark clusters, provides a 'dplyr' compatible back-end, and provides an interface to Spark's built-in machine learning algorithms.},
	author = {Luraschi, Javier and Kuo, Kevin and Ushey, Kevin and Allaire, J. J. and Macedo, Samuel and RStudio and Foundation, The Apache Software},
	month = sep,
	year = {2018}
}

@book{izrailev_tictoc:_2014,
	title = {tictoc: {Functions} for timing {R} scripts, as well as implementations of {Stack} and {List} structures.},
	url = {https://CRAN.R-project.org/package=tictoc},
	author = {Izrailev, Sergei},
	year = {2014}
}

@book{noauthor_performance_nodate,
	title = {Performance {Tips}},
	url = {https://wiki.python.org/moin/PythonSpeed/PerformanceTips}
}

@misc{noauthor_binary_2018,
	title = {Binary search algorithm},
	url = {https://en.wikipedia.org/w/index.php?title=Binary_search_algorithm&oldid=835131405},
	abstract = {In computer science, binary search, also known as half-interval search, logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array; if they are unequal, the half in which the target cannot lie is eliminated and the search continues on the remaining half until it is successful. If the search ends with the remaining half being empty, the target is not in the array.
Binary search runs in at worst logarithmic time, making O(log n) comparisons, where n is the number of elements in the array, the O is Big O notation, and log is the logarithm. Binary search takes constant (O(1)) space, meaning that the space taken by the algorithm is the same for any number of elements in the array. Although specialized data structures designed for fast searching—such as hash tables—can be searched more efficiently, binary search applies to a wider range of problems.
Although the idea is simple, implementing binary search correctly requires attention to some subtleties about its exit conditions and midpoint calculation.
There are numerous variations of binary search. In particular, fractional cascading speeds up binary searches for the same value in multiple arrays, efficiently solving a series of search problems in computational geometry and numerous other fields. Exponential search extends binary search to unbounded lists. The binary search tree and B-tree data structures are based on binary search.},
	language = {en},
	journal = {Wikipedia},
	month = apr,
	year = {2018},
	note = {Page Version ID: 835131405}
}

@misc{justin_abrahms_big-o_nodate,
	title = {Big-{O} notation explained by a self-taught programmer},
	url = {https://justin.abrah.ms/computer-science/big-o-notation-explained.html},
	author = {{Justin Abrahms}}
}

@book{tierney_proftools:_2016,
	title = {proftools: {Profile} {Output} {Processing} {Tools} for {R}},
	url = {https://CRAN.R-project.org/package=proftools},
	author = {Tierney, Luke and Jarjour, Riad},
	year = {2016}
}

@book{burns_r_2012,
	title = {The {R} {Inferno}},
	isbn = {978-1-4710-4652-0},
	abstract = {An essential guide to the trouble spots and oddities of R. In spite of the quirks exposed here, R is the best computing environment for most data analysis tasks. R is free, open-source, and has thousands of contributed packages. It is used in such diverse fields as ecology, finance, genomics and music. If you are using spreadsheets to understand data, switch to R. You will have safer - and ultimately, more convenient - computations.},
	language = {English},
	publisher = {lulu.com},
	author = {Burns, Patrick},
	month = jan,
	year = {2012}
}

@misc{jim_xochellis_impact_2010,
	title = {The impact of the {Pareto} principle in optimization - {CodeProject}},
	url = {https://www.codeproject.com/Articles/49023/The-impact-of-the-Pareto-principle-in-optimization},
	author = {{Jim Xochellis}},
	month = jan,
	year = {2010}
}

@misc{jim_bird_applying_2013,
	title = {Applying the 80:20 {Rule} in {Software} {Development} - {DZone} {Agile}},
	shorttitle = {Applying the 80},
	url = {https://dzone.com/articles/applying-8020-rule-software},
	abstract = {Managers don’t want to think harder than they have to. They like simple rules of thumb, quick and straightforward ways of looking at problems and getting...},
	language = {en},
	journal = {dzone.com},
	author = {{Jim Bird}},
	month = nov,
	year = {2013}
}

@article{knuth_structured_1974,
	title = {Structured {Programming} with {Go} to {Statements}},
	volume = {6},
	issn = {0360-0300},
	url = {http://doi.acm.org/10.1145/356635.356640},
	doi = {10.1145/356635.356640},
	number = {4},
	journal = {ACM Comput. Surv.},
	author = {Knuth, Donald E.},
	month = dec,
	year = {1974},
	pages = {261--301}
}

@misc{emily_robinson_making_2017,
	title = {Making {R} {Code} {Faster} : {A} {Case} {Study}},
	shorttitle = {Making {R} {Code} {Faster}},
	url = {https://robinsones.github.io/Making-R-Code-Faster-A-Case-Study/},
	abstract = {About two months ago I put a call out to Rstats twitter:},
	language = {en},
	journal = {Hooked on Data},
	author = {{Emily Robinson}},
	month = nov,
	year = {2017}
}

@book{wickham_advanced_2014,
	address = {Boca Raton, FL},
	edition = {1 edition},
	title = {Advanced {R}},
	isbn = {978-1-4665-8696-3},
	abstract = {An Essential Reference for Intermediate and Advanced R Programmers Advanced R presents useful tools and techniques for attacking many types of R programming problems, helping you avoid mistakes and dead ends. With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R.  The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn:  The fundamentals of R, including standard data types and functions Functional programming as a useful framework for solving wide classes of problems The positives and negatives of metaprogramming  How to write fast, memory-efficient code   This book not only helps current R users become R programmers but also shows existing programmers what’s special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.},
	language = {English},
	publisher = {Chapman and Hall/CRC},
	author = {Wickham, Hadley},
	month = sep,
	year = {2014}
}


text:
@inproceedings{rebetez:hal-01018700,
 address = {Stockholm, Sweden},
 author = {Rebetez, Julien and Tuia, Devis and Courty, Nicolas},
 booktitle = {International Conference on Pattern Recognition (ICPR 2014)},
 hal_id = {hal-01018700},
 hal_version = {v1},
 month = {August},
 pages = {1--6},
 pdf = {https://hal.archives-ouvertes.fr/hal-01018700/file/GM.pdf},
 title = {Network-based correlated correspondence for unsupervised domain adaptation of hyperspectral satellite images},
 url = {https://hal.archives-ouvertes.fr/hal-01018700},
 year = {2014}
}

license: MIT

repository: ncourty/academic-kickstart

license_type: permissive

repo_name: ncourty/academic-kickstart

branch_name: refs/heads/master

gha_license_id: MIT

extension: bib


text:
@article{bauer2017ripser,
  title={Ripser: a lean C++ code for the computation of Vietoris-Rips persistence barcodes},
  author={Bauer, Ulrich},
  journal={Software available at https://github.com/Ripser/ripser},
  year={2017}
}

@article{scikit-learn,
 title={Scikit-learn: Machine Learning in {P}ython},
 author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V.
         and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P.
         and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and
         Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.},
 journal={Journal of Machine Learning Research},
 volume={12},
 pages={2825--2830},
 year={2011}
}

@Article{obayashi2018persistence,
  author="Obayashi, Ippei
  and Hiraoka, Yasuaki
  and Kimura, Masao",
  title="Persistence diagrams with linear machine learning models",
  journal="Journal of Applied and Computational Topology",
  year="2018",
  month="Jun",
  day="01",
  volume="1",
  number="3",
  pages="421--449",
  abstract="Persistence diagrams have been widely recognized as a compact descriptor for characterizing multiscale topological features in data. When many datasets are available, statistical features embedded in those persistence diagrams can be extracted by applying machine learnings. In particular, the ability for explicitly analyzing the inverse in the original data space from those statistical features of persistence diagrams is significantly important for practical applications. In this paper, we propose a unified method for the inverse analysis by combining linear machine learning models with persistence images. The method is applied to point clouds and cubical sets, showing the ability of the statistical inverse analysis and its advantages.",
  issn="2367-1734",
  doi="10.1007/s41468-018-0013-5",
  url="https://doi.org/10.1007/s41468-018-0013-5"
}

@Article{de2011persistent,
  author="de Silva, Vin
  and Morozov, Dmitriy
  and Vejdemo-Johansson, Mikael",
  title="Persistent Cohomology and Circular Coordinates",
  journal="Discrete {\&} Computational Geometry",
  year="2011",
  month="Jun",
  day="01",
  volume="45",
  number="4",
  pages="737--759",
  abstract="Nonlinear dimensionality reduction (NLDR) algorithms such as Isomap, LLE, and Laplacian Eigenmaps address the problem of representing high-dimensional nonlinear data in terms of low-dimensional coordinates which represent the intrinsic structure of the data. This paradigm incorporates the assumption that real-valued coordinates provide a rich enough class of functions to represent the data faithfully and efficiently. On the other hand, there are simple structures which challenge this assumption: the circle, for example, is one-dimensional, but its faithful representation requires two real coordinates. In this work, we present a strategy for constructing circle-valued functions on a statistical data set. We develop a machinery of persistent cohomology to identify candidates for significant circle-structures in the data, and we use harmonic smoothing and integration to obtain the circle-valued coordinate functions themselves. We suggest that this enriched class of coordinate functions permits a precise NLDR analysis of a broader range of realistic data sets.",
  issn="1432-0444",
  doi="10.1007/s00454-011-9344-x",
  url="https://doi.org/10.1007/s00454-011-9344-x"
}

@Article{perea2018multiscale,
  author="Perea, Jose A.",
  title="Multiscale Projective Coordinates via Persistent Cohomology of Sparse Filtrations",
  journal="Discrete {\&} Computational Geometry",
  year="2018",
  month="Jan",
  day="01",
  volume="59",
  number="1",
  pages="175--225",
  abstract="We present a framework which leverages the underlying topology of a data set, in order to produce appropriate coordinate representations. In particular, we show how to construct maps to real and complex projective spaces, given appropriate persistent cohomology classes. An initial map is obtained in two steps: First, the persistent cohomology of a sparse filtration is used to compute systems of transition functions for (real and complex) line bundles over neighborhoods of the data. Next, the transition functions are used to produce explicit classifying maps for the induced bundles. A framework for dimensionality reduction in projective space (Principal Projective Components) is also developed, aimed at decreasing the target dimension of the original map. Several examples are provided as well as theorems addressing choices in the construction.",
  issn="1432-0444",
  doi="10.1007/s00454-017-9927-2",
  url="https://doi.org/10.1007/s00454-017-9927-2"
}

@article{cavannageometric,
  title={A Geometric Perspective on Sparse Filtrations},
  author={Cavanna, Nicholas J and Jahanseir, Mahmoodreza and Sheehy, Donald R},
  journal={Proceedings of the Canadian Conference in Computational Geometry},
  year={2015}
}

% TDA / Applications

@book{edelsbrunner2010computational,
  title={Computational topology: an introduction},
  author={Edelsbrunner, Herbert and Harer, John},
  year={2010},
  publisher={American Mathematical Soc.}
}

@article{carlsson2009topology,
  title={Topology and data},
  author={Carlsson, Gunnar},
  journal={Bulletin of the American Mathematical Society},
  volume={46},
  number={2},
  pages={255--308},
  year={2009}
}

@Article{perea2015sliding,
  author="Perea, Jose A.
  and Harer, John",
  title="Sliding Windows and Persistence: An Application of Topological Methods to Signal Analysis",
  journal="Foundations of Computational Mathematics",
  year="2015",
  month="Jun",
  day="01",
  volume="15",
  number="3",
  pages="799--838",
  abstract="We develop in this paper a theoretical framework for the topological study of time series data. Broadly speaking, we describe geometrical and topological properties of sliding window embeddings, as seen through the lens of persistent homology. In particular, we show that maximum persistence at the point-cloud level can be used to quantify periodicity at the signal level, prove structural and convergence theorems for the resulting persistence diagrams, and derive estimates for their dependency on window size and embedding dimension. We apply this methodology to quantifying periodicity in synthetic data sets and compare the results with those obtained using state-of-the-art methods in gene expression analysis. We call this new method SW1PerS, which stands for Sliding Windows and 1-Dimensional Persistence Scoring.",
  issn="1615-3383",
  doi="10.1007/s10208-014-9206-z",
  url="https://doi.org/10.1007/s10208-014-9206-z"
}

@InProceedings{wu2017optimal,
  author="Wu, Pengxiang
  and Chen, Chao
  and Wang, Yusu
  and Zhang, Shaoting
  and Yuan, Changhe
  and Qian, Zhen
  and Metaxas, Dimitris
  and Axel, Leon",
  editor="Niethammer, Marc
  and Styner, Martin
  and Aylward, Stephen
  and Zhu, Hongtu
  and Oguz, Ipek
  and Yap, Pew-Thian
  and Shen, Dinggang",
  title="Optimal Topological Cycles and Their Application in Cardiac Trabeculae Restoration",
  booktitle="Information Processing in Medical Imaging",
  year="2017",
  publisher="Springer International Publishing",
  address="Cham",
  pages="80--92",
  abstract="In cardiac image analysis, it is important yet challenging to reconstruct the trabeculae, namely, fine muscle columns whose ends are attached to the ventricular walls. To extract these fine structures, traditional image segmentation methods are insufficient. In this paper, we propose a novel method to jointly detect salient topological handles and compute the optimal representations of them. The detected handles are considered hypothetical trabeculae structures. They are further screened using a classifier and are then included in the final segmentation. We show in experiments the significance of our contribution compared with previous standard segmentation methods without topological priors, as well as with previous topological method in which non-optimal representations of topological handles are used.",
  isbn="978-3-319-59050-9"
}

@article{stolz2017persistent,
  title={Persistent homology of time-dependent functional networks constructed from coupled time series},
  author={Stolz, Bernadette J and Harrington, Heather A and Porter, Mason A},
  journal={Chaos: An Interdisciplinary Journal of Nonlinear Science},
  volume={27},
  number={4},
  pages={047410},
  year={2017},
  publisher={AIP Publishing}
}

@article {iyer2010imaging,
	author = {Iyer-Pascuzzi, Anjali S. and Symonova, Olga and Mileyko, Yuriy and Hao, Yueling and Belcher, Heather and Harer, John and Weitz, Joshua S. and Benfey, Philip N.},
	title = {Imaging and Analysis Platform for Automatic Phenotyping and Trait Ranking of Plant Root Systems},
	volume = {152},
	number = {3},
	pages = {1148--1157},
	year = {2010},
	doi = {10.1104/pp.109.150748},
	publisher = {American Society of Plant Biologists},
	abstract = {The ability to nondestructively image and automatically phenotype complex root systems, like those of rice (Oryza sativa), is fundamental to identifying genes underlying root system architecture (RSA). Although root systems are central to plant fitness, identifying genes responsible for RSA remains an underexplored opportunity for crop improvement. Here we describe a nondestructive imaging and analysis system for automated phenotyping and trait ranking of RSA. Using this system, we image rice roots from 12 genotypes. We automatically estimate RSA traits previously identified as important to plant function. In addition, we expand the suite of features examined for RSA to include traits that more comprehensively describe monocot RSA but that are difficult to measure with traditional methods. Using 16 automatically acquired phenotypic traits for 2,297 images from 118 individuals, we observe (1) wide variation in phenotypes among the genotypes surveyed; and (2) greater intergenotype variance of RSA features than variance within a genotype. RSA trait values are integrated into a computational pipeline that utilizes supervised learning methods to determine which traits best separate two genotypes, and then ranks the traits according to their contribution to each pairwise comparison. This trait-ranking step identifies candidate traits for subsequent quantitative trait loci analysis and demonstrates that depth and average radius are key contributors to differences in rice RSA within our set of genotypes. Our results suggest a strong genetic component underlying rice RSA. This work enables the automatic phenotyping of RSA of individuals within mapping populations, providing an integrative framework for quantitative trait loci analysis of RSA.},
	issn = {0032-0889},
	URL = {http://www.plantphysiol.org/content/152/3/1148},
	eprint = {http://www.plantphysiol.org/content/152/3/1148.full.pdf},
	journal = {Plant Physiology}
}
@article {giusti2015clique,
	author = {Giusti, Chad and Pastalkova, Eva and Curto, Carina and Itskov, Vladimir},
	title = {Clique topology reveals intrinsic geometric structure in neural correlations},
	volume = {112},
	number = {44},
	pages = {13455--13460},
	year = {2015},
	doi = {10.1073/pnas.1506407112},
	publisher = {National Academy of Sciences},
	abstract = {Detecting structure in neural activity is critical for understanding the function of neural circuits. The coding properties of neurons are typically investigated by correlating their responses to external stimuli. It is not clear, however, if the structure of neural activity can be inferred intrinsically, without a priori knowledge of the relevant stimuli. We introduce a novel method, called clique topology, that detects intrinsic structure in neural activity that is invariant under nonlinear monotone transformations. Using pairwise correlations of neurons in the hippocampus, we demonstrate that our method is capable of detecting geometric structure from neural activity alone, without appealing to external stimuli or receptive fields.Detecting meaningful structure in neural activity and connectivity data is challenging in the presence of hidden nonlinearities, where traditional eigenvalue-based methods may be misleading. We introduce a novel approach to matrix analysis, called clique topology, that extracts features of the data invariant under nonlinear monotone transformations. These features can be used to detect both random and geometric structure, and depend only on the relative ordering of matrix entries. We then analyzed the activity of pyramidal neurons in rat hippocampus, recorded while the animal was exploring a 2D environment, and confirmed that our method is able to detect geometric organization using only the intrinsic pattern of neural correlations. Remarkably, we found similar results during nonspatial behaviors such as wheel running and rapid eye movement (REM) sleep. This suggests that the geometric structure of correlations is shaped by the underlying hippocampal circuits and is not merely a consequence of position coding. We propose that clique topology is a powerful new tool for matrix analysis in biological settings, where the relationship of observed quantities to more meaningful variables is often nonlinear and unknown.},
	issn = {0027-8424},
	URL = {http://www.pnas.org/content/112/44/13455},
	eprint = {http://www.pnas.org/content/112/44/13455.full.pdf},
	journal = {Proceedings of the National Academy of Sciences}
}

@article{kramar2013persistence,
  title = {Persistence of force networks in compressed granular media},
  author = {Kramar, M. and Goullet, A. and Kondic, L. and Mischaikow, K.},
  journal = {Phys. Rev. E},
  volume = {87},
  issue = {4},
  pages = {042207},
  numpages = {8},
  year = {2013},
  month = {Apr},
  publisher = {American Physical Society},
  doi = {10.1103/PhysRevE.87.042207},
  url = {https://link.aps.org/doi/10.1103/PhysRevE.87.042207}
}

@Article{perea2014klein,
  author="Perea, Jose A.
  and Carlsson, Gunnar",
  title="A Klein-Bottle-Based Dictionary for Texture Representation",
  journal="International Journal of Computer Vision",
  year="2014",
  month="Mar",
  day="01",
  volume="107",
  number="1",
  pages="75--97",
  issn="1573-1405",
  doi="10.1007/s11263-013-0676-2",
  url="https://doi.org/10.1007/s11263-013-0676-2"
}

@article{tralie2017quasi,
  author = {Christopher J. Tralie and Jose A. Perea},
  title = {(Quasi)Periodicity Quantification in Video Data, Using Topology},
  journal = {SIAM Journal on Imaging Sciences},
  volume = {11},
  number = {2},
  pages = {1049-1077},
  year = {2018},
  doi = {10.1137/17M1150736},
  URL = {https://doi.org/10.1137/17M1150736},
  eprint = { https://doi.org/10.1137/17M1150736}
}
@inproceedings{tralie2018slomoloops,
  title={Topological Eulerian Synthesis of Slow Motion Periodic Videos},
  author={Tralie, Christopher J and Berger, Matthew},
  booktitle={IEEE International Conference on Image Processing},
  year={2018}
}

@article{tralie2018autism,
  author = {Tralie, Christopher J. and Matthew, Goodwin S. and Sapiro, Guillermo},
  title = {Automated Detection of Stereotypical Motor Movements in Children with Autism Spectrum Disorder Using Geometric Feature Fusion},
  journal = {International Society for Autism Research (INSAR)},
  year = {2018}
}

@article{bendich2016persistent,
  title = "Persistent homology analysis of brain artery trees",
  abstract = "New representations of tree-structured data objects, using ideas from topological data analysis, enable improved statistical analyses of a population of brain artery trees. A number of representations of each data tree arise from persistence diagrams that quantify branching and looping of vessels at multiple scales. Novel approaches to the statistical analysis, through various summaries of the persistence diagrams, lead to heightened correlations with covariates such as age and sex, relative to earlier analyses of this data set. The correlation with age continues to be significant even after controlling for correlations from earlier significant summaries.",
  keywords = "Angiography, Persistent homology, Statistics, Topological data analysis, Tree-structured data",
  author = "Paul Bendich and Marron, {J. S.} and Ezra Miller and Alex Pieloch and Sean Skwerer",
  year = "2016",
  month = "3",
  day = "1",
  doi = "10.1214/15-AOAS886",
  language = "English (US)",
  volume = "10",
  pages = "198--218",
  journal = "Annals of Applied Statistics",
  issn = "1932-6157",
  publisher = "Institute of Mathematical Statistics",
  number = "1",
}

gha_license_id: NOASSERTION