this sounds great. Of course we will support you wherever we can.
1. About KNIME Development/Node Deployment:
As you already pointed out correctly, you develop your node in using the KNIME SDK and then use "Debug->Run" to test/debug your node. This is very handy, as thanks to hot-code replacement you can even debug your code while running your KNIME instance.
If you want to use exactly this code on another machine (deploying the node), you have several options. The easiest option is, that you export your node using the "Export Wizard" in the plugin.xml tab "Overview". This wizards creates a new .jar depending on the settings of your build.properties file in the plugin (see standard Eclipse Plugin development guide-lines for that). This jar you can then copy paste in the drop-in folder of the KNIME installation in which you want to use your node. I completely agree, that this is not very handy and actually not very convenient.
Therefore there are more sophisticated ways to deploy your nodes on other machines. Depending of whether you want to make your code available for everybody, you could use the infrastructure of community-contributions, provided by KNIME. KNIME provides so called update-sites for projects, such that you can easily install your set of nodes (i.e. your plugin) on other machines. But this is only worth it, if your nodes are of general interest. Contact for Community Contributions: firstname.lastname@example.org
Anyway, you can also create your own update-sites. See eclipse documention of how to create update-sites. Howevery, as soon as you really want to deploy your code we can discuss all these options again and help you there of course.
2. About Development of KNIME Image Processing Nodes:
First, we heavily use ImgLib2 in the background to process images (imglib2.net). It's really worth learnin ImgLib2 as also the new ImageJ2 will completely base on ImgLib2. ImgLib2 at the beginning is not the most intuitive framework, but from our experience the learning rate is very high and you will achieve nice results after a few hours of trying. On imglib2.net there are very nice tutorials to learn about imglib2.
Second, all our nodes / code / plugins are available on https://github.com/knime-ip/knip. To develop KNIME Image Processing Nodes I would suggest the following steps:
Clone the repository from https://github.com/knime-ip/knip (see https://help.github.com/) for help. After cloning (this means creating a local copy) of the repositories you will have to add them to your KNIME SDK. Just use Projects -> Import existing projects to KNIME
and import all the KNIP related projects. See: https://github.com/knime-ip/knip Package Organization in the readme for details. In your plugin.xml I would now add a dependency (Tab: Dependencies) to org.knime.knip.core and org.knime.knip.base. Now you can use ImgLib2 + our KNIME Image Processing stuff in your plugin. See org.knime.knip.exampleplugin as an example. We also have more abstract nodemodels which provide even more functionality than the ValueToCellNodeModel which you find in the example (e.g. ImgPlusToImgPlusNodeModel), but you can find examples for that in our org.knime.knip.base plugin (e.g. InvertNodeModel).
I think for now, this is a good starting point. Again: if you face _any_ problems or if you have any questions, we would be happy to help!
Good luck ;-))