glencoesoftware / isyntax2raw Goto Github PK
View Code? Open in Web Editor NEWiSyntax to raw format converter
License: BSD 3-Clause "New" or "Revised" License
iSyntax to raw format converter
License: BSD 3-Clause "New" or "Revised" License
I can't access https://www.openpathology.philips.com/ to download the phillips sdk, any tips on how to proceed?
ModuleNotFoundError: No module named 'pixelengine' in python while converting the phiips isyntax format file into OME-TIFF or TIFF.
By following this documentation https://www.glencoesoftware.com/blog/2019/12/09/converting-whole-slide-images-to-OME-TIFF.html#footnotes
I used python 3.6 in ubuntu 18.04.
First I download and install the philips sdk as per given instruction in documentation.
After that I downloaded isyntax2raw and install it.
After executing the following command in terminal
$ isyntax2raw write_tiles 20200207_140740.isyntax /home/dilip/new_image.tiff
The error comes
Traceback (most recent call last): File "/home/dilip/anaconda3/envs/myenv/bin/isyntax2raw", line 11, in load_entry_point('isyntax2raw==0.0.0', 'console_scripts', 'isyntax2raw')() File "/home/dilip/anaconda3/envs/myenv/lib/python3.6/site-packages/pkg_resources/init.py", line 490, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/home/dilip/anaconda3/envs/myenv/lib/python3.6/site-packages/pkg_resources/init.py", line 2859, in load_entry_point return ep.load() File "/home/dilip/anaconda3/envs/myenv/lib/python3.6/site-packages/pkg_resources/init.py", line 2450, in load return self.resolve() File "/home/dilip/anaconda3/envs/myenv/lib/python3.6/site-packages/pkg_resources/init.py", line 2456, in resolve module = import(self.module_name, fromlist=['name'], level=0) File "/home/dilip/anaconda3/envs/myenv/lib/python3.6/site-packages/isyntax2raw-0.0.0-py3.6.egg/isyntax2raw/init.py", line 15, in ModuleNotFoundError: No module named 'pixelengine'
Hi, By any chance this could be updated to compatible with the Phillips SDK2.0, seems a lot of meta symbols are different in the 2.0 compared to 1.2, and installing this binary is not working.
Thanks
Jason
Hi,
I have installed the Pathology SDK and the relevant egg files can be found in the site-packages directory. But the system is unable to load the relevant dlls. I have added the directory containing the dll in the path and also manually copied the relevant directories in to site packages. But it does not help. I am using the latest Anaconda. Here is the error log:
Traceback (most recent call last):
File "C:\Anaconda3\Scripts\isyntax2raw-script.py", line 33, in
sys.exit(load_entry_point('isyntax2raw==0.0.0', 'console_scripts', 'isyntax2raw')())
File "C:\Anaconda3\Scripts\isyntax2raw-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Anaconda3\lib\importlib\metadata.py", line 77, in load
module = import_module(match.group('module'))
File "C:\Anaconda3\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 961, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 961, in _find_and_load_unlocked
File "", line 219, in _call_with_frames_removed
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 618, in load_backward_compatible
File "", line 259, in load_module
File "C:\Anaconda3\lib\site-packages\isyntax2raw-0.0.0-py3.8.egg\isyntax2raw_init.py", line 17, in
ImportError: DLL load failed while importing pixelengine: The specified module could not be found.
While converting an Isyntax file to raw tiff file using the command below gerenrated 'No such file or directory' error.
Command:
isyntax2raw write_tiles --file_type='tiff' input.isyntax outdir
Error:
FileNotFoundError: [Errno 2] No such file or directory: '...path_to_directory/1/0'
Traceback (most recent call last):
File "/usr/local/bin/isyntax2raw", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw/cli/isyntax2raw.py", line 79, in main
cli()
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw/cli/isyntax2raw.py", line 70, in write_tiles
wt.write_label_image()
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw/init.py", line 272, in write_label_image
self.write_image_type("LABELIMAGE", 1)
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw/init.py", line 297, in write_image_type
self.create_tile_directory(series, 0, width, height)
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw/init.py", line 330, in create_tile_directory
os.mkdir(tile_directory)
I am very happy with isyntax2raw since this is the only working solution that I could find to convert isyntax to work for QuPath.
However, I am trying to remove the label image of ome.tiff for educational purpose.
Currently, I am removing the label image by converting ome.tiff to ome.tiff once more with QuPath
(that leaves the meta data but removes the label image).
I wonder if I could remove the label image during isyntax2raw conversion.
Thank you for the great solution!
After executing the command for convetring isyntax format image into tile
isyntax2raw write_tiles /home/dilip/pathology/isyntax/abcd.isyntax /home/dilip/pathology/tile_image
It throw the error
Traceback (most recent call last):
File "/usr/local/bin/isyntax2raw", line 11, in
load_entry_point('isyntax2raw==0.0.0', 'console_scripts', 'isyntax2raw')()
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw-0.0.0-py3.6.egg/isyntax2raw/cli/isyntax2raw.py", line 63, in main
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 1137, in invoke
return process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/dist-packages/Click-7.0-py3.6.egg/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw-0.0.0-py3.6.egg/isyntax2raw/cli/isyntax2raw.py", line 53, in write_tiles
File "/usr/local/lib/python3.6/dist-packages/isyntax2raw-0.0.0-py3.6.egg/isyntax2raw/init.py", line 240, in write_metadata
File "/usr/local/lib/python3.6/dist-packages/Kajiki-0.8.2-py3.6.egg/kajiki/loader.py", line 73, in import
filename = self._filename(name)
File "/usr/local/lib/python3.6/dist-packages/Kajiki-0.8.2-py3.6.egg/kajiki/loader.py", line 124, in _filename
raise IOError('Unknown template %r' % name)
OSError: Unknown template 'isyntax2raw.resources.ome_template'
The above command sometime work or sometime not work.
When it not work that time it only create the METADATA.json file.
When it successfully convert the image into tile then i apply the following command to convert tiles into OME-TIFF format
bin/raw2ometiff-master /home/dilip/pathology/tile_image /home/dilip/pyramid.ome.tiff
then it again throw the error
2020-04-01 20:21:27,944 [main] INFO org.perf4j.TimingLogger - start[1585752687893] time[49] tag[initialize]
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while calling command (com.glencoesoftware.pyramid.PyramidFromDirectoryWriter@46238e3f): java.lang.RuntimeException: loci.formats.FormatException: Could not create an N5 reader
at picocli.CommandLine.execute(CommandLine.java:1180)
at picocli.CommandLine.access$800(CommandLine.java:141)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1367)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1335)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)
at picocli.CommandLine.call(CommandLine.java:1786)
at picocli.CommandLine.call(CommandLine.java:1710)
at com.glencoesoftware.pyramid.PyramidFromDirectoryWriter.main(PyramidFromDirectoryWriter.java:260)
Caused by: java.lang.RuntimeException: loci.formats.FormatException: Could not create an N5 reader
at com.glencoesoftware.pyramid.PyramidFromDirectoryWriter.call(PyramidFromDirectoryWriter.java:291)
at com.glencoesoftware.pyramid.PyramidFromDirectoryWriter.call(PyramidFromDirectoryWriter.java:97)
at picocli.CommandLine.execute(CommandLine.java:1173)
... 8 more
Caused by: loci.formats.FormatException: Could not create an N5 reader
at com.glencoesoftware.pyramid.PyramidFromDirectoryWriter.initialize(PyramidFromDirectoryWriter.java:501)
at com.glencoesoftware.pyramid.PyramidFromDirectoryWriter.call(PyramidFromDirectoryWriter.java:277)
syntax E:\Solution\imps\testdata\test
Traceback (most recent call last):
File "C:\Program Files\Python39\Scripts\isyntax2raw-script.py", line 33, in
sys.exit(load_entry_point('isyntax2raw==0.0.0', 'console_scripts', 'isyntax2raw')())
File "C:\Program Files\Python39\Scripts\isyntax2raw-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Program Files\Python39\lib\importlib\metadata.py", line 77, in load
module = import_module(match.group('module'))
File "C:\Program Files\Python39\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 972, in _find_and_load_unlocked
File "", line 228, in _call_with_frames_removed
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 972, in _find_and_load_unlocked
File "", line 228, in _call_with_frames_removed
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 664, in _load_unlocked
File "", line 627, in load_backward_compatible
File "", line 259, in load_module
File "C:\Program Files\Python39\lib\site-packages\isyntax2raw-0.0.0-py3.9.egg\isyntax2raw_init.py", line 17, in
The link to the Philips open pathology portal seems to be dead, and if one goes to the Philips knowledge centre to download the SDK, one finds it can no longer be downloaded on Ubuntu (or probably any linux flavour) or mac os (even though this used to be possible). I guess this means people in these camps can no longer use this package?
Is it possible to include the SDK in this repo, or for someone to get in touch with Philips and request the website is fixed? It has been like this for (at least) several months.
I would be super-grateful if the SDK becomes available again, or if someone could advise, so we can use the code in this very useful repo.
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.