Commits

Author Commit Message Labels Comments Date
AndyHowlett
Added new class PixelTree.
AndyHowlett
AndyHowlett
Updated some tests to reflect changes to code.
AndyHowlett
Added null check.
AndyHowlett
Method createNodesAndEdges() now clears edge lists for nodes before appending found edges to them.
AndyHowlett
Made it such that cyclic nuclei are positioned as close to the top-left corner as possible (ties broken by y coordinate). Fixed bug relating to cyclic nuclei.
AndyHowlett
Switched a use of one of the constructors of Double to Double.valueOf().
AndyHowlett
Outlining now removes pixels touching the outline diagonally, and also now returns the pixels removed. Made method iterateClockwiseRoundPerimeter(Pixel) public, and added another method iterateClockwiseRoundPerimeter(Pixel, Int2) to allow specification of initial direction.
AndyHowlett
Method createOutline() will now remove all instances of used pixels in the given list.
AndyHowlett
Very short edges (4 or fewer pixels) are ignored (this avoids false edges near two-edge nodes, but might possibly cause problems elsewhere).
AndyHowlett
Added code to handle 2-pixel islands as dot nuclei.
AndyHowlett
Switched to new super-thinning method from old one (not sure this is the best thing to do). Corrected doSuperThinning(). Removed post-sort from thinThickStepsOld(). Corrected a spelling error.
AndyHowlett
Changed code to handle edge-less nodes that aren't derived from dot nuclei (this occurs when a terminal nucleus is very close to another nucleus).
AndyHowlett
Added new method Pixel.createCompleteNeighbourNeighbourList(), which finds all pixels in the next shell out from the neighbours, regardless of which neighbouring coordinates actually have pixels associated with them.
AndyHowlett
Updated tests to reflect changes to flood-filling.
AndyHowlett
Calculating coordinates of neighbours is now optionally independent of whether diagonal links are allowed in the parent pixel island of a pixel. Optimised code of Pixel a little (for when software is run with less debugging output than for trace level). Tidied one piece of code.
AndyHowlett
Changed default maximum number of islands. Added in uses of new super-thinning methods to MainPixelProcessor.getOrCreatePixelIslandList() (not sure if this is the best thing to do).
AndyHowlett
Flood-filling for images and flood-filling for pixel lists now use a common superclass; rewrote some parts. Switched to PixelIsland.createSeparateIslandWithClonedPixels() from constructor. Formatting changes.
AndyHowlett
Updated test to reflect change of threshold in ImageProcessor.
AndyHowlett
Modified Zhang-Suen thinning and sped it up.
AndyHowlett
Switched to LinkedHashSet from HashSet.
AndyHowlett
Added a removeAll() method to PixelList, which code makes use of. A list's map is now used for testing whether a pixel is in the list. Added a call to ensurePixelByCoordinateMap() in the constructor of PixelList.
AndyHowlett
Added method fitsWithin().
AndyHowlett
Added bounding box caching to PixelIsland, and changed a comment to match. Tided a comment.
AndyHowlett
Improved tree generation in in PixelGraph.
AndyHowlett
Fixed two bugs in modified Douglas-Peucker algorithm.
AndyHowlett
Removed unnecessary double-image-inversion. Corrected a spelling error.
AndyHowlett
ImageProcessor no longer uses some information from the previous image when it is given a new one.
AndyHowlett
Changed default black / white threshold.
AndyHowlett
Wrote code to generate trees (only changes to PixelGraph included at the moment).
  1. Prev
  2. Next