Welcome, Guest
Guest Settings
Help

DCM4CHE Support Forums » dcm4che user » Mayam Users

Thread: Mayam: A cross-platform Java DICOM viewer


Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 21 - Pages: 2 [ 1 2 | Next ] - Last Post: Apr 14, 2010 4:32 PM Last Post By: damien
Suresh

Posts: 330
Registered: 11/26/07
Mayam: A cross-platform Java DICOM viewer
Posted: Oct 24, 2009 9:38 PM
  Click to reply to this thread Reply
I am pleased to release our latest creation - Mayam (meaning Illusion). It's a Cross-platform DICOM viewer developed in Java using the dcm4che toolkit. We needed a viewer for use under Linux and couldn't find anything suitable that was full featured and ended up developing one on our own.

Download Mayam 0.5 Beta

Mayam is still work under progress. The current features are:

Viewer Features

  1. DICOM Listener for Q/R
  2. DICOM Send
  3. Local DB for storing study information
  4. Importing DICOM studies from local disk
  5. Parsing DicomDir from local disk or CD
  6. Query compressed studies without decompressing them
  7. Multiple Studies viewer using Layout,Tab view
  8. Export to JPEG (Study, Series, Instance level). Windowing can be applied to a single instance or series of instance while exporting
  9. Cine Loop & stack navigation
  10. Toggle for Text and Annotation Overlay
  11. Windowing Presets Settings (based on modality)
  12. Layout Settings (based on modality)
  13. AE Management
  14. DICOM Tags Viewer

Image Manipulation

  1. Windowing / Presets
  2. Invert, Flip & Rotate
  3. Zooming & Panning
  4. Annotation and Measurement Tools (Ruler, Rectangle and Elliptical)
Do try it out and give your feedback.

Suresh

PS. I'm posting this in the Oviyam forum for want of a better place. Damien - feel free to move it.
damien

Posts: 1,887
Registered: 11/15/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 25, 2009 3:55 AM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
Cool!!!!!!!!!!!!! I can't wait to try it out!

I think this forum is fine for now... Who knows, if this becomes successful it might warrant it's own forum.

Do you want to put it into the dcm4che Sourceforge repository, or are you going to keep it on your SVN server?
Suresh

Posts: 330
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 25, 2009 7:08 AM   in response to: damien in response to: damien
  Click to reply to this thread Reply
We'll host the code in our SVN for now since we're still making a lot of changes. Once we're ready we'll move it to SourceForge.

Suresh
damien

Posts: 1,887
Registered: 11/15/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 26, 2009 5:04 PM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
Running on Windows XP with Java 6, I get this:

C:\downloads\Mayam-0.5-Beta-bin\Mayam>run
 
C:\downloads\Mayam-0.5-Beta-bin\Mayam>java -DXms=512m -DXmx=1024m -Djava.library.path=lib/ -jar Mayam.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
        at in.raster.viewer.facade.ApplicationFacade.main(ApplicationFacade.java:45)
Caused by: java.lang.ClassNotFoundException: org.jdesktop.layout.GroupLayout$Group
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        ... 1 more
justin

Posts: 180
Registered: 11/16/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 26, 2009 7:17 PM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
Hi Suresh,

Looks interesting! I successfully imported a study but when I attempt to view a series it runs out of memory (I set my max heap to 2gb). The images are 512k and study is only 68mb total. I'm using Mac OSX 10.6. Also, it doesn't look like there's a log4j configuration file.

log4j:WARN Please initialize the log4j system properly.
Exception in thread "Thumbnail" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:315)
	at in.raster.viewer.form.ThumbnailImage.readDicomFile(ThumbnailImage.java:83)
	at in.raster.viewer.form.ThumbnailImage.<init>(ThumbnailImage.java:53)
	at in.raster.viewer.delegate.ThumbnailUpdator.showThumbnailDisplay(ThumbnailUpdator.java:81)
	at in.raster.viewer.delegate.ThumbnailUpdator.run(ThumbnailUpdator.java:46)
Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:458)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:315)
	at in.raster.viewer.form.ImagePanel.readDicomFile(ImagePanel.java:336)
	at in.raster.viewer.form.ImagePanel.<init>(ImagePanel.java:142)
	at in.raster.viewer.form.LayeredCanvas.createImageCanvas(LayeredCanvas.java:65)
	at in.raster.viewer.form.LayeredCanvas.<init>(LayeredCanvas.java:34)
	at in.raster.viewer.delegate.ShowImageViewDelegate.showImageView(ShowImageViewDelegate.java:38)
	at in.raster.viewer.delegate.ShowImageViewDelegate.run(ShowImageViewDelegate.java:30)


Thanks,

Justin
prakash

Posts: 185
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 6:47 AM   in response to: damien in response to: damien
  Click to reply to this thread Reply
Damien - It seems that swing-layout-1.0.3.jar may be unavailable in the lib folder or it may be corrupted. Please check for its existence or download it again.
damien

Posts: 1,887
Registered: 11/15/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 4:12 PM   in response to: prakash in response to: prakash
  Click to reply to this thread Reply
Ah yes, for some reason my zip file did not fully extract and I was missing the lib directory. It runs fine now....

It doesn't look like it displays non-image objects (key object selection documents), or applies presentation state. It also doesn't look like it supports multiframe objects. I tried to import a multiframe XA study and it just didn't work.

The exception in the KO study is as follows:

while Reading Image index: 0, frames: 0
while Reading Image index: 0, frames: 0
while Reading Image index: 0, frames: 0
C:\MedicalImages\ko_71000204\0.dcm [12 KB] -> C:\apps\Mayam-0.5-Beta-bin\Mayam\archive\2009\9\27\UnCompressed\0.dc
java.io.IOException: no pixel data in source object
        at in.raster.viewer.util.core.Transcoder.readHeader(Transcoder.java:352)
        at in.raster.viewer.util.core.Transcoder.transcodeHeader(Transcoder.java:337)
        at in.raster.viewer.util.core.Transcoder.transcode(Transcoder.java:236)
        at in.raster.viewer.util.core.Transcoder.transcode(Transcoder.java:207)
        at in.raster.viewer.util.core.TranscoderMain.transcode(TranscoderMain.java:129)
        at in.raster.viewer.util.core.TranscoderMain.main(TranscoderMain.java:101)
        at in.raster.viewer.delegate.DestinationFinder.importFileTranscodedDestination(DestinationFinder.java:66)
        at in.raster.viewer.delegate.DestinationFinder.getFileDestination(DestinationFinder.java:32)
        at in.raster.viewer.delegate.ThumbnailUpdator.showThumbnailDisplay(ThumbnailUpdator.java:81)
        at in.raster.viewer.delegate.ThumbnailUpdator.run(ThumbnailUpdator.java:46)
io exception while displaying thumbnail
C:\MedicalImages\ko_71000204\0.dcm [12 KB] -> C:\apps\Mayam-0.5-Beta-bin\Mayam\archive\2009\9\27\UnCompressed\0.dc
java.io.IOException: no pixel data in source object
        at in.raster.viewer.util.core.Transcoder.readHeader(Transcoder.java:352)
        at in.raster.viewer.util.core.Transcoder.transcodeHeader(Transcoder.java:337)
        at in.raster.viewer.util.core.Transcoder.transcode(Transcoder.java:236)
        at in.raster.viewer.util.core.Transcoder.transcode(Transcoder.java:207)
        at in.raster.viewer.util.core.TranscoderMain.transcode(TranscoderMain.java:129)
        at in.raster.viewer.util.core.TranscoderMain.main(TranscoderMain.java:101)
        at in.raster.viewer.delegate.DestinationFinder.importFileTranscodedDestination(DestinationFinder.java:66)
        at in.raster.viewer.delegate.DestinationFinder.getFileDestination(DestinationFinder.java:32)
        at in.raster.viewer.delegate.ThumbnailUpdator.showThumbnailDisplay(ThumbnailUpdator.java:85)
        at in.raster.viewer.delegate.ThumbnailUpdator.run(ThumbnailUpdator.java:46)
io exception
Url not valid
Suresh

Posts: 330
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 4:14 PM   in response to: damien in response to: damien
  Click to reply to this thread Reply
Key objects isn't supported yet. Multi-frame should work. Let me check again.

Suresh
damien

Posts: 1,887
Registered: 11/15/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 4:15 PM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
I can send you the XA study if you want to try it...
Suresh

Posts: 330
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 4:37 PM   in response to: damien in response to: damien
  Click to reply to this thread Reply
That would help a lot. The KO file too, if possible. - Thanks

Suresh
damien

Posts: 1,887
Registered: 11/15/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 4:43 PM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
I'm sending both studies to your gmail account.
prakash

Posts: 185
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 6:27 PM   in response to: justin in response to: justin
  Click to reply to this thread Reply
There were memory leaks in the application which caused "OutOfMemoryError" and also JAVA heap size parameters in run.bat were set incorrectly. It has been fixed now and the download link was replaced with the latest update.
justin

Posts: 180
Registered: 11/16/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 27, 2009 8:48 PM   in response to: prakash in response to: prakash
  Click to reply to this thread Reply
Thanks Prakash. It works now.

Justin
prakash

Posts: 185
Registered: 11/26/07
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Oct 28, 2009 8:08 PM   in response to: damien in response to: damien
  Click to reply to this thread Reply
Damien,

The XA study couldn't be imported in the viewer as the null value for study description was unhandled before, but now fixed.
Support for KO study and Presentation state are yet to be implemented.

Prakash.

maitzegur

Posts: 3
Registered: 9/23/09
Re: Mayam: A cross-platform Java DICOM viewer
Posted: Nov 3, 2009 6:53 PM   in response to: Suresh in response to: Suresh
  Click to reply to this thread Reply
I have a problem with the loading of the dicom images. My connection is OK with the DCM4CHEE, but when I retrieve all the dicom files, no image is loaded.
Direct images in local PC are loaded properly, but problems with the server PACS images.What shall I do? The connection between Mayam and DCM4CHEE is correct, but not seems to be
Thanks in advance
Legend
Expert: 501 - 999999 pts
Contributor: 151 - 500 pts
Member: 1 - 150 pts
dcm4che team
community contributor
Helpful Answer
Correct Answer

Point your RSS reader here for a feed of the latest messages in all forums