Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/bianliuzhu/cornerstoneToolsExample

cornerstone.js 工具使用 例子
https://github.com/bianliuzhu/cornerstoneToolsExample

Last synced: 5 days ago
JSON representation

cornerstone.js 工具使用 例子

Lists

README

        

[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][npm-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url]
[![Coverage Status][coverage-image]][coverage-url]

cornerstoneTools
================

`cornerstoneTools` is a library built on top of [cornerstone](https://github.com/cornerstonejs/cornerstone) that provides
a set of common tools needed in medical imaging to work with images and stacks of images.

* View [live examples](https://rawgithub.com/cornerstonejs/cornerstoneTools/master/examples/index.html) of individual tools
* Take a peek at a [simple image viewer](http://chafey.github.io/cornerstoneDemo/) built on cornerstone
* Check out a [more fully featured solution](http://viewer.ohif.org/) maintained by [OHIF](http://ohif.org/)

Features
--------




WW/WC Tool Example


Zoom Tool Example


Pan Tool Example


Length Tool Example




WW/WC
Zoom
Pan
Length




Example /
Source


Example /
Source


Example /
Source


Example /
Source




 




Rectangle ROI Tool Example


Elliptical ROI Tool Example


Pixel Probe Tool Example


Angle Tool Example




Rectangle ROI
Elliptical ROI
Pixel Probe
Angle




Example /
Source


Example /
Source


Example /
Source


Example /
Source




 




Scroll Tool Example


Cross reference lines Tool Example





Scroll
Reference Lines
Many More!




Example /
Source


Example /
Source

Click Here to See a Full List

**Other Features:**

* Time Series Tools
* Play
* Scroll
* Probe
* Synchronization Tools
* By image index
* By image position
* By zoom and pan
* By ww/wc and inversion
* Measurement Manager
* Support for binding each tool to different mouse inputs:
* Left mouse button
* Middle mouse button
* Right mouse button
* Mouse Wheel
* Support for touch based gestures
* Drag
* Pinch
* Tool framework that can be used to simplify development of new tools that work in a consistent manner with the included
tools
* Provides API to access measurement data for serialization purposes (e.g. save measurements to database)

Getting Started
---------------

### Install

**Via NPM:** (preferred)

_Latest stable release:_
- `npm install --save cornerstone-tools`

_Pre-release, unstable, mostly for contributors:_
- `npm install --save cornerstone-tools@next`

**Get a packaged source file:**

[UNPKG](https://unpkg.com/#/) offers a quick/neat solution for grabbing versioned copies of the source. For example:

`https://unpkg.com/@/path/to/desired-file.js`

* For development, to get the latest minified source:
* ``
* For production, specify a package version:
* ``

### Usage

See the [live examples](https://rawgithub.com/cornerstonejs/cornerstoneTools/master/examples/index.html) and [wiki](https://github.com/cornerstonejs/cornerstoneTools/wiki) for documentation (Soon to be replaced by [tools.cornerstonejs.org](http://tools.cornerstonejs.org/)) on how to use this library

**A common setup when using modules:**

````javascript
// Load NPM packages
import Hammer from 'hammerjs'; // npm install --save hammerjs
import * as cornerstone from 'cornerstone-core'; // npm install --save cornerstone-core
import * as cornerstoneTools from 'cornerstone-tools';

// Specify external dependencies
cornerstoneTools.external.cornerstone = cornerstone;
cornerstoneTools.external.Hammer = Hammer;
````

*Note: `cornerstoneTools.external`'s only need to be specified in `cornerstone-tools` versions 1.0.0+

**A common setup when using package source files:**

````javascript
// Load Packaged Sources

// Specify external dependencies
cornerstoneTools.external.cornerstone = cornerstone;
cornerstoneTools.external.Hammer = Hammer;
````

*Note: `cornerstoneTools.external`'s only need to be specified in `cornerstone-tools` versions 1.0.0+

Contributing
------------

We love contributions, and we have plenty of work queued up for all skill levels. If you have an idea, feel free to create a new topic on [our community discussion board](https://groups.google.com/forum/#!forum/cornerstone-platform), or comment on an existing [enhancement](https://github.com/cornerstonejs/cornerstoneTools/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement), [up-for-grabs](https://github.com/cornerstonejs/cornerstoneTools/issues?q=is%3Aissue+is%3Aopen+label%3A%22up+for+grabs%22), [bug](https://github.com/cornerstonejs/cornerstoneTools/issues?q=is%3Aissue+is%3Aopen+label%3Abug), [documentation](https://github.com/cornerstonejs/cornerstoneTools/labels/documentation) issue. A quick "here is how I intend to approach this problem", with sign-off from someone like @swederik, will go a long way toward increasing the chances your hard work will be merged :+1:

**How To Contribute:**

1. Fork this repository
2. Clone the forked repository
3. Before committing code, create a branch-per-feature, or branch-per-bug
4. Create pull requests against `cornerstonejs/cornerstoneTools/master`

**What To Contribute:**

If you're looking to get your feet wet, start by:

- Read existing [wiki documentation](https://github.com/cornerstonejs/cornerstoneTools/wiki) as you implement your solution. Notice any holes? Fill them in.
- Soon to be replaced by [tools.cornerstonejs.org](http://tools.cornerstonejs.org/)
- Can't find an [example of a tool](https://rawgit.com/cornerstonejs/cornerstoneTools/master/examples/index.html)? Or think an example can be improved? Improve it.
- Creating your first tool and learned some lessons along the way? Add documentation to help others.

Can't think of anything? Weigh in on and claim an [outstanding issue in the backlog](https://github.com/cornerstonejs/cornerstoneTools/issues).

Versioning
----------

cornerstoneTools will be maintained under the [Semantic Versioning Guidelines](http://semver.org) as much as possible. Releases will be numbered with the following format:

`..`

And constructed with the following guidelines:

* Breaking backward compatibility bumps the major (and resets the minor and patch)
- Information on how to navigate breaking changes will be included in our [Change Log](https://github.com/cornerstonejs/cornerstoneTools/blob/master/changelog.md)
* New additions, including new icons, without breaking backward compatibility bumps the minor (and resets the patch)
* Bug fixes, changes to brand logos, and misc changes bumps the patch

Build System
------------

This project uses webpack to build the software.

**Requirements:**

* [NodeJs](http://nodejs.org).

**Common Tasks:**

Update dependencies (after each pull):
> npm install

Running the build:
> npm start

Automatically running the build and unit tests after each source change:
> npm run watch

Backlog
------------

* Updating related handles while resizing (e.g. resize top left handle of a rect and update the bottom left and top right as it changes)
* measurement calibration tool
* Config object that allows tool appearance to be customized (e.g. line color, text color, handle size, shape, etc)
* automatically disabling tools when the enabled element is disabled
* reconsider the state management api, it is a bit clunky
* add support for pointer events as an input source
* Reference line renderer for first/last/active
* key press input source - so user can interact with tools via keyboard (e.g. scroll stack image using arrow keys)

[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
[license-url]: LICENSE

[npm-url]: https://npmjs.org/package/cornerstone-tools
[npm-version-image]: http://img.shields.io/npm/v/cornerstone-tools.svg?style=flat
[npm-downloads-image]: http://img.shields.io/npm/dm/cornerstone-tools.svg?style=flat

[travis-url]: http://travis-ci.org/cornerstonejs/cornerstoneTools
[travis-image]: https://travis-ci.org/cornerstonejs/cornerstoneTools.svg?branch=master

[coverage-url]: https://coveralls.io/github/cornerstonejs/cornerstoneTools?branch=master
[coverage-image]: https://coveralls.io/repos/github/cornerstonejs/cornerstoneTools/badge.svg?branch=master