{"id":14959155,"url":"https://github.com/scikit-surgery/scikit-surgerytf","last_synced_at":"2026-04-15T16:32:21.759Z","repository":{"id":43028288,"uuid":"272427706","full_name":"SciKit-Surgery/scikit-surgerytf","owner":"SciKit-Surgery","description":"Examples for running surgical segmentations using Tensor Flow","archived":false,"fork":false,"pushed_at":"2022-11-30T13:21:38.000Z","size":3633,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-29T09:22:05.323Z","etag":null,"topics":["scikit-surgery","segmentation","tensorflow-tutorials","ucl"],"latest_commit_sha":null,"homepage":"https://github.com/SciKit-Surgery","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SciKit-Surgery.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null}},"created_at":"2020-06-15T12:04:30.000Z","updated_at":"2023-07-08T08:30:32.000Z","dependencies_parsed_at":"2023-01-22T19:45:37.039Z","dependency_job_id":null,"html_url":"https://github.com/SciKit-Surgery/scikit-surgerytf","commit_stats":null,"previous_names":["ucl/scikit-surgerytf"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciKit-Surgery%2Fscikit-surgerytf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciKit-Surgery%2Fscikit-surgerytf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciKit-Surgery%2Fscikit-surgerytf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciKit-Surgery%2Fscikit-surgerytf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciKit-Surgery","download_url":"https://codeload.github.com/SciKit-Surgery/scikit-surgerytf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694893,"owners_count":20980731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["scikit-surgery","segmentation","tensorflow-tutorials","ucl"],"created_at":"2024-09-24T13:18:57.141Z","updated_at":"2026-01-20T04:32:25.049Z","avatar_url":"https://github.com/SciKit-Surgery.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"scikit-surgerytf\n===============================\n\n.. image:: https://github.com/SciKit-Surgery/scikit-surgery/blob/web/assets/logo.svg\n   :width: 256px\n   :target: https://github.com/UCL/scikit-surgerytf\n   :alt: Logo\n\n|\n\n.. image:: https://github.com/UCL/scikit-surgerytf/workflows/.github/workflows/ci.yml/badge.svg\n   :target: https://github.com/UCL/scikit-surgerytf/actions\n   :alt: GitHub Actions CI status\n\n.. image:: https://coveralls.io/repos/github/UCL/scikit-surgerytf/badge.svg?branch=master\u0026service=github\n    :target: https://coveralls.io/github/UCL/scikit-surgerytf?branch=master\n    :alt: Test coverage\n\n.. image:: https://readthedocs.org/projects/scikit-surgerytf/badge/?version=latest\n    :target: http://scikit-surgerytf.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\n   :target: https://github.com/SciKit-Surgery/scikit-surgery/blob/master/CODE_OF_CONDUCT.md\n\n.. image:: https://img.shields.io/twitter/follow/scikit_surgery?style=social\n   :target: https://twitter.com/scikit_surgery?ref_src=twsrc%5Etfw\n   :alt: Follow scikit_surgery on twitter\n\n\nAuthor: Matt Clarkson\n\nscikit-surgerytf is part of the `SciKit-Surgery`_ software project, developed at the `Wellcome EPSRC Centre for Interventional and Surgical Sciences`_, part of `University College London (UCL)`_.\n\nscikit-surgerytf supports Python 3.6+, and tensorflow \u003e= 2.0.0.\n\nThe aim of scikit-surgerytf is to provide a home for various Tensor Flow examples and\nutilities and to show best practice. It's NOT meant to be a layer on-top of Tensor Flow\nor provide a new kind-of platform. The aim is that researchers can learn from examples,\nand importantly, learn how to deliver an algorithm that can be used by other people\nout of the box, with just a ```pip install```, rather than a new user having to\nre-implement stuff, or struggle to get someone else's code running. Researchers\ncan commit their research to this repository, or use the `PythonTemplate`_ to\ngenerate their own project as a home for their new world-beating algorithm!\n\n.. features-start\n\nFeatures/Networks\n-----------------\n\n* `Liver Segmentation UNet \u003chttps://scikit-surgerytf.readthedocs.io/en/latest/module_ref.html#segmentation\u003e`_: Based on `\u003chttps://doi.org/10.1007/978-3-319-24574-4_28\u003e`_.\n* `The usual FashionMNIST example \u003chttps://scikit-surgerytf.readthedocs.io/en/latest/module_ref.html#module-sksurgerytf.models.fashion\u003e`_, for learning purposes.\n\n.. features-end\n\nDesign Principles\n-----------------\n\nEach project herein should provide the following:\n\n* Code that passes pylint.\n* Unit testing, as appropriate. In all likelihood, testing will cover individual functions, not large training cycles.\n* Sufficient logging, including date, time, software (git) version, runtime folder, machine name.\n* A main class containing a network that can be run separately in train/test mode.\n* Visualisation with TensorBoard.\n* Saving of learned network weights at the end of training.\n* Loading of pre-train weights, initialising the network ready for inference.\n* The ability to be run repeatedly for hyper-parameter tuning via python scripting, not bash.\n* The ability to be callable from within a Jupyter Notebook, and thereby amenable to weekly writup's for supervisions.\n* One or more command line programs that are pip-installable, enabling a subsequent user to train and test your algorithm with almost-zero faff.\n* Visualisation for debugging purposes, such as printing example image thumbnails etc. should be done in Jupyter notebooks, or in tensorboard, not in the same class as your algorithm.\n\nOptional features could include:\n\n* Small test projects that train quickly to completion won't need checkpointing, but large ones will.\n\n\nUsage\n-----\n\nTypical instructions for use:\n\nFirst create a clean python environment, just installing tox::\n\n    # Create a clean conda environment\n    conda create -n myenv python=3.6\n    conda activate myenv\n    pip install tox\n\n\nThen you get the code, and use tox to install all other dependencies::\n\n    git clone https://github.com/UCL/scikit-surgerytf\n    cd scikit-surgerytf\n    # edit requirements.txt, changing tensorflow to tensorflow-gpu.\n    # The default is the CPU version just for cross platform testing,\n    # but for real use, you should swap it to GPU.\n    # Then run tox to install all dependencies.\n    tox\n\n\nThen you can activate the tox created virtualenv and run top-level entry points directly from the root folder::\n\n    source .tox/py36/bin/activate\n    python sksurgeryrgbunet.py --help\n\n\nWindows users would run::\n\n    .tox\\py36\\Scripts\\activate\n    python sksurgeryrgbunet.py --help\n\nSo, for example, to run the sksurgeryrgbunet.py program and train on some data, you would do::\n\n    python sksurgeryrgbunet.py -d DATA -w working_dir -s output.hdf5\n\nwhere DATA is a directory like::\n\n    DATA/P1/masks\n    DATA/P1/images\n    DATA/P2/masks\n    DATA/P2/images\n    .\n    .\n    DATA/PN/masks\n    DATA/PN/images\n\nand P1,P2..PN just represents some patient identifier. Images and masks, though in different\nfolders, must have the same name.\n\nDeveloping\n----------\n\nCloning\n^^^^^^^\n\nYou can clone the repository using the following command:\n\n::\n\n    git clone https://github.com/SciKit-Surgery/scikit-surgerytf\n\n\nRunning tests\n^^^^^^^^^^^^^\nPytest is used for running unit tests, but you should run using tox,\nas per the `PythonTemplate`_ instructions.\n\n\nLinting\n^^^^^^^\n\nThis code conforms to the PEP8 standard. Pylint is used to analyse the code.\nAgain, follow the `PythonTemplate`_ instructions and run via tox.\n\n\nInstalling\n----------\n\nYou can pip install directly from the repository as follows:\n\n::\n\n    pip install git+https://github.com/SciKit-Surgery/scikit-surgerytf\n\n\n\nContributing\n------------\n\nPlease see the `contributing guidelines`_.\n\n\nUseful links\n------------\n\n* `Source code repository`_\n* `Documentation`_\n\n\nLicensing and copyright\n-----------------------\n\nCopyright 2019 University College London.\nscikit-surgerytf is released under the Apache Software License 2.0. Please see the `license file`_ for details.\n\n\nAcknowledgements\n----------------\n\nSupported by `Wellcome`_ and `EPSRC`_.\n\n\n.. _`Wellcome EPSRC Centre for Interventional and Surgical Sciences`: http://www.ucl.ac.uk/weiss\n.. _`source code repository`: https://github.com/Scikit-Surgery/scikit-surgerytf\n.. _`Documentation`: https://scikit-surgerytf.readthedocs.io\n.. _`SciKit-Surgery`: https://github.com/SciKit-Surgery \n.. _`University College London (UCL)`: http://www.ucl.ac.uk/\n.. _`Wellcome`: https://wellcome.ac.uk/\n.. _`EPSRC`: https://www.epsrc.ac.uk/\n.. _`contributing guidelines`: https://github.com/SciKit-Surgery/scikit-surgerytf/blob/master/CONTRIBUTING.rst\n.. _`license file`: https://github.com/UCL/scikit-surgerytf/blob/master/LICENSE\n.. _`PythonTemplate`: https://github.com/SciKit-Surgery/PythonTemplate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-surgery%2Fscikit-surgerytf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscikit-surgery%2Fscikit-surgerytf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscikit-surgery%2Fscikit-surgerytf/lists"}