ImageNetworkReader: an ITK Class for Loading Images Across a Network
logo

Please use this identifier to cite or link to this publication: http://hdl.handle.net/1926/1505
This document describes a new class for the Insight Toolkit~(ITK www.itk.org) for reading images across a network. Network access is handled by CURL (http://curl.haxx.se/libcurl/), an Open Source library for client-side URL transfer. CURL supports the FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE protocols.

This paper is accompanied with source code and a test to load a NRRD file across the network and verify that is is read properly.
Code
minus Automatic Testing Results by Insight-Journal Dashboard on Mon Dec 1 11:54:24 2008 for revision #2
starstarstarstarstar expertise: 5 sensitivity: 4.3
yellow *** Exception executing: Child aborted
Click here for more details.

Go here to access the main testing dashboard.

Reviews
minus A very useful new image IO by Gaetan Lehmann on 2009-01-04 06:32:53 for revision #2
starstarstarstarstar expertise: 3 sensitivity: 3.7
yellow
Summary:

The authors describe a new class which uses the CURL library to read the images through a network protocol.

Open Science:

The source code is provided as well as the input images.

Reproducibility:

I've been able to download, build and run the code with the test program. However I would suggest checking the output image in the test, to be sure that the class is fully working. This can be easily achieved by adding a writer to the test program and by adding the following lines:


FIND_PROGRAM(ITK_TEST_DRIVER itkTestDriver)
SET(TEST_COMMAND ${ITK_TEST_DRIVER} --add-before-env PATH ${CMAKE_BINARY_DIR})


ADD_TEST( ImageNetworkReaderTest ${TEST_COMMAND}
          ImageNetworkReaderTest http://www.na-mic.org/Wiki/images/f/f6/Test.nhdr out.nhdr
          --compare out.nhdr ${CMAKE_SOURCE_DIR}/images/Test.nhdr
)

Use of Open Source Software:

ITK and curl, both fully open source.

Open source Contributions:

The code is usable without problem and clearly described.

Code Quality :

The code is nice.

Interest:

This new class would be useful when working on several hosts (computer cluster, ...).

Free comment :

The use of the current directory may be problematic in many cases. I would rather suggest using the one given by the environment variables $TMP or $TMPDIR, or in /tmp if it exist, or finally in the current directory if none of the other option are possible.


The reader doesn't seem to delete the downloaded file once no more used. I think it should, but it seems to be a quite different behavior of the cache feature proposed by Julien.


Do you think about creating a similar class to write the images through the network? Is that possible with curl?


A great contribution!


Comment by Daniel Blezek: Temp directory yellow
Hi Gaetan,

Thanks for the nice review. The class has a method to set/get a temporary directory name. I thought it would be better to let the user/application set the temp directory rather than presume too much. Ideally, it could default to /tmp, $TMP, $TMPDIR, or the Windows equivalent, for the moment it defaults to the current directory.

Also, deleting the volume when no longer needed is a good idea. I wanted to use something like tmpnam, but I wasn't sure what the proper cross-platform solution was.

Best regards,
-dan
minus Good idea but missing features by Julien Jomier on 2008-12-02 10:41:00 for revision #2
starstarstarstarstar expertise: 4 sensitivity: 4.3
yellow
Summary:

This paper presents a new class for loading ITK images over the network using the cURL

Open Science:

The author provides the source code with tests. Anyone familiar with CMake should be able to compile and run the code.

Reproducibility:

The code compiles fine under MSVC 2008 express. CMake 2.6 reports some policies errors.

Use of Open Source Software:

This paper proposes a contribution to ITK.

Open source Contributions:

The code is usable in his form and is failry easy to compile.

Code Quality :

The code follows the ITK coding style

Free comment :

1) The paper mention support for SSL protocols (FTPS/HTTPS/LDAPS). However the cURL library distributed with the source code doesn't include the crypto library, thus these protocols will not work. At least there should be an option in CMake to point to the crypto library (this would require some header modification in the cURL library). It's difficult to include the crypto/openssl library because it's not easy to Cmake-ified it. (and maybe source redistribution limitations).

2) It seems that the current source code doesn't use the cache. If an image has already been downloaded, the code should look if the image in the cache is not older than the one on the server, if it is not it should not try to download again. I have not looked deeply in the code but I don't think this is supported (otherwise just ignore this comment).

Overall a great contribution that will be really usefull, especially for regression testing.


Comment by Ethel Mcatheer: Offsprings yellow
1)make sure your offspring are chilly.

2)Just How To wthhold the brownish aspect of switzerland move?

When cake is cooked, remove from stove instantly, place onto a brand new sheet of baking paper(using the brownish part people lower)

Remove the most truly effective cooking document in the sponge. (currently you've two blankets document on each sides.)Switch it around. Allow to cool.This method, allow release a several hot-steam for couple of minutes, the address and remove the brand new cooking document from brownish aspect, anyone won’t harm your skin.

4)The eggs that I'm applying are moderate size which appropriate for baking tray size of 10″x14″.If your eggs are in smaller size, attempt to utilize five eggs(size S) in this formula for a baking tray of 10″ x14″.(this is my very own choice)

3)in case your stove is far too warm actually bake on 180C may cause break while moving, attempt bake at 170C for twenty-five units.
Add a new review
Quick Comments


Resources
backyellow
Download All
Download Source code
Github

Statistics more
backyellow
Global rating: starstarstarstarstar
Review rating: starstarstarstarstar [review]
Code rating: starstarstarstarstar
Paper Quality: plus minus

Information more
backyellow
Categories: Images, IO
Keywords: Network, ImageSource
Toolkits: ITK
Export citation:

Share
backyellow
Share

Linked Publications more
backyellow
Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy Diffeomorphic Demons Using ITK's Finite Difference Solver Hierarchy
by Vercauteren T., Pennec X., Perchant A., Ayache N.
Surface Meshes Incremental Decimation Framework Surface Meshes Incremental Decimation Framework
by Gelas A., Gouaillard A., Megason S.

View license
Loading license...

Send a message to the author
main_flat
Powered by Midas