{ "info": { "author": "Fabian Peter Hammerle", "author_email": "fabian@hammerle.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Healthcare Industry", "Intended Audience :: Science/Research", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Medical Science Apps.", "Topic :: Utilities" ], "description": "freesurfer-surface\n==================\n\n.. image:: https://travis-ci.org/fphammerle/freesurfer-surface.svg?branch=master\n :target: https://travis-ci.org/fphammerle/freesurfer-surface\n.. image:: https://coveralls.io/repos/github/fphammerle/freesurfer-surface/badge.svg?branch=master\n :target: https://coveralls.io/github/fphammerle/freesurfer-surface?branch=master\n.. image:: https://img.shields.io/pypi/v/freesurfer-surface.svg\n :target: https://pypi.org/project/freesurfer-surface/#history\n.. image:: https://img.shields.io/pypi/pyversions/freesurfer-surface.svg\n :target: https://pypi.org/project/freesurfer-surface/\n.. image:: https://zenodo.org/badge/185943856.svg\n :target: https://zenodo.org/badge/latestdoi/185943856\n\nPython Library to Read and Write Surface Files in Freesurfer\u2019s\nTriangularSurface Format\n\nFreesurfer https://surfer.nmr.mgh.harvard.edu/\n\nInstall\n-------\n\n.. code:: sh\n\n pip3 install --user freesurfer-surface\n\nUsage\n-----\n\nEdit Surface File\n~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from freesurfer_surface import Surface, Vertex, Triangle\n surface = Surface.read_triangular('bert/surf/lh.pial'))\n vertex_a = surface.add_vertex(Vertex(0.0, 0.0, 0.0))\n vertex_b = surface.add_vertex(Vertex(1.0, 1.0, 1.0))\n vertex_c = surface.add_vertex(Vertex(2.0, 2.0, 2.0))\n surface.triangles.append(Triangle((vertex_a, vertex_b, vertex_c)))\n surface.write_triangular('somewhere/else/lh.pial')\n\nList Labels in Annotation File\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from freesurfer_surface import Annotation\n\n annotation = Annotation.read('tests/subjects/fabian/label/lh.aparc.annot')\n for label in annotation.labels.values():\n print(label.index, label.hex_color_code, label.name)\n\nor\n\n.. code:: sh\n\n $ freesurfer-annotation-labels tests/subjects/fabian/label/lh.aparc.annot\n index color name\n 0 #190519 unknown\n 1 #196428 bankssts\n 2 #7d64a0 caudalanteriorcingulate\n 3 #641900 caudalmiddlefrontal\n ...\n 33 #4614aa temporalpole\n 34 #9696c8 transversetemporal\n 35 #ffc020 insula\n\nFind Border of Labelled Region\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from freesurfer_surface import Surface\n surface = Surface.read_triangular('bert/surf/lh.pial'))\n surface.load_annotation_file('bert/label/lh.aparc.annot')\n region, = filter(lambda l: l.name == 'precentral',\n annotation.labels.values())\n print(surface.find_label_border_polygonal_chains(region))\n\nTests\n-----\n\n.. code:: sh\n\n pip3 install --user pipenv\n git clone https://github.com/fphammerle/freesurfer-surface.git\n cd freesurfer-surface\n pipenv run pylint freesurfer_surface\n pipenv run pytest --cov=freesurfer_surface\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fphammerle/freesurfer-surface", "keywords": "brain,freesurfer,mesh,neuroimaging,reader,surface,triangle,vertex", "license": "", "maintainer": "", "maintainer_email": "", "name": "freesurfer-surface", "package_url": "https://pypi.org/project/freesurfer-surface/", "platform": "", "project_url": "https://pypi.org/project/freesurfer-surface/", "project_urls": { "Homepage": "https://github.com/fphammerle/freesurfer-surface" }, "release_url": "https://pypi.org/project/freesurfer-surface/1.1.0/", "requires_dist": [ "numpy (<2)" ], "requires_python": ">=3.5", "summary": "Python Library to Read and Write Surface Files in Freesurfer's TriangularSurface Format", "version": "1.1.0" }, "last_serial": 5307475, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "aee6ecbddd0158f98e365326df701bba", "sha256": "ffb623cfd96f7da3f8cda4331a8c04d3518cee5f37565ec575755c4d4177801b" }, "downloads": -1, "filename": "freesurfer_surface-0.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "aee6ecbddd0158f98e365326df701bba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 8826, "upload_time": "2019-05-12T15:18:24", "url": "https://files.pythonhosted.org/packages/37/94/ed9b4bb032feae8b70aca8018af77ac13dfe1d72a159f78cda39b54acb54/freesurfer_surface-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0128b57bb964118d0f146189f1bff40a", "sha256": "f2980ab01b4ae34c6f6352219f9ea618a8daf0e030087db4c09b96d265ff37fc" }, "downloads": -1, "filename": "freesurfer-surface-0.1.0.tar.gz", "has_sig": true, "md5_digest": "0128b57bb964118d0f146189f1bff40a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3404535, "upload_time": "2019-05-12T15:18:30", "url": "https://files.pythonhosted.org/packages/b4/be/eb0cc13bae99bace056c842bee05dc2930e00c2cd40f54225a6597b793f9/freesurfer-surface-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f6a4b61aa0deb569ee876e35abeb7a05", "sha256": "a7fba9e11e367119f4f4ec2b86668890311f1aff63233b1cf00e31202bbbbb44" }, "downloads": -1, "filename": "freesurfer_surface-0.2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "f6a4b61aa0deb569ee876e35abeb7a05", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9073, "upload_time": "2019-05-15T13:15:01", "url": "https://files.pythonhosted.org/packages/1d/d4/5406ce2c8beb7fa280f6a17d8c761bb94ea5fc1edc99e2f729e6d45d2537/freesurfer_surface-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "089b743570c0fb0c160161b162066ae7", "sha256": "f880080b152946e963afe0527dd52e5ce816265ed32bd53b619f3fe4ea7642c3" }, "downloads": -1, "filename": "freesurfer-surface-0.2.0.tar.gz", "has_sig": true, "md5_digest": "089b743570c0fb0c160161b162066ae7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3405950, "upload_time": "2019-05-15T13:15:17", "url": "https://files.pythonhosted.org/packages/e4/56/849bc314456088f7bbeb5fa8b80a54d9ab909e753f01ef6326b3ac749985/freesurfer-surface-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4c157284e9a3d80e68cbc13b99295635", "sha256": "61c8afc2ffb21da69c3bcc59c9c196aa03e319f7810679e97e2a0227007c71aa" }, "downloads": -1, "filename": "freesurfer_surface-0.2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "4c157284e9a3d80e68cbc13b99295635", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9836, "upload_time": "2019-05-16T14:32:46", "url": "https://files.pythonhosted.org/packages/fe/0a/a350197b070d399a683caf837b36616f95c22436196ef7298b6ff52b0e19/freesurfer_surface-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "85dcd446425a627ef7cce60fc50f702f", "sha256": "9b059524b566fa13b72331c842003e09fad574d05b5a440a5a5f7cd356261b46" }, "downloads": -1, "filename": "freesurfer-surface-0.2.1.tar.gz", "has_sig": true, "md5_digest": "85dcd446425a627ef7cce60fc50f702f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3407328, "upload_time": "2019-05-16T14:33:03", "url": "https://files.pythonhosted.org/packages/19/12/dd83ec9fd5e32642fc33ff2e3bbe1ea67ad901dfda7952c23c3ddeba5594/freesurfer-surface-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f22c66a82fe6e5ae9befe582af37e245", "sha256": "751aea631fec54ae7515c3dc1fa57ef7dc6afa66cf5e02950ea7713332a56886" }, "downloads": -1, "filename": "freesurfer_surface-0.2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "f22c66a82fe6e5ae9befe582af37e245", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9863, "upload_time": "2019-05-19T18:29:55", "url": "https://files.pythonhosted.org/packages/8b/b0/0bca6f6456fc4ef2369952d4ae0afdc59644061135adbf24d82d8881fc66/freesurfer_surface-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efe540f59e0b0e965bfe3ee9c7876e6d", "sha256": "2992771da48aef6422e6c4348be9ab9608daeb42ba75518dbf3156d68cff2dd6" }, "downloads": -1, "filename": "freesurfer-surface-0.2.2.tar.gz", "has_sig": true, "md5_digest": "efe540f59e0b0e965bfe3ee9c7876e6d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3406613, "upload_time": "2019-05-19T18:30:27", "url": "https://files.pythonhosted.org/packages/bf/34/5edef2e829f08c05e1faec38bb0bb620a96a83672cb74898df1e46c51aa6/freesurfer-surface-0.2.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "83e58ebaded30ca24f91c2050ab0a35f", "sha256": "782038f05948865db79267965cb759830ba9c519858dd8de31e8997a1cca2a92" }, "downloads": -1, "filename": "freesurfer_surface-1.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "83e58ebaded30ca24f91c2050ab0a35f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10542, "upload_time": "2019-05-19T20:35:21", "url": "https://files.pythonhosted.org/packages/eb/2f/4c59334279b33c31f8bd7d997b4e636b3242669be61048142b1542b79ebd/freesurfer_surface-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "072e2d13ea1d66db42e08e7a609966c7", "sha256": "702ef54badb8d0cf02c4b19a241a4bcfbcf7388e83d12a1766d840bb873ed84b" }, "downloads": -1, "filename": "freesurfer-surface-1.0.0.tar.gz", "has_sig": true, "md5_digest": "072e2d13ea1d66db42e08e7a609966c7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3409431, "upload_time": "2019-05-19T20:36:24", "url": "https://files.pythonhosted.org/packages/11/22/254f9dc7ff86972f0d445a97b0098e889206091ac009563d352f370e8bd5/freesurfer-surface-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e3832c1743d817bf0ec3fc764db4cd83", "sha256": "b6c9159f867944b3452b3c920fb472bfcb68d89aaad945a5e4690437457a7f2d" }, "downloads": -1, "filename": "freesurfer_surface-1.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "e3832c1743d817bf0ec3fc764db4cd83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10607, "upload_time": "2019-05-23T10:50:41", "url": "https://files.pythonhosted.org/packages/81/d8/630cc0f79574b5fbfa7ce451b6485ee0ed1831a8e3e287d57146a08500a7/freesurfer_surface-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fe14ab1707b5eb9d58cfbe54272d62c", "sha256": "3945bb6d80d3e9e31ee99965857ac32605b6ae41767174d66fa4c7922267a153" }, "downloads": -1, "filename": "freesurfer-surface-1.0.1.tar.gz", "has_sig": true, "md5_digest": "7fe14ab1707b5eb9d58cfbe54272d62c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3410499, "upload_time": "2019-05-23T10:50:49", "url": "https://files.pythonhosted.org/packages/7a/50/45abf9825961e555efaf6f03833d9c36c9670eefaa06132767d7ba2110a2/freesurfer-surface-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "04b642bfd1e76783cfe8dec7bf6f4eb1", "sha256": "cfb4c0d9fb771ebdbe6723edada99c9409120ad8736390f34b9ea6093d51c0e9" }, "downloads": -1, "filename": "freesurfer_surface-1.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "04b642bfd1e76783cfe8dec7bf6f4eb1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10957, "upload_time": "2019-05-23T13:07:43", "url": "https://files.pythonhosted.org/packages/31/d6/8cb4fe71028726f912f1d1736a1082d7e6fb18ef9eb956f14ebca9f21445/freesurfer_surface-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1889791b44f1ce45ace018ab7986f271", "sha256": "02203b7d54a1aa191e489a178c50a76dd19d44f005b72171063daf4a39a82f04" }, "downloads": -1, "filename": "freesurfer-surface-1.1.0.tar.gz", "has_sig": true, "md5_digest": "1889791b44f1ce45ace018ab7986f271", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3411449, "upload_time": "2019-05-23T13:07:56", "url": "https://files.pythonhosted.org/packages/50/9b/1c9189c707ad1022819fadcaff81437dd92872fd489c29d91e0a6fb3246d/freesurfer-surface-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04b642bfd1e76783cfe8dec7bf6f4eb1", "sha256": "cfb4c0d9fb771ebdbe6723edada99c9409120ad8736390f34b9ea6093d51c0e9" }, "downloads": -1, "filename": "freesurfer_surface-1.1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "04b642bfd1e76783cfe8dec7bf6f4eb1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10957, "upload_time": "2019-05-23T13:07:43", "url": "https://files.pythonhosted.org/packages/31/d6/8cb4fe71028726f912f1d1736a1082d7e6fb18ef9eb956f14ebca9f21445/freesurfer_surface-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1889791b44f1ce45ace018ab7986f271", "sha256": "02203b7d54a1aa191e489a178c50a76dd19d44f005b72171063daf4a39a82f04" }, "downloads": -1, "filename": "freesurfer-surface-1.1.0.tar.gz", "has_sig": true, "md5_digest": "1889791b44f1ce45ace018ab7986f271", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3411449, "upload_time": "2019-05-23T13:07:56", "url": "https://files.pythonhosted.org/packages/50/9b/1c9189c707ad1022819fadcaff81437dd92872fd489c29d91e0a6fb3246d/freesurfer-surface-1.1.0.tar.gz" } ] }