GithubHelp home page GithubHelp logo

stl2nii's Introduction

STL to NIFTI file converter

This Python file will convert your STL meshes into NIFTI files. This "tool" is intended for researchers working on biomedical imaging, so the code is structured in a way that requires you to provide an input image to map the "labels" to. Please, if you've found this code useful don't forget to give it a star!

WARNING: Default setting casts the output NIFTI numpy array to uint8. To change this behavior, use the -dtype flag.

Usage

python3 /path/to/stl2nii \
    -i [.stl file(s)] \
    -ref [.nii/.nii.gz file to map stl to its space (usually the image the stl comes from)] \
    -o [/path/to/desired/output/folder]

Example Usage:

Let's say I want to convert a bunch of STL meshes I've obtained by segmenting the image corresponding to patient 225 using my favourite automatic segmentation tool. These are in my Downloads folder, and I want to generate NIFTI files mapped to the original image. I'd do it like this:

python3 ~/work/research/stl2nii \
    -i ~/Downloads/P225/*.stl \
    -ref data/P225/image/data_P225.nii.gz \
    -o data/P225/labels/nii

stl2nii's People

Contributors

vcasellesb avatar

Watchers

 avatar

stl2nii's Issues

Code Efficiency Recommendations

Thanks for your great jobs!
I found this code to be very inefficient:

for i in range(image.GetNumberOfPoints()):
image.GetPointData().GetScalars().SetTuple1(i, inval)

Maybe you can try the following code:

scalars = image.GetPointData().GetScalars()

from vtkmodules.util.numpy_support import vtk_to_numpy

scalar_array = vtk_to_numpy(scalars)

scalar_array[:] = inval

scalars.Modified()

The result is not quite right

thanks your works, i have one stl file label, want to convert .nii file. i only Modify the following code。but result is not quite。
image

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.