GithubHelp home page GithubHelp logo

bonej's People

Contributors

kkunzelm avatar mdoube avatar tjrantal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bonej's Issues

Density weighted calculations

Use calibrated pixel values to calculate density-weighted parameters, like moment of inertia and cross-sectional area. Requested by Sandra Shefelbine.

Volumetric topologic analysis (After Saha et al.)

More rod and plate classification, following on from the shape-preserving thinning approach DTA.

Saha P, Yan Xu, Hong Duan, Heiner A, Guoyuan Liang. Volumetric Topological Analysis: A Novel Approach for Trabecular Bone Classification on the Continuum Between Plates and Rods. Medical Imaging, IEEE Transactions on 2010;29:1821-1838. doi:10.1109/TMI.2010.2050779

Meta-manual

Quick-start documentation linking to other documentation.

Depends on: #31

Community survey

Community outreach to solicit recruits for development tasks and/or responsibilities, feedback on web site and project plans, other requirements seen as important by the community.

Privacy policy

Need a web page spelling out the privacy policy - what data are collected, how they are stored, who can see them, what they are used for and how to opt-in and opt-out. This is partially done here: http://bonej.org/stats but that doesn't cover the website download logging or Google Analytics.

vector of the major axis of the fitting ellipsoid

Hi @mdoube ,
Thanks for the codes. I tried the 3D particle analyzer on my randomly oriented ellipsoid particles (about 2000). Their major axes are expected to distributed randomly in 3D space. I plot the unit vector of the major axis (vX, vY, vZ). It shows that most of the Vz values are assigned a positive value? What is the consideration for this if it is not a bug? thanks!
image

Headless mode error

Attempting to run a BoneJ command in headless mode gives off this error:

java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.doube.util.ImageCheck.checkEnvironment(ImageCheck.java:240)
        at org.doube.bonej.MeasureSurface.run(MeasureSurface.java:60)
        at ij.IJ.runUserPlugIn(IJ.java:228)
        at ij.IJ.runPlugIn(IJ.java:192)
        at ij.Executer.runCommand(Executer.java:137)
        at ij.Executer.run(Executer.java:66)
        at ij.IJ.run(IJ.java:308)
        at ij.macro.Functions.doRun(Functions.java:613)
        at ij.macro.Functions.doFunction(Functions.java:96)
        at ij.macro.Interpreter.doStatement(Interpreter.java:250)
        at ij.macro.Interpreter.doStatements(Interpreter.java:236)
        at ij.macro.Interpreter.run(Interpreter.java:119)
        at ij.macro.Interpreter.run(Interpreter.java:90)
        at ij.macro.Interpreter.run(Interpreter.java:101)
        at ij.plugin.Macro_Runner.runMacro(Macro_Runner.java:161)
        at ij.plugin.Macro_Runner.runMacroFile(Macro_Runner.java:145)
        at ij.IJ.runMacroFile(IJ.java:159)
        at net.imagej.legacy.IJ1Helper$4.call(IJ1Helper.java:1115)
        at net.imagej.legacy.IJ1Helper$4.call(IJ1Helper.java:1111)
        at net.imagej.legacy.IJ1Helper.runMacroFriendly(IJ1Helper.java:1045)
        at net.imagej.legacy.IJ1Helper.runMacroFile(IJ1Helper.java:1111)
        at net.imagej.legacy.LegacyCommandline$Macro.handle(LegacyCommandline.java:187)
        at org.scijava.console.DefaultConsoleService.processArgs(DefaultConsoleService.java:102)
        at org.scijava.AbstractGateway.launch(AbstractGateway.java:97)
        at net.imagej.Main.main(Main.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:279)
        at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:186)
        at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:77)
Caused by: java.awt.HeadlessException
        at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:294)
        ... 34 more

Running it without headless works fine, but that's not always as easily done in an production environment.

BoneJ software developer specification

Using the development review as a starting point (#31), and with the results of the community survey (#28), produce a short document that explains the benefit and popularity of BoneJ, and the key tasks that need to be done to make it more useful and usable (e.g. packaging, enhanced tests, ImageJ2 compliance etc) and to maintain and support it longer term.

Remove "doube" from package names

BoneJ is a project in its own right, so the original package structure based on the doube.org domain should be deprecated and replaced with one based on the now well-established bonej.org domain. Classes in org.doube.* should be moved to org.bonej.* In BoneJ2, this should be the default and no org.doube.* structures should remain: in BoneJ1 new plugins should be written in org.bonej.* and old ones gradually migrated to org.bonej.* leaving some deprecated legacy wrapper classes in place.

Better installation on Mac

Sandra Shefelbine reports that she has never got BoneJ to work on her Mac. Update documentation and/or packaging to improve installation experience for Mac users.

Development review

Short report on BoneJ product: test infrastructure and test suites; documentation; installation and packaging. Includes proposals on how BoneJ can be improved in terms of: testing to ensure correctness of analyses; a meta-manual, how to use BoneJ manual, and how BoneJ works manual; ease-of-install.

Lower barrier to code contribution

Git is intimidating. Eclipse setup is a minefield. Help people get through that and into productive coding. Quickstart guide? Hint from Shefelbine.

Better interpolation when rotating stacks

Only nearest neighbour interpolation is used when rotating stacks in Moments and Anisotropy. Other interpolation schemes are possible, like cubic and linear. Implementation of interpolation of pixel values will result in a smoother, visually pleasing, output.

Coding standards

Coding standards for community development. Policy will be hosted on GitHub and/or web site.

Depends on: #31

Contribution policy

Policy for contributions from community which may be code, bug reports, feature requests, documentation and tutorials. Policy includes coding standards, other expectations, copyright and IP ownership. Policy will be hosted on GitHub and/or web site.

Use 3D ROI manager

3D ROI manager is a new functionality which may have advantages over the current 'stack of 2D ROIs' approach.

Improve vector field sampling in Anisotropy

The random sampling sphere approach is a bit of a hack and leaves out parts of the image. A smarter way of sampling eigenvectors throughout the image would extend vectors from one face of the image stack to the other, sampling any point in the image, doing all directions then proceeding to another point, continuing until the result is stable.

Individual trabecula segmentation (after Liu, Sajda and Saha et al.)

Interesting technique to create a shape- and topology-preserving skeleton then classifying and dilating it to segment individual trabeculae.

Liu X, Sajda P, Saha P, Wehrli F, Bevill G, Keaveny T, et al. Complete volumetric decomposition of individual trabecular plates and rods and its morphological correlations with anisotropic elastic moduli in human trabecular bone. J. Bone Miner. Res. 2008;23:223-235. doi:10.1359/JBMR.071009

Saha PK, Chaudhuri BB, Dutta Majumder D. A new shape preserving parallel thinning algorithm for 3D digital images. Pattern Recognit. 1997;30:1939-1955. doi:10.1016/S0031-3203(97)00016-2

Packager

New version of BoneJ with improved packaging/installation.

Depends on: #31

Test infrastructure

Based on Development review, a refactored and expanded test infrastructure and test suites.

Depends on: #31

Supporting Java 8 version of Fiji/ImageJ

Is there any plans for BoneJ to support the Java8 version of Fiji? The older versions using Java6 have bugs and issues I am unable to get around, but I am very much in need of a plugin such as this.

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.