Giter Site home page Giter Site logo

insigneo / pypect2s Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 1.44 MB

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.

Home Page: https://insigneo.github.io/PyPeCT2S/

License: GNU General Public License v3.0

Python 100.00%
ansys automation biomechanics bone finite-element-analysis finite-element-methods python qt6

pypect2s's Introduction

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

pypect2s's People

Contributors

haivuuk avatar

Stargazers

Saleh Pouresmaeeli avatar  avatar

Watchers

Pinaki Bhattacharya avatar Andrew Narracott avatar Saleh Pouresmaeeli avatar

pypect2s's Issues

Multiple inputs

Currently, there is nothing to stop a user from clicking as many times as possible and overloading the cores and breaking the program. Or changing a variable mid run causing issues.

Proposed solution

Disable input while a function is running. Show throbber so people know it's still running.

GUI freezes unexpectedly

Describe the bug
The GUI freezes when the program is running an operation and the GUI is clicked away from for another application. Once this happens, the GUI becomes unresponsive and does not recover.

To Reproduce
Steps to reproduce the behaviour:

  1. Use any script
  2. Start an operation that activates the throbber and disables clickable UI.
  3. Click away from the program.
  4. See error

Expected behaviour
The program does not freeze despite not being in focus, or at least recovers once operations are complete so that it can be used again.

Desktop (please complete the following information):

  • OS: W11`
  • Version 1.0.2
  • Python Version 3.11.9

Results script cannot handle additional runs

Describe the bug
When running multiple results files through the results script, the program will output the initial/incorrect results based on the information of the first file that is passed through it. This means that if more than one result is attempted without restarting the program, the results will likely be incorrect.

To Reproduce
Steps to reproduce the behaviour:

  1. Go to results script
  2. Click on run
  3. Change to new file
  4. Click on run
  5. Open both results and see they are identical.

Expected behaviour
The results should be individual to every file that is run and should not have hanging variable errors.

Desktop (please complete the following information):

  • OS: W11
  • Version 1.0.3
  • Python Version 3.11.9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.