ilastik / ilastik4ij

ImageJ plugins to run ilastik workflows
MIT License
22 stars 17 forks source link

Drag and drop support for the hdf5 import #71

Closed k-dominik closed 3 years ago

k-dominik commented 3 years ago

Seems like you cannot drag and drop a file from the file browser (tested on linux) onto the text field of the hdf5 import gui. Would be great to support this.

imagejan commented 3 years ago

The SciJava File input widget supports drag-and-drop functionality. It was implemented here:

https://github.com/scijava/scijava-ui-swing/commit/f0d2a878e5881ec4cf2c1de8f8484a7f0771c117

Instead of re-implementing the same in IlastikImportDialog, I'd suggest sticking to the standard ways to harvest input provided by the framework. It will reduce the maintenance burden for this project.

m-novikov commented 3 years ago

In our case, it's more convenient to have the DnD function on the whole dialog to avoid pixel hunting input field. We already use a custom file input widget because we needed to properly align fields on the grid and to be able to connect it to the data model. In the future, we would like to display recent ilastik projects in this widget.

k-dominik commented 3 years ago

The SciJava File input widget supports drag-and-drop functionality. It was implemented here:

scijava/scijava-ui-swing@f0d2a87

Instead of re-implementing the same in IlastikImportDialog, I'd suggest sticking to the standard ways to harvest input provided by the framework. It will reduce the maintenance burden for this project.

Hi @imagejan, I'm always so happy to see your comments here :+1:

But indeed, the custom widget add a lot of convenience to the dialog. I wouldn't really want to go back!

imagejan commented 3 years ago

@k-dominik wrote:

the custom widget add a lot of convenience to the dialog. I wouldn't really want to go back!

Fair enough, I do understand your reasons. It just makes me a little sad to see that the SciJava project didn't have the developer resources to offer what you apparently required for this project. And to see that the Commands in this repository are focused on usage in ImageJ/Fiji and probably won't work in KNIME as they are now, will they?

m-novikov commented 3 years ago

And to see that the Commands in this repository are focused on usage in ImageJ/Fiji and probably won't work in KNIME as they are now, will they?

I was not aware that KNIME also uses SciJava commands. Could you provide an example so maybe we can adapt commands to work in both environments?

It just makes me a little sad to see that the SciJava project didn't have the developer resources to offer what you apparently required for this project.

There is always a possibility that once we have something working well enough we contribute it to scijava. But it would be a major problem if we didn't test custom forms with our users first to figure out how useful it is in reality.

imagejan commented 3 years ago

Could you provide an example so maybe we can adapt commands to work in both environments?

The first versions of ilastik4ij worked in KNIME and were even deployed for a short time, but as far as I can tell, development dried up because of some issues (I am not sure about the details... the ilastik executable needed to be defined as a node parameter, instead of some central config?), and it finally never officially replaced the current custom ilastik integration in KNIME.

Regarding some examples of IJ2/SciJava plugins that are actually used in KNIME "in production", see all the commands in this folder:

https://github.com/fmi-faim/fmi-ij2-plugins/tree/f9247a147a3c92d98b15e6af1ee4d34a082cd297/src/main/java/ch/fmi

Disclaimer 1: I am the author of those. Disclaimer 2: Many of those commands actually just "wrap" ImageJ1 plugins to make them accessible in KNIME.