Git Product home page Git Product logo

scifio-ome-xml's Introduction

developer chat

SCIFIO (SCientific Image Format Input & Output) is an extensible Java framework for reading and writing images, particularly N-dimensional scientific images.

This core package supports parsing pixels and metadata for a collection of open formats. Additional formats can be supported simply by downloading SCIFIO plugins and including them in your project.

Purpose

SCIFIO's primary purpose is to provide a clear convention for supporting image input and output. By lowering the barrier for adding new image formats, all SCIFIO-backed software will grow more versatile and powerful.

Supported formats

The SCIFIO core includes support for:

  • APNG
  • AVI
  • BMP
  • DICOM
  • EPS
  • FITS
  • GIF
  • ICS
  • JPEG
  • JPEG2000
  • MNG
  • Micro-Manager
  • NRRD
  • PCX
  • PGM
  • QuickTime
  • TIFF
  • Zipped images

Additionally, Bio-Formats is available as a SCIFIO plugin for supporting more than a hundred additional proprietary formats.

For users

ImageJ2 and Fiji use SCIFIO for image I/O.

For developers

Several software libraries use SCIFIO for image I/O:

  • SCIFIO has built-in support for opening and saving ImgLib2 data structures (see the io.scif.img package).
  • We have updated Bio-Formats to also support SCIFIO plugins, backwards compatibly with existing code.
  • ITK has an ImageIO module for reading and writing images using SCIFIO.

Developer documentation:

More information

For more information, see the SCIFIO FAQ and SCIFIO web site.

Getting help

SCIFIO uses the Image.sc Forum for support. Start a new topic tagged with scifio.

Contributing to SCIFIO

SCIFIO is an open project and anyone is very welcome to submit pull requests to the SCIFIO repository.

With SCIFIO's focus on extensibility, you typically will not need to make upstream changes to get your formats into users' hands. However, if you are interested in submitting a pull request, that's great! All we ask is that you check:

mvn clean test

from the top level.

If you're adding a new feature, it would be fantastic if you could write a unit test for it! Simply base it on JUnit to have it run by the SCIFIO test suite.

scifio-ome-xml's People

Contributors

ctrueden avatar dscho avatar gab1one avatar hinerm avatar ngladitz avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ngladitz

scifio-ome-xml's Issues

OME XML physical sizes are not correctly read

OME XML physical sizes are not correctly read and show 1.0 using Image>Properties such as Image>Show Info...

Using Fiji/IJ1 and LOCI Importer, physical size are correctly shown in Image>Properties.

Sample file can be found here : https://drive.google.com/file/d/0Bwt2y0cMI-oyVnk0bHpudVpIOUE/edit?usp=sharing

These metadata should be found :

  • PhysicalSizeX : 0.065 um
  • PhysicalSizeY : 0.065 um
  • PhysicalSizeZ : 1.0 (old issue with Micromanager not related to Fiji/IJ stacks)
  • Time interval : 10 s

DefaultOMEMetadataService always assumes 3 non-planar axes in the input metadata

I am trying to convert the metadata of a 2D ics image with one color channel into OMEXML. I am calling the metadata translator service: SCIFIO.translator().translate(meta, omexml, false); code
This will find the ICSOMETranslator.

In function translateFormatMetadata of this class, the populatePixels() method of the OMEMetadataService is called with the doPlane switch set to true, resulting in an ArrayIndexOutOfBoundsException here. Because the MetadataService expects 3 non-planar axes in the input metadata.

Is there a way to prevent this from happening on my side?

OME-XML format doesn't populate codec context properly

All the codecs in the OMEXMLFormat are populated with new Codec(), which I suspect does not populate the Context, which then leads to NPE's in the AbstractGateway layer due to not having a context set.

Just need to update these codecs to accept a Context or invoke their setters.

OME-TIFFs are state-dependent on legacy Fiji

Some OME-TIFF datasets (e.g. the tubhiswt4D.ome.tif sample dataset) seem to be dependent on legacy fiji actions to open properly in IJ2/modern mode.

If opened in pure IJ2, or if immediately switching to modern mode and opening, the image is rendered incorrectly (just a bunch of noisy scanlines).

If, however, the dataset is opened first in Legacy mode (via File>Open or the Bio-Formats importer), it will then open correctly when switching to modern mode.

Clearly this linkage of state is undesirable, and it needs to open correctly from pure IJ2.

Support OME-TIFFs with non-compliant file extensions

Don't you think Tiff files should be checked even if they only have .tiff or .tif extension ?

In OMETIFFFormat.java:

    @Override
    protected String[] makeSuffixArray() {
        return new String[] { "ome.tif", "ome.tiff" };
    }

could become

    @Override
    protected String[] makeSuffixArray() {
        return new String[] { "ome.tif", "ome.tiff", "tif", "tiff" };
    }

Now I don't know at which point it's computer heavy to test for OME Tiff format.

According to isFormat in Checker (line 463), false is returned pretty quickly if xml string is not detected (see line 490). So between line 466 and line 485, it's all about reading the first IFD, which should has been done anyway.

Project does not build against scifio 0.43.x

The POM currently has a version pin to scifio 0.39.1. If you remove this pin, the following build errors happen:

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Volumes/Code/scifio/scifio-ome-xml/src/main/java/io/scif/ome/translators/ICSTranslator.java:[334,44] cannot find symbol
  symbol:   method getPixelSizes()
  location: variable source of type io.scif.formats.ICSFormat.Metadata
[ERROR] /Volumes/Code/scifio/scifio-ome-xml/src/main/java/io/scif/ome/translators/ICSTranslator.java:[336,39] cannot find symbol
  symbol:   method getUnits()
  location: variable source of type io.scif.formats.ICSFormat.Metadata
[ERROR] /Volumes/Code/scifio/scifio-ome-xml/src/main/java/io/scif/ome/translators/ICSTranslator.java:[340,52] incompatible types: int[] cannot be converted to double[]
[INFO] 3 errors

This needs to be fixed as part of the reconciliation of pom-scijava BOM components.

Rename repository to scifio-ome-xml

This repository is all about support for the OME data model, and OME-XML and OME-TIFF file formats.

We could call it scifio-ome but that might be too general and confusing since we also have scifio-omero. Perhaps scifio-ome-xml is future-proof enough, while remaining clear what the project is really for. I think ome-formats is weird because it loses the scifio- prefix (unlike any other SCIFIO-related project), and also formats is not clear exactly which formats are covered.

Create OME-XML command

We need a SCIFIO tools command for dumping OME-XML. Basically just like the "ome-xml" flag for showinf.

IllegalStateException in unit tests

While upgrading scifio-ome-xml to work with the latest SCIFIO version, I noticed this stacktrace (even if the unit tests pass):

java.lang.IllegalStateException: Context already injected: io.scif.ome.formats.OMETIFFFormat#service
    at org.scijava.Context.inject(Context.java:276)
    at org.scijava.plugin.DefaultPluginService.createInstance(DefaultPluginService.java:237)
    at org.scijava.plugin.DefaultPluginService.createInstances(DefaultPluginService.java:225)
    at org.scijava.plugin.DefaultPluginService.createInstancesOfType(DefaultPluginService.java:216)
    at io.scif.services.DefaultFormatService.initializeSingletons(DefaultFormatService.java:365)
    at io.scif.services.DefaultFormatService.formats(DefaultFormatService.java:318)
    at io.scif.services.DefaultFormatService.getFormatList(DefaultFormatService.java:288)
    at io.scif.services.DefaultFormatService.getFormat(DefaultFormatService.java:271)
    at io.scif.services.DefaultInitializeService.initializeReader(DefaultInitializeService.java:89)
    at io.scif.services.DefaultInitializeService.initializeReader(DefaultInitializeService.java:82)
    at io.scif.ome.OMEXMLTest.extractOMEXML(OMEXMLTest.java:58)

Potentially worrisome, but it could also be as easy as expecting this exception instead.

Can't save OME Tiff files

Copied from scifio/scifio#149

Reported by @hadim

I am not enable to save images as OME Tiff. It happens on opened OME Tiff file (when I crop an image for example) but also with a newly created image with File>New>Image.

Here the error with a newly created image:

java.lang.NullPointerException
at io.scif.ome.xml.meta.OMETIFFFormat$Metadata.populateImageMetadata(OMETIFFFormat.java:330)
at io.scif.AbstractTranslator.translate(AbstractTranslator.java:77)
at io.scif.services.DefaultTranslatorService.translate(DefaultTranslatorService.java:96)
at io.scif.img.ImgSaver.populateMeta(ImgSaver.java:682)
at io.scif.img.ImgSaver.initializeWriter(ImgSaver.java:620)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:157)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:139)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:109)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:307)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:280)
at imagej.plugins.commands.io.SaveAsImage.run(SaveAsImage.java:99)
at imagej.command.CommandModule.run(CommandModule.java:193)
at imagej.module.ModuleRunner.run(ModuleRunner.java:166)
at imagej.module.ModuleRunner.call(ModuleRunner.java:127)
at imagej.module.ModuleRunner.call(ModuleRunner.java:66)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
[WARNING] Expected positive value for PhysicalSizeX; got 0.0
[WARNING] Expected positive value for PhysicalSizeY; got 0.0
[ERROR] Incomplete Pixels metadata
java.lang.NullPointerException
at io.scif.ome.xml.meta.OMETIFFFormat$Metadata.populateImageMetadata(OMETIFFFormat.java:330)
at io.scif.AbstractTranslator.translate(AbstractTranslator.java:77)
at io.scif.services.DefaultTranslatorService.translate(DefaultTranslatorService.java:96)
at io.scif.img.ImgSaver.populateMeta(ImgSaver.java:682)
at io.scif.img.ImgSaver.initializeWriter(ImgSaver.java:620)
at io.scif.img.ImgSaver.writePlanes(ImgSaver.java:502)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:438)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:157)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:139)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:109)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:307)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:280)
at imagej.plugins.commands.io.SaveAsImage.run(SaveAsImage.java:99)
at imagej.command.CommandModule.run(CommandModule.java:193)
at imagej.module.ModuleRunner.run(ModuleRunner.java:166)
at imagej.module.ModuleRunner.call(ModuleRunner.java:127)
at imagej.module.ModuleRunner.call(ModuleRunner.java:66)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
[ERROR] Module threw exception
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at io.scif.img.ImgSaver.writePlanes(ImgSaver.java:584)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:438)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:157)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:139)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:109)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:307)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:280)
at imagej.plugins.commands.io.SaveAsImage.run(SaveAsImage.java:99)
at imagej.command.CommandModule.run(CommandModule.java:193)
at imagej.module.ModuleRunner.run(ModuleRunner.java:166)
at imagej.module.ModuleRunner.call(ModuleRunner.java:127)
at imagej.module.ModuleRunner.call(ModuleRunner.java:66)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

And here the error with an already openend OME Tiff file:

java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at io.scif.img.ImgSaver.writePlanes(ImgSaver.java:584)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:438)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:157)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:139)
at io.scif.img.ImgSaver.saveImg(ImgSaver.java:109)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:307)
at imagej.data.DefaultDatasetService.save(DefaultDatasetService.java:280)
at imagej.plugins.commands.io.SaveAsImage.run(SaveAsImage.java:99)
at imagej.command.CommandModule.run(CommandModule.java:193)
at imagej.module.ModuleRunner.run(ModuleRunner.java:166)
at imagej.module.ModuleRunner.call(ModuleRunner.java:127)
at imagej.module.ModuleRunner.call(ModuleRunner.java:66)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)

Refactor translator usage of MetaTable

Per scifio/scifio#139 MetaTables should not be directly queried for specific keys. The Metadata itself should have accessor methods that are used instead.

This will affect most of the Format -> OME translators, and how they query Metadata.

Exception opening .ome.tiff

From a thread on the ImageJ forum:

A fresh installation of the latest Fiji with SCIFIO enabled fails to read this .ome.tiff image. The Bioformats Importer reads successfully. Is this the right place to report this?

Warning:  org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
Warning:  org.apache.xerces.parsers.SAXParser: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' is not recognized.
Warning:  org.apache.xerces.parsers.SAXParser: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
Warning:  org.apache.xerces.parsers.SAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
Warning:  org.apache.xerces.parsers.SAXParser: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.
Warning:  org.apache.xerces.parsers.SAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized.
[WARNING] Image ID 'D:\Lorenz\2016 06 06 stainings\3 - bleach_new_switch track every z-stack__AQ__W0001__P0001__T0004.czi': missing plane #0.  Using TiffReader to determine the number of planes.
[INFO] Reading IFDs
[INFO] Populating metadata
[INFO] Checking comment style
[INFO] Reading IFDs
[INFO] Populating metadata
[INFO] Checking comment style
Exception in thread "DrawAndDrop" java.lang.ArrayIndexOutOfBoundsException: 1
    at io.scif.ome.formats.OMETIFFFormat$Reader.openPlane(OMETIFFFormat.java:1116)
    at io.scif.ome.formats.OMETIFFFormat$Reader.openPlane(OMETIFFFormat.java:1082)
    at io.scif.AbstractReader.openPlane(AbstractReader.java:167)
    at io.scif.filters.ChannelFiller.openPlane(ChannelFiller.java:171)
    at io.scif.filters.ChannelFiller.openPlane(ChannelFiller.java:151)
    at io.scif.filters.PlaneSeparator.openPlane(PlaneSeparator.java:305)
    at io.scif.filters.AbstractReaderFilter.openPlane(AbstractReaderFilter.java:244)
    at io.scif.img.ImgOpener.read(ImgOpener.java:836)
    at io.scif.img.ImgOpener.read(ImgOpener.java:818)
    at io.scif.img.ImgOpener.read(ImgOpener.java:818)
    at io.scif.img.ImgOpener.read(ImgOpener.java:818)
    at io.scif.img.ImgOpener.read(ImgOpener.java:798)
    at io.scif.img.ImgOpener.readPlanes(ImgOpener.java:785)
    at io.scif.img.ImgOpener.openImgs(ImgOpener.java:383)
    at io.scif.img.ImgOpener.openImgs(ImgOpener.java:269)
    at io.scif.img.ImgOpener.openImgs(ImgOpener.java:146)
    at io.scif.services.DefaultDatasetIOService.open(DefaultDatasetIOService.java:124)
    at io.scif.services.DefaultDatasetIOService.open(DefaultDatasetIOService.java:109)
    at io.scif.io.DatasetIOPlugin.open(DatasetIOPlugin.java:75)
    at io.scif.io.DatasetIOPlugin.open(DatasetIOPlugin.java:50)
    at net.imagej.legacy.plugin.DefaultLegacyOpener.open(DefaultLegacyOpener.java:135)
    at net.imagej.legacy.DefaultLegacyHooks.interceptDragAndDropFile(DefaultLegacyHooks.java:363)
    at ij.plugin.DragAndDrop.openFile(DragAndDrop.java)
    at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
    at java.lang.Thread.run(Thread.java:745)

Crop OME Tiff file loose Plane tags

Plane tags are not mandatory in OME XML but they can contain very sensitive informations such as time, XYZ position and exposure time.

When an OME Tiff file is cropped, saved and then re open. Plane tags contained in the original file are missing.

Is that a bug or something you don't translate intentionally ?

I report here missing Plane tags because I use them but the same comment could be done for other optionals OME XML metadata.

PS: when I say Save and Open, I only use Legacy mode & Bio-Formats plugin or Modern mode.

OMEXML translators need to call super.typedTranslate

Currently, all OMEXML translators rely on the convention of calling super.typedTranslate to establish baseline metadata population.

however, this is quite error prone. As apparent in the BMPOMETranslator, in which super.typedTranslate was not invoked and is currently broken.

So all the translators should be evaluated for their functionality (in fact, each supported SCIFIO format should be tested - not just those with explicit translators).

Failing translators should be fixed, at a minimum. But perhaps there is a better way...

I think if, at the OMETranslator level, we override translate instead of typedTranslate, we can add a pre-translation hook (which is what's desired) and remove the need for all of these super.typedTranslate calls.

Create a bridge layer for conversion between OME units and SciJava units

The SciJava software stack adopted the UDUNITS package. (Currently the UnitService is part of ImageJ Common, but it is not image-specific and should almost certainly be migrated to SciJava Common.)

The OME project now provides its own ome.units package. The scifio-ome-xml component defines the central interoperability mechanism between the OME data model and the ImageJ data model—thus, it will need to define a conversion mechanism between the two unit models.

How to get the complete OME-XML-String?

Hi Mark,
what is the right way to get the OME-XML metadata as a XML-String from arbitrary image formats?
So far we are only able to retrieve the default image metadata without the additional information (as, for instance, available in this image file). This is the code how we currently get the xml-string.

Thanks for your help!
Martin

Evaluate OME-XML dependencies

Currently OME-Formats depends on OME-XML and SCIFIO 4.4.8 libraries. This prevents compatibility with the 5.0.0 Bio-Formats line.

Possible options for resolving this issue would be copying the necessary OME-XML classes into the OME-Formats component, or extracting them to their own project where the latest auto-generated classes could be read.

The auto-generation itself may need to be reworked to generate SCIFIO-friendly classes, but by using Metadata that wraps an IMetadata this may be avoided.

May need to split the OME-XML component into two - the low level OME-XML classes themselves, and the SCIFIO implementation of the OMETIFF and OMEXML formats, and their required classes.

Bioformats 5

When are you planning to switch to Bioformat 5 ?

I tried to use latest imagej and ome-formats build with loci_tools.jar and ome-xml.jar compiled from develop bioformats branch and it fails to load.

If I use a build coming from dev_4_4 bioformats branch, it works.

I will posterror message I have with develop branch later.

Convert to ome.xml.meta.*

Currently we are still using loci.formats.meta.MetadataStore, etc... classes.

This is more restrictive than ome.xml.meta (as the loci.formats.meta equivalents are dummy subclasses).

However, let's wait to do so until we have an OMEXMLService that operates on ome.xml.meta classes, to avoid casting headaches.

OME Tiff file are not correctly opened

(please tell me if I am not on the right place to report this issue)

OME Tiff files opened in ImageJ-dev (modern mode) using Open command are not correctly detected. All stacks are on the same dimensions (T).

I use both Bioformat 5 and Scifio-dev update sites. I got the same issue with data creating with micromanager and with data provided by openmicroscopy (http://www.openmicroscopy.org/Schemas/Samples/2013-06/bioformats-artificial/multi-channel-4D-series.ome.tif.zip).

Here is the log I got:

[INFO] Created service: org.scijava.log.StderrLogService
[INFO] Created service: org.scijava.thread.DefaultThreadService
[INFO] Created service: org.scijava.event.DefaultEventService
[INFO] Found 482 plugins.
[INFO] Created service: org.scijava.plugin.DefaultPluginService
[INFO] Created service: org.scijava.object.DefaultObjectService
[INFO] Created service: imagej.module.DefaultModuleService
[INFO] Created service: imagej.command.DefaultCommandService
[INFO] Created service: imagej.script.DefaultScriptService
[INFO] Created service: io.scif.services.DefaultFormatService
[INFO] Found 11 DataType plugins.
[INFO] Created service: imagej.data.types.DefaultDataTypeService
[INFO] Created service: imagej.data.DefaultDatasetService
[INFO] Created service: imagej.display.DefaultDisplayService
[INFO] Created service: imagej.data.display.DefaultImageDisplayService
[INFO] Created service: imagej.data.lut.DefaultLUTService
[INFO] Created service: imagej.text.DefaultTextService
[INFO] Created service: imagej.io.DefaultRecentFileService
[INFO] Created service: imagej.io.DefaultIOService
[INFO] Found 13 InputWidget plugins.
[INFO] Created service: imagej.widget.DefaultWidgetService
[INFO] Created service: imagej.menu.DefaultMenuService
[INFO] Found 3 applications.
[INFO] Created service: org.scijava.app.DefaultAppService
[INFO] Created service: org.scijava.app.DefaultStatusService
[INFO] Created service: imagej.tool.DefaultToolService
[INFO] Created service: imagej.plugins.commands.app.CoreAppEventService
[INFO] Found 1 Platform plugins.
[INFO] Configuring platform: imagej.platform.DefaultPlatform
[INFO] Created service: imagej.platform.DefaultPlatformService
[INFO] Created service: imagej.options.DefaultOptionsService
[INFO] Created service: imagej.console.DefaultConsoleService
[INFO] Created service: org.scijava.event.DefaultEventHistory
[INFO] Created service: imagej.updater.core.DefaultUploaderService
[INFO] Created service: net.imglib2.meta.units.DefaultUnitService
[INFO] Created service: imagej.data.DefaultImgPlusService
[INFO] Created service: imagej.data.autoscale.DefaultAutoscaleService
[INFO] Created service: imagej.data.operator.DefaultCalculatorService
[INFO] Created service: imagej.ui.common.awt.AWTRenderingService
[INFO] Created service: imagej.data.display.DefaultOverlayService
[INFO] Created service: imagej.data.display.DefaultInputService
[INFO] Created service: imagej.data.display.DefaultZoomService
[INFO] Created service: imagej.data.display.DefaultWindowService
[INFO] Created service: imagej.data.animation.DefaultAnimationService
[INFO] Created service: imagej.data.threshold.DefaultThresholdService
[INFO] Created service: imagej.data.measure.DefaultStatisticsService
[INFO] Created service: imagej.data.measure.DefaultMeasurementService
[INFO] Created service: imagej.data.sampler.DefaultSamplerService
[INFO] Created service: io.scif.codec.DefaultCodecService
[INFO] Created service: io.scif.DefaultMetadataService
[INFO] Created service: io.scif.formats.qt.DefaultQTJavaService
[INFO] Created service: io.scif.formats.tiff.DefaultTiffService
[INFO] Created service: io.scif.gui.DefaultGUIService
[INFO] Created service: io.scif.refs.DefaultRefManagerService
[INFO] Created service: io.scif.img.cell.cache.MapDBCache
[INFO] Created service: io.scif.img.converters.DefaultPlaneConverterService
[INFO] Created service: io.scif.img.DefaultImgUtilityService
[INFO] Created service: io.scif.io.DefaultNIOService
[INFO] Created service: io.scif.services.DefaultFilePatternService
[INFO] Created service: io.scif.services.DefaultLocationService
[INFO] Created service: io.scif.services.DefaultTranslatorService
[INFO] Created service: io.scif.services.JAIIIOServiceImpl
[INFO] Created service: io.scif.xml.DefaultXMLService
[INFO] Created service: imagej.ui.DefaultUIService
[INFO] Created service: imagej.ui.dnd.DefaultDragAndDropService
[INFO] Created service: imagej.plugins.uis.swing.overlay.JHotDrawService
[INFO] Created service: imagej.plugins.uis.swing.SwingIconService
[INFO] Created service: imagej.plugins.commands.restructure.SplitChannelsContextMonitor
[INFO] Created service: imagej.ui.common.awt.AWTScreenCaptureService
[WARNING] Ignoring non-existent scripts directory: /home/hadim/Downloads/bio/ImageJ.app/scripts
[INFO] Found 0 scripts
[WARNING] Overridden plugin ij.plugin.LutLoader("3-3-2 RGB") is blacklisted
[WARNING] Overridden plugin ij.plugin.AboutBox is blacklisted
[WARNING] Overridden plugin ij.plugin.Commands("quit") is blacklisted
[INFO] Found 258 legacy plugins (plus 145 ignored).
[INFO] Created service: imagej.legacy.DefaultLegacyService
[INFO] Created service: imagej.render.DummyRenderingService
[INFO] Created service: imagej.data.display.DummyScreenCaptureService
[INFO] Created service: io.scif.services.DefaultInitializeService
[INFO] Discovered user interface: imagej.plugins.uis.swing.sdi.SwingUI
[INFO] Discovered user interface: imagej.plugins.uis.swing.mdi.SwingMdiUI
[INFO] Launching user interface: imagej.plugins.uis.swing.sdi.SwingUI
[INFO] Found 25 Tool plugins.
[INFO] Found 6 ScriptLanguage plugins.
[INFO] Found 2 TextFormat plugins.
[INFO] Found 4 IOPlugin plugins.
[INFO] Found 19 OptionsPlugin plugins.
[INFO] Found 3 ConsoleArgument plugins.
[INFO] Found 2 AutoscaleMethod plugins.
[INFO] Found 13 CalculatorOp plugins.
[INFO] Found 17 ThresholdMethod plugins.
[INFO] Found 16 Codec plugins.
[INFO] Found 3 PlaneConverter plugins.
[INFO] Found 11 Translator plugins.
[INFO] Found 4 DragAndDropHandler plugins.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[WARNING] /home/hadim/metadata.txt not found - creating VirtualHandle.
[INFO] Reading IFDs
[INFO] Populating metadata
[INFO] Checking comment style
[WARNING] Expected positive value for PhysicalSizeX; got Infinity
[WARNING] Expected positive value for PhysicalSizeY; got Infinity
[INFO] Found 9 JHotDraw adapters.

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.