So I’ve been working on this project for a while now:
In it, I need to call elastix 5.0.1 (GitHub - SuperElastix/elastix: Official elastix repository) for automated registration. Elastix has to be installed as an executable binary on the user computer before the fiji plugin can work + it requires some minimal configuration. ( like in this wrapper by @Christian_Tischer : GitHub - embl-cba/elastixWrapper )
On Mac OS, I had a lot of trouble making the elastix binary work (an extra library is difficult to link, and in fact I couldn’t suceed on some computer). Also on some Mac, a security warning appears preventing Java from executing external binary (which is understandable). On some linux distributions, some libraries are too old and elastix simply cannot run.
So I was thinking : why not offering the possibility to execute the registration task on a server ? Then you can centralize the burden of the server installation at your IT department - or maybe it’s possible to provide a fully public registration server if the load is not too high. Then many users can use the same registration server, and the install just requires to set the server address, (ease of installation + more security for the client computer). I did some initial test and it seems to work.
I’m not familiar at all with client / server stuff, so I’d like to hear from knowledgeable people. Is this a good idea ? Are there some obvious pitfalls that I’m not aware of ?