Converting a Dataset object into an ImageDisplay one

Hi guys,

I have been working on the ImageJ server enabling remote execution of ImageJ plugins. Some plugins need a Dataset object as an input, whereas others require an ImageDisplay object.

Consequently, I am looking for a clean way how to convert Dataset objects into ImageDisplay ones or, to be more precise, how to create an ImageDisplay object based on a Dataset one.

Thank you very much for your help in advance.

Best regards,

1 Like

You should be able to use the respective SciJava services:

  • Dataset > ImageDisplay using DisplayService:

    display = displayService.createDisplay(dataset);
  • ImageDisplay > Dataset using ImageDisplayService:

    dataset = imageDisplayService.getActiveDataset(display);

Plugins that are running headless should however not require an ImageDisplay, no? Which plugins do you have in mind?

Hi @imagejan,

Many thanks for your help! Your solution works very well.

So far I have been dealing with simple image transformations. For example, the RotateImageXY plugin works with Dataset objects, whereas the FlipHorizontally plugin requires an ImageDisplay object on input, even though it is marked as a headless-running plugin.