cooperlab / activelearning Goto Github PK
View Code? Open in Web Editor NEWSoftware and documentation from the active learning project on interactive classification.
Software and documentation from the active learning project on interactive classification.
There was an issue were the dataset was corrupted in picker when manipulating the samples with the review screen. The same issue is possible in a learning session, but has not been fixed. Basically, instead of constantly resizing the buffers and moving data, the labels or an ignore set should be used to identify samples to be ignored. Before training, the array pointing to the feature data is updated to exclude the ignored samples. The array is only pointer so it should be quick to update. Then when saving the training set, we remove the ignored samples by swapping samples to keep from the end of the dataset into the locations of the samples to ignore. No need to adjust buffer size or constantly moving data each time a sample is manipulated in the review screen. See the fixes made to the picker 165905d
In order to facilitate the process of data import, development for a data import tool is needed. And, eventually it should be integrated.
"Continue a session" on the main page, training set information (Pos class, Neg class, and counts) are not properly updated when changing training set combo box.
Review section in both region based active learning and cell based active learning should be integrated with current active learning algorithm.
-Add tab to each application to link to "Picker"
-Change name to "Validation"
-Remove Picker links from landing page
Remove pulldown to select classifier, apply "current" by default, leave show/hide segmentation button.
There will be conflicts between algorithms when viewer section starts sessions and running algorithms. To avoid this, this section should also be integrated into one.
Current labeled images on Report tab are created by using superpixel labeled images stored in host machine directory. But, this may not be necessary to use the images if we use the database with centroids and slidename.
On the Instance and Review tabs, the superpixel size on the thumbnail view is often changed into different one when moving the section tabs into another ones. The superpixel size on the thumbnail view should have consistency throughout all tabs.
Link to "Picker" page.
Should enable users to create a validation set, apply a classifier to this set, and get accuracy statistics.
The heatmaps in the thumbnail gallery are not updating with the classifier.
We should update all the codes in al_server (c++) because integrating algorithms on the web server will affect on the al_server.
Grid sections for each algorithm should be integrated into one.
In the viewer screen when displaying segmentation boundaries, if you switch to another slide then zoom in the boundaries are not displayed. You have to hide them then show them again to get them to display. This happens whether or not a session is active.
Note that this does not happen in the prime screen, the code is similar between the two so look at the prime screen for a solution,
All index pages for each algorithm should be integrated into one index page.
A function that generates a set of labeled images with original magnification from given dataset will be useful for those who would like to confirm labels (positive and negative) on the original sized images.
Prime sections should also be integrated following main page.
Current docker image includes nuclei segmentation method only, so we need to upgrade the docker image with two methods (region based and cell based characterized by autoencoder).
Image content goes black after pan/zoom occasionally. Annotations remain though.
In the viewer screen, after double clicking an object to retrain, double clicking it again changes the color of the border but still adds it to the training set.
@nalisnik Initiate a save event before timing out a session so that users may resume training.
If a training set has the same name as a training set created with a different dataset, it is possible the wrong training set will be loaded if reloading a session.
In the view screen, when there is no active session, you should be able to apply a classifier that was previously built. This functionality no longer seems to work.
Modify text in Import tab:
-Features:... -> "Features (.h5 file)"
-Boundaries -> "Boundaries (path to csv files)" (I think these are CSV)
-Slides -> "Slides (path to .tiff files)"
We need to deal the issue when we are appending new features+boundaries to existing slides, versus importing an entirely new dataset features+boundaries+slides.
We also need to clarify the difference between project & dataset.
It is necessary to add the survival page into the integrated HistomicsML. This may affect main menus , front-end, back-end including database.
When we create a dataset with different size of superpixels, the size of the images on the thumbnail view is not changed. This is because the dataset doesn't have the information of the superpixel size. One of possible solution for this problem is to add the information to the database, and then retrieve the information when the dataset is loaded.
An instruction for the users who may want to add their own dataset into HistomicsML will be needed. We need to create a document that describes the data import steps.
Algorithms affect heatmaps, so integrations is required.
Documentation for creating data would be helpful. This could be done by adding some instructions on here.
We need to add import tab on docker image after updating the import tab. An instruction manual for this importing tab should be added.
When reloading previous dataset on the main page, the type of applications is not properly sent to prime section. We should be able to link this type of applications to prime section.
When generating heatmaps on Heatmap tab, rectangle-like box occurs if the positive or negative density of the region is too high. I guess this is because of the object size (for each region) affecting the kernel size of the gaussian blur.
Harmonize terminology across VALS menus
Errors occur when generating heatmap on viewer section. This is because current dataset is not loaded when calling the heatmap function. Also, sql syntax should be fixed in getslide.php.
Basically, report section retrieves datasets from database and repots classification results. So, it would be better to classify datasets for each algorithms. Integration is needed.
Currently, the name given for the classifier or test set is used as-is for the filename. When invalid characters are part of the name, the file won't save and is not caught. This causes the session to be saved in the database, but there is not training/test set file associated with it.
There is an issue that the user may want to use more information about a label image when generating a label image on Report tab. For example, in addition to the predict probabilities for each object, centroids and label number for each labeled region would be useful for the user to analyze their results. Current result on the label image only includes the predict probabilities for each object. So, providing more information about the label image as an another output (e.g. HDF5 file) would be good.
Create a main page for nuclei, region, and cell based algorithms.
List of changes:
-Make text and images active links. Remove links "Main" and "Picker" (see Issue #81)
-Replacement images
-Change order to "Region", "Cell", "Nuclear"
-Region text - Title "Region", text "Region based active learning with convolutional autoencoders."
-Cell text - Title "Nuclei", text "Cell based active learning with convolutional autoencoders."
-Nuclear text: Title "Nuclei (segmentation)", text "Cell based active learning using traditional nuclear segmentation and feature extraction."
-Standardize box sizes (height)
-Add "Resources:" list below image pages
-Add resources link to documentation
-Add resources link to publication (http://www.biorxiv.org/content/early/2017/05/19/140236, use linked text "M Nalisnik et al, Interactive phenotyping of large-scale histology imaging data with HistomicsML", doi: https://doi.org/10.1101/140236"
-Add resources link to source "Source code"
Generation of binary masks and native resolution. Could be stored as HDF5 or in an image format. Arrays/images will be large but are highly compressible (without loss).
When finalizing a training set with samples, if some of samples are deleted, centroid x and y are properly saved in the training set. This issue may be resolved in fixing deletion function on learning server demon.
We should think of more user-friendly ways of importing data on Import Tab.
I can't seem to find any documentation specifying how to use the docker image
After pulling the image from here:
https://hub.docker.com/r/histomicsml/active/
It seems that there isn't mysql installed? It would help if you could tell us from which step we're supposed to start and/or how to get a basic version up and running
Anyway, after installing mysql and running the mysql scripts as indicating in the installation document, i run this command you can see the error:
root@b3eb410352ec:/src/ActiveLearning/scripts# service al_server start
* Starting active learning server daemon al_server /usr/local/bin/al_serverd: /usr/local/lib/libtiff.so.5: no version information available (required by /usr/local/bin/al_serverd)
Then to see if i get any response, I run:
root@b3eb410352ec:/# curl http://127.0.0.1:10000
and the command hangs, and eventually times out. The log file says:
[INFO ] 05-31-2017 10:49:49 - Request from 127.0.0.1
I've hit the 2hour mark, so at this point I need to move on to other things, but any guidance would be appreciated.
Add a splash screen while intensive tasks like prediction and sampling are happening.
Region based PICKER should also be integrated and should avoid the duplication problem when selecting samples.
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.