Friday, July 29, 2011

Context Menu

The context menus zoom now functions (custom value zoom). There is also a button that will put you right to 100%.

I think the context menu is complete now. There may be a few required changes for it.

Program

Help file has been started as a office (Open Office) file. I am thinking that an HTML file may be easier to use, and easier to show the images and descriptions then the Open Office file can.

The context menu has been simplified and now has an added menu for a custom level of zoom (X %). Although the custom level input isn't yet functioning.

Fixed a bug with the image saving. The "Holes Filled" image was incorrect, and was the same as the labeled image.

Next things to work on aside from fixing up the previous problems, and continuing the help file is redo functionality.

Thursday, July 28, 2011

more implemented

When the program has completed running it now automatically overlays the image.

Program filters files from the open dialog. Two settings:

(Image Files - JPG, BMP, TIF, GIF, PNG)
(All Files)

Measurements setting was added.

[         ] pixels per micron.

Default value is set to 9.064

The context menu is partially functioning. You can right click on the image to open a menu and switch modes from there, zoom in or out, and delete, erode, dilate, or measure blobs.

Next:

Make the context menu work better
Add a zoom factoring item (100%, 200%, ...)
Help system - with graphical walkthroughs, etc.

Monday, July 25, 2011

update, more implementations + more to do

 List of items in the system. [!] is things being worked on [*] is completed.

 * Show current filename being edited and the index in the list [*]
 * Visible ruler on the bottom of the image shows the scale
 * Filter files in the open dialog [!]
 * Automatically set the viewing to X% opacity and current/original images once processed. [!]
 * Remove the dropdown on the top right [*]
 * Add scrollbars for when you are zoomed in.
 * Zoom scale in a dropdown box - 100, 200, 300, 50, etc.
 * Measurements - allow the user to set the pixels/measure (100px/1nanometer)
 * Add separators, logically group the buttons. [*]
 * Save user settings - properties, window size, etc.
 * Help system
 * Put processing step in worker thread and invoke when opening an image.
 * Gesture control while zoomed in or out. [*]
 * Save the state of each image into the directory so each image can be reproduced. [*]
 * Some gestures to be implemented with shortcuts. [*]
 * All gestures to be implemented with toolbar buttons. [*] make all toolbar buttons actually function (add keyboard shortcuts for new toolbar buttons as well [*]) [!]
 * Use altkey controlling for zooming [* control] and moving the image [* Ctrl + Alt]. [use shortcuts for zoom/unzoom as well [*]].
 * Create a single CSV text file in the main directory which will contain tab and line separated data for all measurements made from all images. [*]
 * Allow user to view blob details in the program.
 * Making user controls better[*]
 * Splitting while zoomed in. [*]
 * Ink Canvas remains the same at all times (Doesn't change location or size) [*]
 * Speed on (larger?) images - if the issue is this [*]
 * Opening a directory to where you left off [*]

Friday, July 22, 2011

More improvements and more bugs!

The program has had many new improvements fully implemented the past few days.

- zooming in and out is finally -fully- working for splitting and joining in all situations. You can zoom in, zoom out, translate and the splits and joins are still correctly aligned on the bitmap from the ink canvas.

- zooming in and out functions for deleting blobs, you can delete blobs while zoomed in or zoomed out. This is not functioning for any other gestures (erode dilate etc.).

- Icons are now implemented and some of the tool tips have been added. Zoom in and out now have buttons. Additional buttons will be erode, dilate, delete, measure.

- Window now resizes along with he aspect ratio so there is no white space on the sides of the image.

- Tablet works for all usable tools.

- Tablet buttons (set up in windows tablet control) - can do zoom in and out, and switch between the three modes (gesture, split, move). The tablet buttons by default are "not an actual key on the keyboard (2 of these), Left Control, System, Left Shift" so I changed them in the tablet properties menu.

I think that's everything.

Next:

More icons for tools, remove unused icons/buttons if required, erode, dilate and measure to function with zooming features.

Wednesday, July 20, 2011

WPF Completed from previous list.

 * Some gestures to be implemented with shortcuts.
 * Use altkey controlling for zooming [* control] and moving the image [* Ctrl + Alt]. [use shortcuts for zoom/unzoom as well [*]].

Completed with some tools. Others will be added a long with the toolbar.

Undo - Ctrl + Z
Redo - Ctrl + Y [NYI]
Gesture Control - Ctrl + G
Split/Join - Ctrl + X
Move Image - Ctrl + Alt
Zoom in = Ctrl + +
zoom out = Ctrl + -


* Create a single CSV text file in the main directory which will contain tab separated data for all measurements made from all images. [*]

Creates it in the same directory as the "index.txt" file.

Will be meeting with the user on friday to look for more things to better implement.

I did find a new bug when it comes to splitting and joining with the zoom feature. Because the system keeps it in the aspect ratio there is sometimes some white space on the sides/top and bottom. This can't be there for split to work when zoomed in or transitioned. I'll be working on translating back by the amount of whitespace that is there. Just trying to figure out how to calculate that value.

Next things I would like to work on and finish:

 * Allow user to view blob details in the program.[!]
 * Save the state of each image into the directory so each image can be reproduced. [!]

Tuesday, July 19, 2011

Update of new things to implement

 * Put processing step in worker thread and invoke when opening an image.
 * Save the state of each image into the directory so each image can be reproduced.
 * Some gestures to be implemented with shortcuts.
 * All gestures to be implemented with toolbar buttons.
 * Use altkey controlling for zooming and moving the image. [use shortcuts for zoom/unzoom as well].
 * Create a single CSV text file in the main directory which will contain tab separated data for all measurements made from all images.
 * talk with user to see what controls are bad/hard to use
 * Allow user to view blob details in the program.

For the viewing of blob details in the actual program I want to look at various ways. I don't think having them directly written over the image is a good idea (maybe a properties menu under the toolbar). I think there should be a way to indicate which blob is being viewed in the properties menu preferably by indicating the color of the blob. I think that would be simpler to implement and would not interfere with the bitmaps.

Monday, July 18, 2011

Zooming now works entirely.

Splitting and joining while zoomed in now works entirely, with no bugs and misalignment's while doing many different zoom and translation functions. The image realigns whenever you zoom in or out.

Some of the exception handling has been added.

Going to implement the info that gets placed on the blobs (measurements) next.

Thursday, July 14, 2011

Next to complete

So I am posting now to cover what is next to complete in the program. There are still a few minor bugs to do with the zoom/translation/resizing feature and splitting and joining the image.


 * Making user controls better
 * talk with user to see what controls are bad/hard to use
 * Lower amount of buttons on the screen
 * Fix bugs
 * add exception handling
 * Allow user to view blob details in the program.
 * Splitting after translations - unzooming etc.
 * Tapping on the screen to indicate which blobs not to delete (Delete everything not intersecting a point)

Lots of these are to make the program easier to use, and run better. Things that will be useful for the program but require some amount of recoding and design are.

Erosion and Dilatation bug

at this time no other bugs jump out at me, but most new stuff is refining the design

Tuesday, July 12, 2011

Zooming

The zooming and translating now works with the cutting. There are a few times when it bugs out and an offset occurs. I noticed this occurs when you try moving the image (but it doesn't move). So part of the "move the image" code is run which translates my current position, and the other part which actually moves the image isn't. Even though they are in the same code block.

Working on figuring out how to fix this issue.

Monday, July 11, 2011

zoom

Can now cut while zoomed in correctly. You have to actually orient the image at the 0,0 location at this time. When the image zooms in it is automatically zooming into the origin (Center of the screen); so this throws off the translations.

So I am trying to think of how to figure out the translation from the origin to the corner of the imaging panel. This way I can use that distance to know how much I have moved (from the start).

Friday, July 8, 2011

WPF

Speed is now fixed on the images, splitting works fine on them.

all overlay issues are fixed.


Next problem that I want to get fixed is allowing splitting while zoomed in/translated. I think this is the most important item at this moment.

Wednesday, July 6, 2011

WPF

The program only crashes under one situation now (when you are deleting items). It appears to happen somewhat at random while deleting.

Doesn't crash at any other time (ran through, and cut out and measured diatoms in 16 images) before deleting multiple things on the screen and having it crash.

Tuesday, July 5, 2011

WPF

Worked out the overlaying issues, and most of the previous bugs. The program does not crash as much as previous. Runs quickly. Still a few weird things to work out with the overlay, such as editing the image while overlay is on. Plus there are still some problems with editing the image while zoomed in.

These are what I'm working on now.