Skip to content
Branch: master
Commits on Aug 10, 2018
  1. POM: ImageJ Forum -> Forum

    ctrueden committed Aug 10, 2018
Commits on Apr 28, 2018
  1. Fix repository in project metadata

    ctrueden committed Apr 28, 2018
    And reencrypt Travis credentials with correct repository slug.
  2. POM: remove no-longer-true comment

    ctrueden committed Apr 28, 2018
  3. Add Travis CI configuration

    ctrueden committed Apr 28, 2018
  4. Migrate T2-TreelineGraph to separate repository

    ctrueden committed Apr 28, 2018
    The code now lives at
    This will make it simpler to perform releases of each subcomponent.
Commits on Apr 23, 2018
  1. Fix javadoc lint errors

    ctrueden committed Apr 23, 2018
Commits on Apr 6, 2018
  1. ExportBestFlatImage: optimize the case of lacking mipmaps for grey im…

    acardona committed Apr 6, 2018
    by using the new ExportUnsignedByte.makeFlatImageFromOriginals,
    which Gaussian-downsamples each original image before mapping it.
    The color image export still uses a giant image that is then Gaussian-downsampled.
  2. ExportUnsignedByte: fix scaling when a Patch's affine transform has

    acardona committed Apr 6, 2018
    a scaling component > 1.0. This maximizes rendering quality.
  3. ExportUnsignedByte: new methods to use original images.

    acardona committed Apr 6, 2018
    Loads the original images, transformed, and Gaussian-downsamples them
    to the specified dimensions. Result is almost like from mipmaps
    (which are generated by area averaging). Visually no difference.
Commits on Mar 29, 2018
  1. ExportBestFlatImage edits:

    acardona committed Mar 29, 2018
     * more comments
     * invoke printInfo() for all calls
     * new method makeFlatFloatGrayImageAndAlpha to avoid additional conversions
       in classes that need it. Note the range is still 8-bit,
       as this is necessary to be able to handle appropriately images
       of different bit depths all mixed together.
     * More memory aware.
Commits on Mar 27, 2018
  1. method for ByteProcessor with alpha…

    acardona committed Mar 27, 2018
    … composition
    and also generating the target mask.
    Just like was done earlier for ColorProcessor.
  2. ExportARGB.makeFlatImageARGBFromOriginals: works correctly,

    acardona committed Mar 27, 2018
    by using the new TransformMeshMappingWithMasks for ColorProcessor.
  3. ExportARGB.makeFlatImageARGBFromMipMaps now far more efficient,

    acardona committed Mar 27, 2018
    by using the new TransformMeshMappingWithMasks methods for ColorProcessor.
  4. TransformMeshMappingWithMasks: methods to map from a ColorProcessor

    acardona committed Mar 27, 2018
    to a ColorProcessor while performing alpha composition and also
    mapping the alpha mask correctly.
    Copy-pasted and edited from methods for ShortProcessor by Saalfeld.
  5. ExportARGB.makeFlatImageARGBFromMipMaps: finally works well.

    acardona committed Mar 27, 2018
    Was using TransformMeshMappingWithMasks.mapInterpolated which doesn't use
    alpha composition. Changed to using the map methods that use ShortProcessor
    and which do the expected alpha composition, 3 times (one per color channel)
    plus a mapping for the alpha channel itself.
    Inefficient but works correctly (except the target alpha mask, which is wrongly mapped).
Commits on Mar 9, 2018
  1. Fix error in FSLoader.preProcess: when an image lacks an original Fil…

    acardona committed Mar 9, 2018
    there would be a NullPointerException.
    The Cache uses the FileInfo.fileFormat == Loader.PREPROCESSED as a flag,
    but the null original FileInfo also works as a flag too (see
Commits on Mar 3, 2018
  1. ExportBestFlatImage: avoid mipmaps when there are CoordinateTransforms.

    acardona committed Mar 3, 2018
    Likely a useless solution. The issue is: why is the mapping not considering
    the outside mask for Patch with CoordinateTransform?
  2. ExportARGB: try to fix alpha channel. Still doesn't work for outside

    acardona committed Mar 3, 2018
    when Patch has a CoordinateTransform.
Commits on Mar 2, 2018
  1. ExportBestFlatImage.makeFlatColorImage: returns a Pair<ColorProcessor…

    acardona committed Mar 2, 2018
    with the RGB image and the alpha mask.
Commits on Mar 1, 2018
  1. Minor comment.

    acardona committed Mar 1, 2018
  2. Likely bug (error): if mipmaps are present, BlockMatchPairCallable is…

    acardona committed Mar 1, 2018
    … using
    an alpha channel that was already scaled to the [0..1] range,
    and then divides this by 255 again.
  3. BlockMatchPairCallable: use ExportBestFlatImage.makeFlatGrayAndAlpha

    acardona committed Mar 1, 2018
    to avoid blowing beyond the 2GB array index limit.
  4. Patch: deprecate makeFlatGrayImage, in favor of the new ExportBestFla…

    acardona committed Mar 1, 2018
  5. Refactored Patch.makeFlatGrayImage into new class ExportBestFlatImage

    acardona committed Mar 1, 2018
    which offers two main methods:
    * makeFlatGrayImage: for just the gray image.
    * makeFlatGrayImageAndAlpha: for both the gray image and its alpha mask
    The images are limited to 2GB arrays, and are generated either from
    mipmaps or from raw data, depending on size and availability.
Commits on Feb 28, 2018
  1. FSLoader: small fix to add robustness and reuse of arrays to the rege…

    acardona committed Feb 28, 2018
    of mipmaps with area downsampling.
  2. FastIntegralImage: added a new test for short[] images: fails

    acardona committed Feb 28, 2018
    when the short[] is expanded to the full range by multiplying by 256.
    It is bizarre, as the integral image method for short[] uses & 0xffff
    to convert the short to an int. Fails also when not converted to int.
    Also refactored the test to a test method outside the main.
You can’t perform that action at this time.