3D Slicer scripted module to generage a curve from a list of fiducials.
tokjun / curvemaker Goto Github PK
View Code? Open in Web Editor NEWSimple 3D Slicer module to generate a spline curve from a list of fiducials
Simple 3D Slicer module to generate a spline curve from a list of fiducials
Currently, the extension does not allow the users to set the curve diameter < 1 mm.
After installing Curve Maker from the extension tab and restarting slicer, Curve Maker does not appear in the informatics tab.
I get the following critical errors upon starting 3d slicer:
Stream Error:
File "", line 1
import imp;imp.load_source('CurveMaker', 'C:/Users/Mitchell O'Leary/AppData/Roaming/NA-MIC/Extensions-26813/CurveMaker/lib/Slicer-4.8/qt-scripted-modules/CurveMaker.py');del imp;
^
SyntaxError: invalid syntax
Qt Error:
loadSourceAsModule - Failed to load file "C:/Users/Mitchell O'Leary/AppData/Roaming/NA-MIC/Extensions-26813/CurveMaker/lib/Slicer-4.8/qt-scripted-modules/CurveMaker.py" as module "CurveMaker" !
Fail to instantiate module "CurveMaker"
I'd need very thin models, it would be great to set the radius starting at a very small value. Thanks!
Currently the CurveMaker module only generate a curve starting at the first point and ending at the last point. It would be great if it can also generate a closed ring curve, where the first and the last points are also connected with a smooth curve.
What should I do to make the curve appear in the 3 planes as well?
Since introduction of curves in Markups module and MarkupsToModel extension, the CurveMaker extension became redundant.
Recent rework of the Endoscopy module in Slicer core, the extension has been reported to not work anymore - see Slicer/Slicer#7519
Instead of fixing the extension, I would recommend stopping development and support of the extension for Slicer-5.7 and later.
It would be nice to have a feature to calculate the length of a curve.
It is hard to find out exactly what the Enable checkbox does. If I turn it off, nothing changes in my model.
It seems like it means "auto-update". If it does, then I think it would make sense to change its name. I'd also add a button to generate the model in case auto-update is off, and the user just wants to make a model from the current settings.
I tested today's nightly on Windows. This module seems to be working, but the model is not populated with polydata. So it does not appear. Maybe something is broken since the vtk6 migration?
What I did: I place a bunch of fiducials (either manually or through sampling during tracking). They are all saved under one 'MarkerFiducial1'. Then I go to Curve Maker module. Select fiducial set as 'MarkerFiducial1' and for mode 'create new'. Then I press 'Generate' button and a curve/spline appears on the screen as expected.
Now if I add more fiducial points and hit 'Generate' button again, the curve updates as expected.
What I expect: I see that there is an 'Auto-generate' checkbox which should update the curve as soon as I place new fiducials.
What actually happened: So I checked 'auto-generate'. then added a fiducial (and then more) but the curve did not update. If I unceck and recheck 'auto-generate' then the curve updates once. Adding more fiducials, the curve again did not update.
If I add fiducials and hit 'generate' then the curve updates once (as expected)
Summary: The auto-update check-box is not working. and essentially acts like a 'generate' button.
P.S. I am using Slicer nightly version 4.11.0 2019-07-23
line 516
"UseDataScalarRange" should be used instead of "UseDisplayNodeScalarRange".
The curvature function won't work without this modification, though other functions still work.
See the commit in slicer core for reference:
Slicer/Slicer@9f33785
For 4.8 and version afterward, we should use "UseDataScalarRange".
For earlier version we could still use UseDisplayNodeScalarRange.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.