pypect2s

A GUI built to provide a contained base for the automation of the CT2S pipeline. With specific focus on paediatric applications. Utilising ANSYS and other FEM solver tools.

https://github.com/insigneo/pypect2s

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: scholar.google
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary

Keywords

ansys automation biomechanics bone ct2s finite-element-analysis finite-element-methods python qt6
Last synced: 6 months ago · JSON representation ·

Repository

A GUI built to provide a contained base for the automation of the CT2S pipeline. With specific focus on paediatric applications. Utilising ANSYS and other FEM solver tools.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 4
  • Forks: 0
  • Open Issues: 6
  • Releases: 5
Topics
ansys automation biomechanics bone ct2s finite-element-analysis finite-element-methods python qt6
Created over 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Citation

README.md

Pythonic Paediatric Computed Tomography to Strength

DOI TUoS INSIGNEO License GNU GPL 3.0 GitHub all releases GitHub commits since latest release (by date) for a branch

Download | Documentation | Contact

Authors: George H Allison1,2

Affiliation: 1 INSIGNEO Institute, University of Sheffield, United Kingdom; 2 School of Mechanical, Aerospace & Civil Engineering, University of Sheffield, United Kingdom

Contact: GHA (Email | LinkedIn), Dr X. Li (Email)

INTRODUCTION

This work uses techniques and tools developed by the INSIGNEO Institute for the CT2S pipeline.

The goal of this work is to automate the CT2S pipeline steps, to use them in a modern setting in a repeatable and user-friendly manner; with high adaptability and extensibility.

Use of this tool has resulted in pipeline time reductions of up to 70 %.

Scripts, methods, and work contained in this repository have been heavily based on works by Dr Xinshan Li and Dr Zainab Altai.

Specific works of importance to this repository are: 1, 2, 3, 4

If you use this software in your work, please cite the following: CITATION

Detailed documentation can be found in the project page or in the application itself under the HELP link at the bottom. Documentation

If you find this software useful, please consider starring the repository.

USAGE

Please only run the scripts if you are comfortable running Python scripts.

It is recommended to use the latest release available under: Releases

You can run each tab individually, or run the entire pipeline from the start. (e.g. You may want to stop after the material assignment step and take that file to your own solving software. This is possible and just requires you to use the first two tabs.)

Fill in blank fields and press button to run. Information will display in the log window. Repeat for each tab required.

REQUIREMENTS

[!IMPORTANT]

An ANSYS install is required to run ANSYS based scripts

Make Sure you are connected to a licensing server before running.

ANSYS scripts require a minimum ANSYS version (2021R2) to function correctly. 2023R2 and above is recommended, and the systems have been tested on 2021R2 up.

If you are looking to use automatic Bonemat-based material assignment, you will need to have the rolling version of Bonemat available on your system and copy the BonematCLI.exe in to the Bonemat folder. We will not distribute a copy of Bonemat with is software.

Please keep in mind the limits of the software this GUI interfaces with. We cannot solve issues that arise for errors in software we do not control. However, if you think there is an issue with the GUI, please raise an issue on the repo.

Python Requirements

File / Model / Input Requirements

You can start the process at any step by jumping to that tab.

If you wish to start fresh you require the following files: - DICOM image scans contained in a *.VTK file. - Segmented 3D *.STL model of the bone. (It is important you check the quality of segmentation, meshing will fail if there are external floating elements in the model.) - Configuration file for material application, based on the specific CT scanner used.

CONTACT

Batch and pool processing are currently unavailable in the public release.

Sideways and STANCE are currently unavailable in the public release.

If you are interested in any of these features, please contact the authors.

GHA (Email | LinkedIn), Dr X. Li (Email)

DISCLAIMER

This software has been designed for research purposes only and has not been reviewed or approved by medical device regulation bodies.

This software is not to be used alone or in combination, for human beings for one or more of the following specific medical purposes: - diagnosis, prevention, monitoring, prediction, prognosis, treatment or alleviation of disease. - diagnosis, monitoring, treatment, alleviation of, or compensation for, an injury or disability. - investigation, replacement or modification of the anatomy or of a physiological or pathological process or state. - providing information by means of in vitro examination of specimens derived from the human body, including organ, blood and tissue donations.

FEEDBACK AND DEVELOPMENT

This software is in active development and will likely remain for the next few years. If you have any feedback, please raise an issue or open a discussion on the repository.

If you want to include your custom scripts, please raise an issue, open a discussion, or create a pull request on the repository. Alternatively, you can contact the authors directly.

Pull requests are welcome, but please ensure you have tested your changes before submitting.

REFERENCES

1: Altai, Z., Viceconti, M., Offiah, A.C. et al. Investigating the mechanical response of paediatric bone under bending and torsion using finite element analysis. Biomechanics and Modeling in Mechanobiology 17, 1001–1009 (2018). DOI

2: Altai, Z., Muhammad, Q., Li, X. et al. The effect of boundary and loading conditions on patient classification using finite element predicted risk of fracture. Clinical Biomechanics 68, 137–143 (2019). DOI

3: Li, X., Viceconti, M., Cohen, M.C. et al. Developing CT based computational models of pediatric femurs. Journal of Biomechanics 48, 2034–2040 (2015). DOI

4: Viceconti, M., Muhammad, Q., Bhattacharya, P. et al. Are CT-Based Finite Element Model Predictions of Femoral Bone Strengthening Clinically Useful? Current Osteoporosis Reports 16, 216–223 (2018). DOI

Owner

  • Name: INSIGNEO
  • Login: INSIGNEO
  • Kind: organization
  • Email: info@insigneo.org
  • Location: Sheffield

Insigneo: Institute for in silico medicine, Sheffield UK

Citation (CITATION.cff)

cff-version: 1.2.0
title: PyPeCT2S
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: George
    family-names: Allison
    email: GHAllison1@sheffield.ac.uk
    affiliation: The University of Sheffield
    orcid: 'https://orcid.org/0000-0002-6213-0180'
identifiers:
  - type: doi
    value: 10.6084/m9.figshare.26425591
repository-code: 'https://github.com/INSIGNEO/PyPeCT2S'
url: 'https://insigneo.github.io/PyPeCT2S/'
abstract: >-
  PyPeCT2S is an open-source automation software GUI for
  computed tomography to strength (CT2S) based, written in
  Python 3.11 and Qt6. It is released under the GPL v3
  software licence.  See
  https://github.com/INSIGNEO/PyPeCT2S for the git
  repository and https://insigneo.github.io/PyPeCT2S/ and
  https://ct2s.sheffield.ac.uk/ for the documentation.
keywords:
  - finite element analysis
  - biomechanics
  - automation
  - bone
  - python
license: GPL-3.0-or-later
version: 1.0.3
date-released: '2024-08-20'

GitHub Events

Total
  • Issues event: 3
  • Watch event: 2
  • Pull request event: 2
  • Create event: 2
Last Year
  • Issues event: 3
  • Watch event: 2
  • Pull request event: 2
  • Create event: 2

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 20
  • Total Committers: 1
  • Avg Commits per committer: 20.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 20
  • Committers: 1
  • Avg Commits per committer: 20.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
HaivuUK 6****K 20

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 5
  • Average time to close issues: 3 days
  • Average time to close pull requests: 24 minutes
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 1.25
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • HaivuUK (6)
Pull Request Authors
  • HaivuUK (6)
  • dependabot[bot] (2)
Top Labels
Issue Labels
bug (6)
Pull Request Labels
bug (4) dependencies (2) python (2)

Dependencies

requirements.txt pypi
  • PyQt6 ==6.7.0
  • PyQt6-Qt6 ==6.7.2
  • PyQt6_sip ==13.8.0
  • altgraph ==0.17.4
  • ansys-api-mapdl ==0.5.2
  • ansys-api-platform-instancemanagement ==1.1.0
  • ansys-dpf-core ==0.12.2
  • ansys-dpf-post ==0.8.0
  • ansys-mapdl-core ==0.68.4
  • ansys-mapdl-reader ==0.53.0
  • ansys-math-core ==0.1.5
  • ansys-platform-instancemanagement ==1.1.2
  • ansys-tools-path ==0.6.0
  • appdirs ==1.4.4
  • cachetools ==5.4.0
  • certifi ==2024.7.4
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • colorama ==0.4.6
  • contourpy ==1.2.1
  • cycler ==0.12.1
  • fonttools ==4.53.1
  • geomdl ==5.3.1
  • google-api-core ==2.19.1
  • google-api-python-client ==2.137.0
  • google-auth ==2.32.0
  • google-auth-httplib2 ==0.2.0
  • googleapis-common-protos ==1.63.2
  • grpcio ==1.64.1
  • httplib2 ==0.22.0
  • idna ==3.7
  • importlib_metadata ==8.0.0
  • kiwisolver ==1.4.5
  • matplotlib ==3.9.1
  • numpy ==1.26.4
  • numpy-stl ==3.1.1
  • packaging ==24.1
  • pefile ==2023.2.7
  • pillow ==10.4.0
  • platformdirs ==4.2.2
  • pooch ==1.8.2
  • proto-plus ==1.24.0
  • protobuf ==4.25.3
  • psutil ==6.0.0
  • pyansys-tools-versioning ==0.5.0
  • pyasn1 ==0.6.0
  • pyasn1_modules ==0.4.0
  • pyiges ==0.3.1
  • pyparsing ==3.1.2
  • python-dateutil ==2.9.0.post0
  • python-utils ==3.8.2
  • pyvista ==0.44.0
  • pywin32-ctypes ==0.2.2
  • requests ==2.32.3
  • rsa ==4.9
  • scipy ==1.14.0
  • scooby ==0.10.0
  • six ==1.16.0
  • tabulate ==0.9.0
  • tqdm ==4.66.4
  • typing_extensions ==4.12.2
  • uritemplate ==4.1.1
  • urllib3 ==2.2.2
  • vtk ==9.3.1
  • zipp ==3.19.2