Skip to content

Commit

Permalink
Merge pull request #9 from SBU-BMI/develop
Browse files Browse the repository at this point in the history
What is Nanoborb Text
  • Loading branch information
ebremer authored Jul 5, 2019
2 parents 5ccd0c3 + 0a61650 commit 48263b6
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 124 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# Nanoborb

Since biomedical datasets and research motivation comes in different scales, it’s important that there exist tooling setups to fit these different needs. While in many situations, collaborative online research is helpful, we aim to provide visualization and analysis tools to individual users as well.

NanoBorb is a offline-first toolkit for digitized whole slide images. By using NanoBorb, a user can interact fully with a large whole slide image without a powerful dedicated server, or even continuous internet access. Thus, users face minimal barriers to view, annotate, and analyze slides, as well as visualize and improve applicable machine learning methods.

NanoBorb is built on ImageBox and caMicroscope. If a served version of the NanoBorb experience is desired, see quip distro. To provide feedback or suggestions click on the bug icon on pages where it appears.


The [user guide screencast](https://drive.google.com/open?id=1HkkL5FqEIgi7fzqKijtUhWBPlplh_uHF) should explain the basics of Nanoborb.

Installation Instructions
## Installation Instructions

Windows - 1) Download zip file. 2) Unzip. 3) Run "nanoborb.exe" in the unzipped folder

Expand Down
4 changes: 2 additions & 2 deletions dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>edu.stonybrook.bmi</groupId>
<artifactId>Nanoborb</artifactId>
<version>1.0</version>
<version>1.5.0</version>
<build>
<resources>
<resource>
Expand Down Expand Up @@ -54,7 +54,7 @@
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<version>2.22.2</version>
<configuration>
<systemPropertyVariables>
<propertyName>java.library.path</propertyName>
Expand Down
2 changes: 1 addition & 1 deletion files/webfiles/caMicroscope
Submodule caMicroscope updated 79 files
+10 −6 apps/heatmap/heatmap.html
+10 −3 apps/labeling/labeling.html
+2 −1 apps/labeling/labeling.js
+0 −1 apps/landing/landing.html
+0 −2 apps/landing/skel.js
+5 −0 apps/segment/segment.html
+6 −1 apps/segment/segment.js
+8 −4 apps/table.html
+31 −16 apps/viewer/uicallbacks.js
+6 −2 apps/viewer/viewer.html
+9 −0 common/authChecker.js
+5 −5 core/CaMic.js
+4 −2 core/StatesHelper.js
+1 −1 dist/imgbox_package.js
+1 −1 dist/imgbox_package.map
+3 −3 dist/pathdb_package.js
+1 −0 dist/pathdb_package.js.map
+1 −1 dist/pathdb_package.map
+0 −545 docs/CaMic.html
+0 −138 docs/CaMic.js.html
+0 −295 docs/Draw.html
+0 −126 docs/DrawAnnots.js.html
+0 −861 docs/Layer.html
+0 −112 docs/Layer.js.html
+104 −0 docs/README.md
+0 −129 docs/RenderAnnots.js.html
+0 −3,129 docs/Store.html
+0 −393 docs/Store.js.html
+712 −0 docs/components.md
+882 −0 docs/components.rst
+235 −0 docs/core.md
+364 −0 docs/core.rst
+ docs/fonts/OpenSans-Bold-webfont.eot
+0 −1,830 docs/fonts/OpenSans-Bold-webfont.svg
+ docs/fonts/OpenSans-Bold-webfont.woff
+ docs/fonts/OpenSans-BoldItalic-webfont.eot
+0 −1,830 docs/fonts/OpenSans-BoldItalic-webfont.svg
+ docs/fonts/OpenSans-BoldItalic-webfont.woff
+ docs/fonts/OpenSans-Italic-webfont.eot
+0 −1,830 docs/fonts/OpenSans-Italic-webfont.svg
+ docs/fonts/OpenSans-Italic-webfont.woff
+ docs/fonts/OpenSans-Light-webfont.eot
+0 −1,831 docs/fonts/OpenSans-Light-webfont.svg
+ docs/fonts/OpenSans-Light-webfont.woff
+ docs/fonts/OpenSans-LightItalic-webfont.eot
+0 −1,835 docs/fonts/OpenSans-LightItalic-webfont.svg
+ docs/fonts/OpenSans-LightItalic-webfont.woff
+ docs/fonts/OpenSans-Regular-webfont.eot
+0 −1,831 docs/fonts/OpenSans-Regular-webfont.svg
+ docs/fonts/OpenSans-Regular-webfont.woff
+0 −274 docs/global.html
+0 −65 docs/index.html
+186 −0 docs/index.rst
+0 −25 docs/scripts/linenumber.js
+0 −202 docs/scripts/prettify/Apache-License-2.0.txt
+0 −2 docs/scripts/prettify/lang-css.js
+0 −28 docs/scripts/prettify/prettify.js
+0 −358 docs/styles/jsdoc-default.css
+0 −111 docs/styles/prettify-jsdoc.css
+0 −132 docs/styles/prettify-tomorrow.css
+22 −6 login.html
+23 −1 package/LocalStore.js
+126 −5 package/pathdb_package.js
+0 −779 userDoc/caMicroscopeUserDocumentation.html
+ userDoc/images/image1.png
+ userDoc/images/image10.png
+ userDoc/images/image11.png
+ userDoc/images/image12.png
+ userDoc/images/image13.png
+ userDoc/images/image14.png
+ userDoc/images/image15.png
+ userDoc/images/image2.png
+ userDoc/images/image3.png
+ userDoc/images/image4.png
+ userDoc/images/image5.png
+ userDoc/images/image6.png
+ userDoc/images/image7.png
+ userDoc/images/image8.png
+ userDoc/images/image9.png
15 changes: 4 additions & 11 deletions files/webfiles/splash.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,11 @@
}
</style>
<body>
<div id='img'><img src="./Nanoborb-256x256.png"/></div>
<div id='img'><img src="./Nanoborb-256x256.png"/>Version 1.5.0</div>
<strong>What is Nanoborb?</strong><br>
<p>Nanoborb is a desktop version of a subset of functions providing by the <a href="https://sbu-bmi.github.io/quip_distro/">QuIP Platform</a>. With the current version of Nanoborb, you can perform
the following functions:</p>
<list>
<li>Load and view Whole Slide Images (WSI)</li>
<li>Mark-up and annotate these images</li>
<li>Save and reload these markups to a standard json file</li>
<li>View images side-by-side with image overlay markups.</li>
<li>Overlay computed heatmaps on images.</li>
<li>Get approximate counts of nuclei</li>
</list>
<p>Since biomedical datasets and research motivation comes in different scales, it’s important that there exist tooling setups to fit these different needs. While in many situations, collaborative online research is helpful, we aim to provide visualization and analysis tools to individual users as well.</p>
<p>NanoBorb is a offline-first toolkit for digitized whole slide images. By using NanoBorb, a user can interact fully with a large whole slide image without a powerful dedicated server, or even continuous internet access. Thus, users face minimal barriers to view, annotate, and analyze slides, as well as visualize and improve applicable machine learning methods.</p>
<p>NanoBorb is built on ImageBox and caMicroscope. If a served version of the NanoBorb experience is desired, see <a href="https://github.com/SBU-BMI/quip_distro/tree/refactor" target="_blank">quip distro</a>. To provide feedback or suggestions, click <a href="https://docs.google.com/forms/d/e/1FAIpQLScL91LxrpAZjU88GBZP9gmcdgdf8__uNUwhws2lzU6Lr4qNwA/viewform" target="_blank">here</a> or on the bug icon on pages where it appears.</p>

<p>WSI images come in (unfortunately) a variety of formats such as Aperio SVS, BigTiff, and Olympus/CellSens VSI. To get you started, use the following link
<a href="http://openslide.cs.cmu.edu/download/openslide-testdata/Aperio/">http://openslide.cs.cmu.edu/download/openslide-testdata/Aperio/</a>
Expand Down
6 changes: 6 additions & 0 deletions installjars.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
call mvn install:install-file -Dfile=ImageBox-1.1.1.jar -DgroupId=com.ebremer -DartifactId=ImageBox -Dversion=1.1.1 -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -Dfile=jcef.jar -DgroupId=jcef -DartifactId=jcef -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -Dfile=jogl-all.jar -DgroupId=jogl-all -DartifactId=jogl-all -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -Dfile=jogl-all-natives-windows-amd64.jar -DgroupId=jogl-all-natives-windows-amd64 -DartifactId=jogl-all-natives-windows-amd64 -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
call mvn install:install-file -Dfile=gluegen-rt.jar -DgroupId=gluegen-rt -DartifactId=gluegen-rt -Dversion=1.0 -Dpackaging=gluegen-rt -DgeneratePom=true
call mvn install:install-file -Dfile=gluegen-rt-natives-windows-amd64.jar -DgroupId=gluegen-rt-natives-windows-amd64 -DartifactId=gluegen-rt-natives-windows-amd64 -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
200 changes: 91 additions & 109 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,110 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.stonybrook.bmi</groupId>
<artifactId>Nanoborb</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>jcef</groupId>
<artifactId>jcef</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>jogl-all-natives-windows-amd64</groupId>
<artifactId>jogl-all-natives-windows-amd64</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>jogl-all</groupId>
<artifactId>jogl-all</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>gluegen-rt</groupId>
<artifactId>gluegen-rt</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>gluegen-rt-natives-windows-amd64</groupId>
<artifactId>gluegen-rt-natives-windows-amd64</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.ebremer</groupId>
<artifactId>ImageBox</artifactId>
<version>1.0.5</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<resources>
<resource>
<directory>files/</directory>
<includes>
<include>**/*.js</include>
<include>**/*.html</include>
<include>**/*.svs</include>
<include>**/*.png</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>edu.stonybrook.bmi.nanoborb.MainFrame</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
<addHeader>false</addHeader>
</transformer>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<!-- Some jars are signed but shading breaks that.
Don't include signing files.
-->
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<!--<phase /><!- - Switch off -->
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<systemPropertyVariables>
<propertyName>java.library.path</propertyName>
<buildDirectory>lib/win64</buildDirectory>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.stonybrook.bmi</groupId>
<artifactId>Nanoborb</artifactId>
<version>1.5.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.ebremer</groupId>
<artifactId>ImageBox</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>jcef</groupId>
<artifactId>jcef</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<build>
<resources>
<resource>
<directory>files/</directory>
<includes>
<include>**/*.js</include>
<include>**/*.html</include>
<include>**/*.svs</include>
<include>**/*.png</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>edu.stonybrook.bmi.nanoborb.MainFrame</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
<addHeader>false</addHeader>
</transformer>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<!-- Some jars are signed but shading breaks that.
Don't include signing files.
-->
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<!--<phase /><!- - Switch off -->
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<systemPropertyVariables>
<propertyName>java.library.path</propertyName>
<buildDirectory>lib/win64</buildDirectory>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</project>

0 comments on commit 48263b6

Please sign in to comment.