@ctrueden provided me with a script that can be run in Fiji-future with a SNAPSHOT scijava/scripting-python jar, which does the following:
- Initializes a multi-channel
Dataset.
- Converts it to an
ImagePlus using PyImageJ (which uses the DatasetToImagePlusConverter).
- Edits the LUT of that
ImagePlus, such that one channel is Magenta.
- Displays the
ImagePlus.
From there, I want to interact with the active ImageDisplay, so I call LegacyImageDisplayService.getActiveImageDisplay. This taps into the LegacyImageMap, finds the associated ImageDisplay within its internal map, and returns it after synchronizing the associated attachments (i.e. ROIs and Tables, but not LUT)s. Therefore, the returned dataset does not have the edited Magenta that I see in the active image display.
LegacyImageMap makes a Harmonizer object on events - is there a reason why it cannot have one of these all the time, such that syncrhonizeAttachmentsToDataset could utilize it?
@ctrueden provided me with a script that can be run in Fiji-future with a SNAPSHOT
scijava/scripting-pythonjar, which does the following:Dataset.ImagePlususing PyImageJ (which uses theDatasetToImagePlusConverter).ImagePlus, such that one channel isMagenta.ImagePlus.From there, I want to interact with the active
ImageDisplay, so I callLegacyImageDisplayService.getActiveImageDisplay. This taps into theLegacyImageMap, finds the associatedImageDisplaywithin its internal map, and returns it after synchronizing the associated attachments (i.e. ROIs and Tables, but not LUT)s. Therefore, the returned dataset does not have the editedMagentathat I see in the active image display.LegacyImageMapmakes aHarmonizerobject on events - is there a reason why it cannot have one of these all the time, such thatsyncrhonizeAttachmentsToDatasetcould utilize it?