remote imagej
play

Remote ImageJ - Running macros on a distant machine Volker Bcker - PowerPoint PPT Presentation

Remote ImageJ - Running macros on a distant machine Volker Bcker Montpellier RIO Imaging www.mri.cnrs.fr IFR122 INSERM 29.10.2010 REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 1/29 Remote ImageJ - Outline the context at the MRI imaging


  1. Remote ImageJ - Running macros on a distant machine Volker Bäcker Montpellier RIO Imaging www.mri.cnrs.fr IFR122 INSERM 29.10.2010 REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 1/29

  2. Remote ImageJ - Outline ● the context at the MRI imaging facility ● design decisions ● components SIJAME – messaging middleware ● Modal-Dialog-Killer ● Macro_IO_Settings ● Remote-Filesystem-View ● Remote Macro Runner ● ● conclusions and future work REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 2/29

  3. Motivation – MRI, the facility 2009 150 531 59 40000 11 REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 3/29

  4. Motivation – MRI Image Analysis 13 // wound healing macro run("Find Edges", "stack"); run("Invert", "stack"); setAutoThreshold("Pdark"); run("Convert to Mask"); resetThreshold(); run("Invert", "stack"); run("Dilate", "stack"); ● development of ... image analysis and automation solutions on demand REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 4/29

  5. Motivation – The Problem ✔ automated image analysis ✗ macro-batch-processing blocks machines ✗ installation / maintenance on many machines ✗ transfer of images between machines REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 5/29

  6. Motivation – The Solution: Cicero ● upload images to file-server ● index images in database ● access via web-application ImageJ huygens server ● run macros from web-application server upload fileserver application server database webserver REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 6/29

  7. Motivation – The Solution: Cicero REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 7/29

  8. Remote ImageJ – Analysis ● Remote ImageJ - run macros on a distant machine ImageJ server run(“Ma) RoiManag ... fileserver ● images are on a fileserver REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 8/29

  9. Remote ImageJ – Analysis & Design ● use ImageJ and plugins only ● server can be headful ● send macros from client to ● avoid modal dialogs server and answers back ● modularity ● asynchronous ● independent components communication that play together ● access paths as seen by the server ● synchronous communication REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 9/29

  10. Remote ImageJ – Components ● Existing ● SIJAME – SImple JAva Message Exchange ● Modal-Dialog-Killer ● Macro_IO_Settings ● Remote-Filesystem-View ● Remote Macro Runner ● Future ● Queue-Manager REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 10/29

  11. Remote ImageJ – SIJAME ● SIJAME ● socket based communication ● messages are transferred binary ● message can carry serializable data ● server can put message in a queue ● synchronous or asynchronous communication ● symetric: – client is a server – answer-queue REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 11/29

  12. SIJAME asynchronous 2. server puts message in a queue ImageJ server 3. consumers are informed 1. client sends message, when the first message changes closes connection 4. consumer sends an and keeps on working answer-message back REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 12/29

  13. SIJAME synchronous ImageJ 2. consumers are informed server that a message arrived 1. client sends message and waits for answer, 4. sends close to finish 3. consumer sends answer conversation on the same channel REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 13/29

  14. ● communication middleware SIJAME ● problem of modal dialogs on the server REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 14/29

  15. Modal Dialog Killer WaitForUserDialog GenericDialog MessageDialog JDialog GenericDialog REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 15/29

  16. ● communication middleware SIJAME ● problem of modal dialogs on the server ● how to specify input files and folders for macro REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 16/29

  17. specify input – standard approach inDir = getDirectory("Select the input folder!"); files = getFileList(inDir); ● folder can contain other images ● need to filter ● code to load dependent files ● naming scheme can change YGZG7-gfp001 YGZG7-gfp002 ➔ edit lists of files instead of YGZG7-dapi001 selecting folders YGZG7-dapi002 REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 17/29

  18. Macro_IO_Settings filter unwanted add a list ● one per channel add files ● select multiple files ● select a folder (recursively) ● tif, all images, all files REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 18/29

  19. Macro_IO_Settings call("fr.cnrs.mri.macro.io.IOSettings.resetFileLists"); call("fr.cnrs.mri.macro.io.IOSettings.show"); waitForUser("Please select the input files and press ok"); list = call("fr.cnrs.mri.macro.io.IOSettings.getFileList"); if (list=="none") { IJ.log("No files selected! Macro stopped."); return; } files = split(list, ","); for (i=0; i<files.length; i++) { file = files[i]; ... lists of lists as strings • lists separated by ; • elements separated by , REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 19/29

  20. ● communication middleware SIJAME ● problem of modal dialogs on the server ● how to specify input files and folders for macro ● distant input files and folders REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 20/29

  21. Remote-Filesystem-View ● when connected io-settings will show remote paths in FileDialog REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 21/29

  22. Remote-Filesystem-View ● configure visible root-folder ● use folders: ● <login-name> ● common remote system RemoteFilesystemView RemoteFilesystemClient RemoteFilesystemServer SIJAME SIJAME synchronous REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 22/29

  23. ● communication middleware SIJAME ● problem of modal dialogs on the server ● how to specify input files and folders for macro ● distant input files and folders ● run macros on a remote machine REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 23/29

  24. Remote-Macro-Runner Client send macro + ● io-settings io-settings can ● use remote- filesystem-view asynchronous ● communication macro must have ● return value runs SIJAME ● server to get answers back REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 24/29

  25. Remote-Macro-Runner Server queue incoming ● messages messages are handled in ● the order of arrival use modal-dialog-killer ● set io-settings from ● message and execute macro send answer message ● with return value back to ● multiple clients can use the same server client in the same time REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 25/29

  26. Conclusions communication middleware SIJAME ● synchronous and asynchronous communication ● problem of modal dialogs on the server ImageJ ● server Modal-Dialog-Killer ● how to specify input files and folders for macro ● Macro_IO_Settings ● fileserver distant input files and folders ● Macro_IO_Settings + RemoteFilesystemView ● run macros on a remote machine ● RemoteMacroRunner ● REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 26/29

  27. Future Work Queue-Manager ImageJ server run(“Ma) run(“Ma) RoiManag RoiManag ... ... ImageJ fileserver server Queue-Manager ● persist queue ● distribute jobs to multiple ImageJ-servers REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 27/29

  28. Future Work ● support scripts ● Javascript and other scripting languages from FIJI ● Visual Scripting - MRI Cell Image Analyzer ● ImageFlow - Dr. Kai Uwe Barthel ● handle other parameters in the same way as paths ● gui input on client – send to serve r ● secure internet communication ● authentication, secure sockets, certificates ● integrate into CICERO-image-database REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 28/29

  29. Thank you for your attention! Thanks to Wayne Rasband and the ImageJ-community Thanks to the MRI-team: Corine Pierre Travo Olivier Miquel Tran-Aupiais Sylvain De Rossi, Virginie Georget, Alexandre Granier, Stephanie Vaudescal, ... REMOTE IMAGEJ - volker.baecker@mri.cnrs.fr 29/29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend