diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..40f95cd --- /dev/null +++ b/.gitattributes @@ -0,0 +1,221 @@ +# This global .gitattributes file is adhered to via command: +# git config --global core.attributesfile ~/git-global/.gitattributes_global +# +# Use this file on every device where git development is done. + + +### +### Auto detect text files and perform LF normalization +### +# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/ +* text=auto + +### +### The above will handle all files NOT found below. +### From https://github.com/alexkaratarakis/gitattributes +### + +### gitattributes/C++.gitattributes d3b93d4 on Jun 20, 2018 +#sources +*.c text diff=cpp +*.cc text diff=cpp +*.cxx text diff=cpp +*.cpp text diff=cpp +*.c++ text diff=cpp +*.hpp text diff=cpp +*.h text diff=cpp +*.h++ text diff=cpp +*.hh text diff=cpp + +# Compiled Object files +*.slo binary +*.lo binary +*.o binary +*.obj binary + +# Precompiled Headers +*.gch binary +*.pch binary + +# Compiled Dynamic libraries +*.so binary +*.dylib binary +*.dll binary + +# Compiled Static libraries +*.lai binary +*.la binary +*.a binary +*.lib binary + +# Executables +*.exe binary +*.out binary +*.app binary + +# Other +############## +*.exe binary +*.num binary +*.xls binary +*.xlsx binary +*.XLS binary +*.XLSX binary +bin/ binary + +### gitattributes/Common.gitattributes 9b38185 on Jun 9, 2018 +# Common settings that generally should always be used with your language specific settings + +# Auto detect text files and perform LF normalization +# http://davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/ +* text=auto + +# +# The above will handle all files NOT found below +# + +# Documents +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain +*.md text diff=markdown +*.adoc text +*.textile text +*.tex text diff=tex +*.mustache text +*.csv text +*.tab text +*.tsv text +*.sql text + +# Graphics +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.tif binary +*.tiff binary +*.ico binary +# SVG treated as an asset (binary) by default. If you want to treat it as text, +# comment-out the following line and uncomment the line after. +*.svg binary +#*.svg text +*.eps binary + +### gitattributes/Java.gitattributes c08b42f on Mar 29, 2017 +# Handle line endings automatically for files detected as text +# and leave all files detected as binary untouched. +* text=auto + +# +# The above will handle all files NOT found below +# +# These files are text and should be normalized (Convert crlf => lf) +*.css text +*.df text +*.htm text +*.html text +*.java text +*.js text +*.json text +*.jsp text +*.jspf text +*.jspx text +*.properties text +*.sh text +*.tld text +*.txt text +*.tag text +*.tagx text +*.xml text +*.yml text +*.toml text + +# These files are binary and should be left untouched +# (binary is a macro for -text -diff) +*.class binary +*.dll binary +*.ear binary +*.gif binary +*.ico binary +*.jar binary +*.jpg binary +*.jpeg binary +*.png binary +*.so binary +*.war binary + +### gitattributes/Matlab.gitattributes d2539f6 on Dec 3, 2015 +# Basic .gitattributes for a MATLAB repo. +# This template includes Simulink and MuPAD extensions, in addition +# to the MATLAB extensions. + +# Source files +# ============ +*.m text +*.mu text + +# Caution: *.m also matches Mathematica packages. + +# Binary files +# ============ +*.p binary +*.mex* binary +*.fig binary +*.mat binary +*.mdl binary +*.slx binary +*.mdlp binary +*.slxp binary +*.sldd binary +*.mltbx binary +*.mlappinstall binary +*.mlpkginstall binary +*.mn binary + +### gitattributes/Python.gitattributes cbd3af4 on Jun 20, 2018 +# Basic .gitattributes for a python repo. + +# Source files +# ============ +*.pxd text diff=python +*.py text diff=python +*.py3 text diff=python +*.pyw text diff=python +*.pyx text diff=python + +# Binary files +# ============ +*.db binary +*.p binary +*.pkl binary +*.pyc binary +*.pyd binary +*.pyo binary + +# Note: .db, .p, and .pkl files are associated +# with the python modules ``pickle``, ``dbm.*``, +# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb`` +# (among others). + +### gitattributes/R.gitattributes 80aacc1 on Aug 22, 2015 +# Basic .gitattributes for a R repo. + +# Source files +# ============ +*.Rdata text +*.rdb binary +*.rds binary +*.Rd text +*.Rdx binary +*.Rmd text +*.R text + + diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..d288319 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,37 @@ +name: CI +on: + push: + branches: + - main + tags: '*' + pull_request: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + + - name: Run tests + run: > + julia --project=. --color=yes test/runtests.jl diff --git a/.github/workflows/forms.yml b/.github/workflows/forms.yml new file mode 100644 index 0000000..68f9fee --- /dev/null +++ b/.github/workflows/forms.yml @@ -0,0 +1,20 @@ +on: + push: + paths: + - project*.toml + - .github/workflows/forms.yml +jobs: + build-deploy: + runs-on: ubuntu-latest + strategy: + matrix: + language: + - de + - en + steps: + - name: Generate Forms + uses: s-ccs/consentform_gh_action@main + with: + language: ${{ matrix.language }} + + \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f084b4b --- /dev/null +++ b/.gitignore @@ -0,0 +1,416 @@ +################################################################################ +# DrWatson Project Structure # +################################################################################ + +# Folders to ignore - files may be too large, too many, etc. NOTE: EDIT IF NEEDED. +#/data +#/videos +#/plots +#/notebooks +#/_research + +################################################################################ +# Julia # +################################################################################ + +# Files generated by invoking Julia with --code-coverage +*.jl.cov +*.jl.*.cov + +# Files generated by invoking Julia with --track-allocation +*.jl.mem + +# System-specific files and directories generated by the BinaryProvider and +# BinDeps packages. +# They contain absolute paths, and so should not be committed +deps/deps.jl +deps/build.log +deps/downloads/ +deps/usr/ +deps/src/ + +# Build artifacts for creating documentation generated by the Documenter package +docs/build/ +docs/site/ + +################################################################################ +# Jupyter Notebook # +################################################################################ + +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +################################################################################ +# Microsoft Office # +################################################################################ + +*.tmp + +# Word temporary +~$*.doc* + +# Word Auto Backup File +Backup of *.doc* + +# Excel temporary +~$*.xls* + +# Excel Backup File +*.xlk + +# PowerPoint temporary +~$*.ppt* + +################################################################################ +# LaTeX # +################################################################################ + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules will exclude image files for figures, et cetera... +# *.ps +# *.eps +# *.pdf + +## Generated if empty string given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind +*.ist + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices +*.xyc + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# KBibTeX +*~[0-9]* + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +### LaTeX Patch ### +# glossaries +*.glstex + +################################################################################ +# Operating systems # +################################################################################ + +######################################## +# Linux # +######################################## + +*~ + +# temporary files which can be created if a process still has a handle open of +# a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +######################################## +# macOS # +######################################## + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +######################################## +# Windows # +######################################## + +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +## Acknowledgements +# Many thanks to `https://gitignore.io/`, written and maintained by Joe Blau, which contributed much material to this gitignore file. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..203056a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 s-ccs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..64d9278 --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,214 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.11.1" +manifest_format = "2.0" +project_hash = "a11ebb6caafde5f3a8467bc297dda9fe2be1e4cd" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.2" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.11.0" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +version = "1.11.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +version = "1.11.0" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.DrWatson]] +deps = ["Dates", "FileIO", "JLD2", "LibGit2", "MacroTools", "Pkg", "Random", "Requires", "Scratch", "UnPack"] +git-tree-sha1 = "17c9db646d6cb3f68a90053bf46faf5312d13b36" +uuid = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1" +version = "2.18.0" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "2dd20384bf8c6d411b5c7370865b1e9b26cb2ea3" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.6" + + [deps.FileIO.extensions] + HTTPExt = "HTTP" + + [deps.FileIO.weakdeps] + HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +version = "1.11.0" + +[[deps.JLD2]] +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] +git-tree-sha1 = "f1a1c1037af2a4541ea186b26b0c0e7eeaad232b" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.5.10" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.6.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +version = "1.11.0" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.7.2+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +version = "1.11.0" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +version = "1.11.0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.13" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +version = "1.11.0" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.6+0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" +version = "1.11.0" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.12.12" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.7.0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.11.0" + + [deps.Pkg.extensions] + REPLExt = "REPL" + + [deps.Pkg.weakdeps] + REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +version = "1.11.0" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +version = "1.11.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.3" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +version = "1.11.0" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +version = "1.11.0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.59.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..d593425 --- /dev/null +++ b/Project.toml @@ -0,0 +1,6 @@ +name = "template_project" +[compat] +julia = "1.11.1" +DrWatson = "2.18.0" +[deps] +DrWatson = "634d3b9d-ee7a-5ddf-bec9-22491ea816e1" \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..30d1652 --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +# **Project Template:** Put name of project here +**Authors:** *Your name* + +**Year:** *2025* + +## Project Description +>provide a short description of the main goals + +## Zotero Library Path +>Please provide the link to the Zotero group here or include a `Bib`-File in the `report` folder + +## Instructions +>If someone wants to re-run your study, how do they do that? Give instructions here. + +## Overview of Folder Structure + +``` +│projectdir <- Project's main folder. It is initialized as a Git +│ repository with a .gitignore file. +│ +├── experiment <- Files for running the experiment +| +├── notebooks <- Pluto, Jupyter, Weave or any other mixed media notebooks.* +| +├── papers <- Materials related to paper, publishing +| +├── _research <- WIP scripts, code, notes, comments, +│ | to-dos and anything in an alpha state. +│ +├── plots <- All exported plots go here, best in date folders. +| | Note that to ensure reproducibility it is required that all plots can be +| | recreated using the plotting scripts in the scripts folder. +| +│ +├── scripts <- Various scripts, e.g. simulations, plotting, analysis, +│ │ The scripts use the `src` folder for their base code. +│ +├── src <- Source code for use in this project. Contains functions, +│ structures and modules that are used throughout +│ the project and in multiple scripts. +│ +├── test <- Folder containing tests for `src`. +│ └── runtests.jl <- Main test file +│ +├── README.md <- Top-level README. +| +├── .gitignore <- produced by Dr. Watson +│ +├── (Manifest.toml) <- Contains full list of exact package versions used currently. +|── (Project.toml) <- Main project file, allows activation and installation. Produced by Dr. Watson +|── (project_project_template.toml) <- This is for a content-wise description of your experiment. + Change "project_template" in the filename to your project name. + +``` + +\*Instead of having a separate *notebooks* folder, you can also delete it and integrate your notebooks in the scripts folder. However, notebooks should always be marked by adding `nb_` in front of the file name. + + +# template_project - produced by Dr. Watson + +This code base is using the [Julia Language](https://julialang.org/) and +[DrWatson](https://juliadynamics.github.io/DrWatson.jl/stable/) +to make a reproducible scientific project named +> template_project + +To (locally) reproduce this project, do the following: + +0. Download this code base. Notice that raw data are typically not included in the + git-history and may need to be downloaded independently. +1. Open a Julia console and do: + ``` + julia> using Pkg + julia> Pkg.add("DrWatson") # install globally, for using `quickactivate` + julia> Pkg.activate("path/to/this/project") + julia> Pkg.instantiate() + ``` + +This will install all necessary packages for you to be able to run the scripts and +everything should work out of the box, including correctly finding local paths. + +You may notice that most scripts start with the commands: +```julia +using DrWatson +@quickactivate "template_project" +``` +which auto-activate the project and enable local path handling from DrWatson. diff --git a/_research/.gitkeep b/_research/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/experiment/README.md b/experiment/README.md new file mode 100644 index 0000000..ce6675d --- /dev/null +++ b/experiment/README.md @@ -0,0 +1,13 @@ +# Experiment Name + +## Installation 👩‍💻 + +## Experiment Flow 🌊 + +## Experiment Details + +### General Information + +### Experimental Parameters + +### Triggers used : diff --git a/notebooks/.gitkeep b/notebooks/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/papers/.gitkeep b/papers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/plots/.gitkeep b/plots/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/project_template_project.toml b/project_template_project.toml new file mode 100644 index 0000000..0ac1b17 --- /dev/null +++ b/project_template_project.toml @@ -0,0 +1,56 @@ +[Authors] + authors = "John Doe, Lina Doe" + affiliation = "University of Stuttgart, Germany" +[AuthorsContact] + email = "john@gmail.com" +[Dataset] + title = "Convert XDF to BIDS" + dataset_description = "This is a test project to set up the pipeline to convert XDF to BIDS." + License = "MIT License" + taskName = "task-1" + +[Sources] + EEG = "EEGstream EE225" + marker = ["LSL_Markers","eegoSports-EE225_markersMarkers"] + +[Computers] + stimulusComputerUsed = true + +[Subject] + subject = ["Medicine, Health and Life Sciences","Engineering"] + +[Dataverse] + dataset_id = 123456 + dataset_title = 'Convert XDF to BIDS' + pid = ' ' + +[Consentform] + pay_per_hour = 15 + study_duration_hrs = 3 + + use_eeg = true + use_eyetracking = true + use_vr = false + + study_purpose_de = """In dieser Studie untersuchen wir, wie Menschen Bilder wahrnehmen, indem wir die Gehirnaktivität mit EEG und die Augenbewegungen mit einem Eye-Tracker aufzeichnen.""" + study_purpose_en = "In this study, we will investigate how humans perceive images by recording brain activity with EEG and eye movements using an eye-tracker." + + study_task_de = "Es werden Ihnen verschiedene Bilder auf dem Monitor präsentiert. Ihre Aufgabe ist es, die Bilder frei zu erkunden." + study_task_en = "We will present different pictures on the screen. Your task is to freely explore these pictures." + + researcher_details_de = """Verantwortliche Person: Benedikt Ehinger + Computational Cognitive Science (CCS) + Institut für Visualisierung und Interaktive Systeme (VIS) + Universität Stuttgart + Universitätsstraße 32 + 70569 Stuttgart + E-mail: benedikt.ehinger@vis.uni-stuttgart.de""" + researcher_details_en = """Responsible Principal Investigator: Benedikt Ehinger + Computational Cognitive Science (CCS) + Institute for Visualisation and Interactive Systems (VIS) + University of Stuttgart + Universitätsstraße 32 + 70569 Stuttgart + E-mail: benedikt.ehinger@vis.uni-stuttgart.de""" + + data_processing_contactperson = "Benedikt Ehinger (benedikt.ehinger@vis.uni-stuttgart.de)" \ No newline at end of file diff --git a/scripts/intro.jl b/scripts/intro.jl new file mode 100644 index 0000000..a5ec196 --- /dev/null +++ b/scripts/intro.jl @@ -0,0 +1,19 @@ +using DrWatson +@quickactivate "template_project" + +# Here you may include files from the source directory +include(srcdir("dummy_src_file.jl")) + +println( +""" +Currently active project is: $(projectname()) + +Path of active project: $(projectdir()) + +Have fun with your new project! + +You can help us improve DrWatson by opening +issues on GitHub, submitting feature requests, +or even opening your own Pull Requests! +""" +) diff --git a/src/dummy_src_file.jl b/src/dummy_src_file.jl new file mode 100644 index 0000000..ec8235f --- /dev/null +++ b/src/dummy_src_file.jl @@ -0,0 +1,11 @@ +""" + dummy_project_function(x, y) → z +Dummy function for illustration purposes. +Performs operation: +```math +z = x + y +``` +""" +function dummy_project_function(x, y) + return x + y +end diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000..c14b3b9 --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,17 @@ +using DrWatson, Test +@quickactivate "template_project" + +# Here you include files using `srcdir` +# include(srcdir("file.jl")) + +# Run test suite +println("Starting tests") +ti = time() + +@testset "template_project tests" begin + @test 1 == 1 +end + +ti = time() - ti +println("\nTest took total time of:") +println(round(ti/60, digits = 3), " minutes")