diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..88c2baf --- /dev/null +++ b/.gitattributes @@ -0,0 +1,261 @@ +#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 +*.adoc text +*.textile text +*.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 +# 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 filter=lfs diff=lfs merge=lfs -text +*.mdl binary +*.slx binary +*.mdlp binary +*.slxp binary +*.sldd binary +*.mltbx binary +*.mlappinstall binary +*.mlpkginstall binary +*.mn binary +# Basic .gitattributes for a python repo. +# Source files +# ============ +*.pxd text +*.py text +*.py3 text +*.pyw text +*.pyx text +# 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 FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### +## AUTO-DETECT +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto +## SOURCE CODE +*.bat text eol=crlf +*.coffee text +*.css text +*.htm text +*.html text +*.inc text +*.ini text +*.js text +*.json text +*.jsx text +*.less text +*.od text +*.onlydata text +*.php text +*.pl text +*.py text +*.rb text +*.sass text +*.scm text +*.scss text +*.sh text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text +## DOCKER +*.dockerignore text +Dockerfile text +## DOCUMENTATION +*.markdown text +*.md text +*.mdwn text +*.mdown text +*.mkd text +*.mkdn text +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text +## TEMPLATES +*.dot text +*.ejs text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.tmpl text +*.tpl text +*.twig text +## LINTERS +.csslintrc text +.eslintrc text +.htmlhintrc text +.jscsrc text +.jshintrc text +.jshintignore text +.stylelintrc text +## CONFIGS +*.bowerrc text +*.cnf text +*.conf text +*.config text +.browserslistrc text +.editorconfig text +.gitattributes text +.gitconfig text +.htaccess text +*.npmignore text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text +## HEROKU +Procfile text +.slugignore text +## GRAPHICS +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +*.svg text +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary +## AUDIO +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary +## VIDEO +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary +## ARCHIVES +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary +## FONTS +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary +## EXECUTABLES +*.exe binary +*.pyc binary +## Sim4Life +*.smash filter=lfs diff=lfs merge=lfs -text +*.stl filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0204a95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,390 @@ + +# Created by https://www.gitignore.io/api/c,c++,macos,matlab,python,pycharm,jupyternotebooks,jabref +# Edit at https://www.gitignore.io/?templates=c,c++,macos,matlab,python,pycharm,jupyternotebooks,jabref + +### C ### +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +### C++ ### +# Prerequisites + +# Compiled Object files +*.slo + +# Precompiled Headers + +# Compiled Dynamic libraries + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai + +# Executables + +### JabRef ### +# JabRef - https://www.jabref.org/ +*.bak +*.sav + +### JupyterNotebooks ### +# gitignore template for Jupyter Notebooks +# website: http://jupyter.org/ + +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +# IPython +profile_default/ +ipython_config.py + +# Remove previous ipynb_checkpoints +# git rm -r .ipynb_checkpoints/ + +### 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 + +### MATLAB ### +# Windows default autosave extension +*.asv + +# OSX / *nix default autosave extension +*.m~ + +# Compiled MEX binaries (all platforms) +*.mex* + +# Packaged app and toolbox files +*.mlappinstall +*.mltbx + +# Generated helpsearch folders +helpsearch*/ + +# Simulink code generation folders +slprj/ +sccprj/ + +# Matlab code generation folders +codegen/ + +# Simulink autosave extension +*.autosave + +# Octave session info +octave-workspace + +# MATLAB workspace +*.mat + +### PyCharm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### PyCharm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/**/sonarlint/ + +# SonarQube Plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator/ + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# Video +*.mp4 + +# Sim4Life +Sim4Life/ +*.smash* +*.smash_Results + +# File/folder exclusion zone +Dump/ +*.msh +*.vtk +*.mesh +*.ply + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf +.idea/**/contentModel.xml +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/ +cmake-build-*/ +.vscode/ +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# End of https://www.gitignore.io/api/c,c++,macos,matlab,python,pycharm,jupyternotebooks,jabref diff --git a/Core/FEM/Optimization.py b/Code/Core/FEM/Optimization.py similarity index 100% rename from Core/FEM/Optimization.py rename to Code/Core/FEM/Optimization.py diff --git a/Core/FEM/Solver.py b/Code/Core/FEM/Solver.py similarity index 100% rename from Core/FEM/Solver.py rename to Code/Core/FEM/Solver.py diff --git a/Core/FileOps/FileOperations.py b/Code/Core/FileOps/FileOperations.py similarity index 100% rename from Core/FileOps/FileOperations.py rename to Code/Core/FileOps/FileOperations.py diff --git a/Core/Meshing/ElectrodeOperations.py b/Code/Core/Meshing/ElectrodeOperations.py similarity index 100% rename from Core/Meshing/ElectrodeOperations.py rename to Code/Core/Meshing/ElectrodeOperations.py diff --git a/Core/Meshing/MeshOperations.py b/Code/Core/Meshing/MeshOperations.py similarity index 100% rename from Core/Meshing/MeshOperations.py rename to Code/Core/Meshing/MeshOperations.py diff --git a/Core/NiiPHM/NiiMesh.py b/Code/Core/NiiPHM/NiiMesh.py similarity index 100% rename from Core/NiiPHM/NiiMesh.py rename to Code/Core/NiiPHM/NiiMesh.py diff --git a/Core/modulation_envelope.py b/Code/Core/modulation_envelope.py similarity index 100% rename from Core/modulation_envelope.py rename to Code/Core/modulation_envelope.py diff --git a/Code/README.md b/Code/README.md new file mode 100644 index 0000000..b94df87 --- /dev/null +++ b/Code/README.md @@ -0,0 +1 @@ +# tTIS-FEM-and-Optimization \ No newline at end of file diff --git a/Scripts/Data Analysis/[Optimization]_Result_Validation.py b/Code/Scripts/Data Analysis/[Optimization]_Result_Validation.py similarity index 100% rename from Scripts/Data Analysis/[Optimization]_Result_Validation.py rename to Code/Scripts/Data Analysis/[Optimization]_Result_Validation.py diff --git a/Scripts/Gmsh/spheres.geo b/Code/Scripts/Gmsh/spheres.geo similarity index 100% rename from Scripts/Gmsh/spheres.geo rename to Code/Scripts/Gmsh/spheres.geo diff --git a/Scripts/Nifti Operations/[Post-process]_Electrodes_to_Nifti.py b/Code/Scripts/Nifti Operations/[Post-process]_Electrodes_to_Nifti.py similarity index 100% rename from Scripts/Nifti Operations/[Post-process]_Electrodes_to_Nifti.py rename to Code/Scripts/Nifti Operations/[Post-process]_Electrodes_to_Nifti.py diff --git a/Scripts/Nifti Operations/[Post-process]_FEM_to_Nifti.py b/Code/Scripts/Nifti Operations/[Post-process]_FEM_to_Nifti.py similarity index 100% rename from Scripts/Nifti Operations/[Post-process]_FEM_to_Nifti.py rename to Code/Scripts/Nifti Operations/[Post-process]_FEM_to_Nifti.py diff --git a/Scripts/Nifti Operations/[Post-process]_Nifti_to_NPZ.py b/Code/Scripts/Nifti Operations/[Post-process]_Nifti_to_NPZ.py similarity index 100% rename from Scripts/Nifti Operations/[Post-process]_Nifti_to_NPZ.py rename to Code/Scripts/Nifti Operations/[Post-process]_Nifti_to_NPZ.py diff --git a/Scripts/[Meshing]_Model_POLY.py b/Code/Scripts/[Meshing]_Model_POLY.py similarity index 100% rename from Scripts/[Meshing]_Model_POLY.py rename to Code/Scripts/[Meshing]_Model_POLY.py diff --git a/Scripts/[Optimization]_Data_Analysis.py b/Code/Scripts/[Optimization]_Data_Analysis.py similarity index 100% rename from Scripts/[Optimization]_Data_Analysis.py rename to Code/Scripts/[Optimization]_Data_Analysis.py diff --git a/Scripts/[Optimization]_Gentic_Algorithm.py b/Code/Scripts/[Optimization]_Gentic_Algorithm.py similarity index 100% rename from Scripts/[Optimization]_Gentic_Algorithm.py rename to Code/Scripts/[Optimization]_Gentic_Algorithm.py diff --git a/Scripts/[Post-process]_Electrode_Combinations.py b/Code/Scripts/[Post-process]_Electrode_Combinations.py similarity index 100% rename from Scripts/[Post-process]_Electrode_Combinations.py rename to Code/Scripts/[Post-process]_Electrode_Combinations.py diff --git a/Utilities/mesh_fixing.py b/Code/Utilities/mesh_fixing.py similarity index 100% rename from Utilities/mesh_fixing.py rename to Code/Utilities/mesh_fixing.py diff --git a/Utilities/tetgen_meshing.sh b/Code/Utilities/tetgen_meshing.sh similarity index 100% rename from Utilities/tetgen_meshing.sh rename to Code/Utilities/tetgen_meshing.sh diff --git a/sim_settings.yml b/Code/sim_settings.yml similarity index 100% rename from sim_settings.yml rename to Code/sim_settings.yml diff --git a/README.md b/README.md index b94df87..48f4a2f 100644 --- a/README.md +++ b/README.md @@ -1 +1,62 @@ -# tTIS-FEM-and-Optimization \ No newline at end of file +# Transcranial Temporal Interference Stimulation + +This project is part of the Bachelor thesis during the studies at the Physics Department of the Aristotle University of Thessaloniki, Greece. + +## Short description + +Simulations of the temporally interfering electric field distribution are conducted on the human brain using a _Simple Anthropomorphic model_ **(SAM)** and realistic brain models from the [PHM](https://itis.swiss/virtual-population/regional-human-models/phm-repository/) repository. The different material conductivities are drawn from the [IT'IS Virtual Population Tissue Properties](https://itis.swiss/virtual-population/tissue-properties/database/low-frequency-conductivity/) or from different papers, referenced accordingly. + +## Further Information + +In this repository there [is a Wiki](https://gitlab.com/dimst23/tacs-temporal-interference/-/wikis/0.-Home) in which you can find detailed information about the code and the approaches taken to solve the problems. + +## Structure of the Repository + +* [CAD/](/CAD) + * [SAM/](/CAD/SAM) + * [Sphere/](/CAD/Sphere) + * [spheres_brain.stl](/CAD/Sphere/spheres_brain.stl) + * [spheres_csf.stl](/CAD/Sphere/spheres_csf.stl) + * [spheres_outer.stl](/CAD/Sphere/spheres_outer.stl) + * [spheres_skin.stl](/CAD/Sphere/spheres_skin.stl) + * [spheres_skull.stl](/CAD/Sphere/spheres_skull.stl) +* [Jupyter Notebooks/](/Jupyter Notebooks) + * [Test Bench/](/Jupyter Notebooks/Test Bench) + * [modulation_envelope_tests.ipynb](/Jupyter Notebooks/Test Bench/modulation_envelope_tests.ipynb) + * [README.md](/Jupyter Notebooks/Test Bench/README.md) + * [fem_simulation_analysis.ipynb](/Jupyter Notebooks/fem_simulation_analysis.ipynb) + * [modulation_envelope.ipynb](/Jupyter Notebooks/modulation_envelope.ipynb) + * [sim_analysis.ipynb](/Jupyter Notebooks/sim_analysis.ipynb) +* [MATLAB Workspaces and Scripts/](/MATLAB Workspaces and Scripts) + * [Workspaces/](/MATLAB Workspaces and Scripts/Workspaces) + * [BaseFrequency4Layer_Smaller.mat](/MATLAB Workspaces and Scripts/Workspaces/BaseFrequency4Layer_Smaller.mat) + * [DeltaFrequency4Layer_Smaller.mat](/MATLAB Workspaces and Scripts/Workspaces/DeltaFrequency4Layer_Smaller.mat) + * [arrange_elements.m](/MATLAB Workspaces and Scripts/arrange_elements.m) + * [grid_points.m](/MATLAB Workspaces and Scripts/grid_points.m) +* [Scripts/](/Scripts) + * [Archive/](/Scripts/Archive) + * [FEM.py](/Scripts/Archive/FEM.py) + * [meshing.py](/Scripts/Archive/meshing.py) + * [simple.py](/Scripts/Archive/simple.py) + * [simple_meshing.py](/Scripts/Archive/simple_meshing.py) + * [FEM/](/Scripts/FEM) + * [Good Files/](/Scripts/FEM/Good Files) + * [real_head.py](/Scripts/FEM/real_head.py) + * [real_head_10-20.py](/Scripts/FEM/real_head_10-20.py) + * [sim_settings.yml](/Scripts/FEM/sim_settings.yml) + * [sphere.py](/Scripts/FEM/sphere.py) + * [GMSH/](/Scripts/GMSH) + * [spheres.geo](/Scripts/GMSH/spheres.geo) + * [Meshing/](/Scripts/Meshing) + * [electrode_operations.py](/Scripts/Meshing/electrode_operations.py) + * [gmsh_write.py](/Scripts/Meshing/gmsh_write.py) + * [mesh_operations.py](/Scripts/Meshing/mesh_operations.py) + * [modulation_envelope.py](/Scripts/Meshing/modulation_envelope.py) + * [phm_model_meshing.py](/Scripts/Meshing/phm_model_meshing.py) + * [Utils/](/Scripts/Utils) + * [mesh_fixing.py](/Scripts/Utils/mesh_fixing.py) + * [10-20_elec.mat](/Scripts/10-20_elec.mat) + * [main.py](/Scripts/main.py) + * [sphere_meshing.py](/Scripts/sphere_meshing.py) +* [LICENSE](/LICENSE) +* [README.md](/README.md) diff --git a/Sphere_CAD/Sphere/spheres_brain.stl b/Sphere_CAD/Sphere/spheres_brain.stl new file mode 100644 index 0000000..2f1d068 --- /dev/null +++ b/Sphere_CAD/Sphere/spheres_brain.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40c7900e1e900930892f2a082508cc9fd264c4fa229ff2caa93d7d3cc14d9beb +size 15402136 diff --git a/Sphere_CAD/Sphere/spheres_csf.stl b/Sphere_CAD/Sphere/spheres_csf.stl new file mode 100644 index 0000000..e331e49 --- /dev/null +++ b/Sphere_CAD/Sphere/spheres_csf.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bd577beba3a0ebe06e62437d30f8df4fc940a313754b35f1dc488d1b5fb2e6e +size 3899700 diff --git a/Sphere_CAD/Sphere/spheres_outer.stl b/Sphere_CAD/Sphere/spheres_outer.stl new file mode 100644 index 0000000..3c78e39 --- /dev/null +++ b/Sphere_CAD/Sphere/spheres_outer.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68fb627dd3107e17680fb36175530692ec2c958ede646e29783c9d30d9927b69 +size 3924770 diff --git a/Sphere_CAD/Sphere/spheres_skin.stl b/Sphere_CAD/Sphere/spheres_skin.stl new file mode 100644 index 0000000..fcd9d00 --- /dev/null +++ b/Sphere_CAD/Sphere/spheres_skin.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:047a61399b001ecdf94924799f2fb2cc4e2ffe6a1cb5d063824ed1cbecd98f09 +size 3827214 diff --git a/Sphere_CAD/Sphere/spheres_skull.stl b/Sphere_CAD/Sphere/spheres_skull.stl new file mode 100644 index 0000000..ab61687 --- /dev/null +++ b/Sphere_CAD/Sphere/spheres_skull.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6452a878e793a7bee166b352288cf07e0183be7e33ed663fb19894fc6d3c58eb +size 3849629