joined:Jan 4, 2006
Hi, I have a simple desktop program I put together with Java which displays an image with a grid over it, allowing the user to indicate which grid contains items of interest. I feed this input to a machine learning program to create a training set which is used to classify additional images. The purpose is to identify cancer in images, but could be used for identifying features in any image. Each image the user examines, indicates, and submits increases the training set and ideally increases the accuracy of the next image.
However, I'm interested in a better way of doing this, and I've been away from Java for a while, being distracted by another project. I'd also rather work with Python or C/C++ on the server side, just because those are the languages used for the technology I'm most interested in, so I'd rather invest the programming time to increase my competence for other projects.
Ideally the interface would work something like this: The user/pathologist would bring up a file browser to select images, one or more. They're going to be pretty big, tens of MBs, so they will queue up in the background and allow the user to keep working. There will be a set of controls and a list of images. The image list will indicate images ready for examination.
When the user selects an image for examination, the system will display the image, indicating the classification of each portion of the image (probably with a grid) along with the probability score, and allow pan, zoom, and select areas (or click grid boxes) in order for the user to correct the classification and submit the image for processing. The image list will show which images are currently processing on the server.
The trickiest part is probably the zoom. The selection method I've used is a grid, but the ability to make selections might be better.
Any opinions on this? Thanks!