akmaier / conrad Goto Github PK
View Code? Open in Web Editor NEWCONRAD Repository
License: Other
CONRAD Repository
License: Other
When I run the MatlabCONRADtutorial.m
, I encountered the following error:
java.lang.NoSuchMethodException: <unbound>=OpenCLBackProjector.setForceSmallVolume(Boolean);
at java.beans.Statement.invokeInternal(Unknown Source)
at java.beans.Statement.access$000(Unknown Source)
at java.beans.Statement$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Statement.invoke(Unknown Source)
at java.beans.Expression.getValue(Unknown Source)
at com.sun.beans.decoder.ObjectElementHandler.getValueObject(Unknown Source)
at com.sun.beans.decoder.NewElementHandler.getValueObject(Unknown Source)
at com.sun.beans.decoder.ElementHandler.endElement(Unknown Source)
at com.sun.beans.decoder.DocumentHandler.endElement(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at com.sun.beans.decoder.DocumentHandler$1.run(Unknown Source)
at com.sun.beans.decoder.DocumentHandler$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at com.sun.beans.decoder.DocumentHandler.parse(Unknown Source)
at java.beans.XMLDecoder$1.run(Unknown Source)
at java.beans.XMLDecoder$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.XMLDecoder.parsingComplete(Unknown Source)
at java.beans.XMLDecoder.readObject(Unknown Source)
at edu.stanford.rsl.conrad.utils.Configuration.loadConfiguration(Configuration.java:299)
错误使用 mat2Grid3D (line 13)
Java exception occurred:
java.lang.OutOfMemoryError: Java heap space
出错 OpenCLForwardProjection (line 11)
volume = mat2Grid3D(volume);
出错 MatlabCONRADtutorial (line 43)
projections=OpenCLForwardProjection(vol);
Does this means the OpenCL
is not set correctly?
I can set OpenCL
in java.
dear,
First, when I use the "Create Numerical Phantom", ImageJ shows the images. This is phantom or projection data? If it is projection data, how can I get the Original phantom?
Second, if I have an .raw phantom, how can I use CONRAD to get 360° projection data?
Looking forward to your reply and thanks very much.
When using edu.stanford.rsl.conrad.utils.ImageUtil.wrapGrid3D
a method with ambiguous name setCalibrationToImagePlus
gets called and sets spacing and origin of ImagePlus to the global configuration instead of origin/spacing of wrapped grid.
Please check if this is the desired behavior.
interpolateLinear uses second coordinate (y) to extract a row from the grid:
public static float interpolateLinear(final Grid2D grid, double x, double y) {
...
int lower = (int) Math.floor(y);
...
addInterpolateLinear uses first coordinate (i) to extract a row from the grid:
public static void addInterpolateLinear(final Grid2D grid, double i, double j, float val) {
int lower = (int) Math.floor(i);
...
I did not change it myself because this might break a lot of code, which requires extensive testing.
Also, I don't know what's the preferred convetion in CONRAD.
Dear CONRAD's developer:
I am a student of Xi'Dian University in China. Firstly, thanks for reading this email.
Recently, I am interested in Cardiac CT Perfusion (CCTP). So I want to simulate cardiac and it's motion. CONRAD is a multifunctional software for medical physics. But I am newer for CT reconstruction and java. when I use CONRAD 1.0.8 released version to reconstruction the Cardiac Model, there is nothing to do after the following operations:
Click Conrad.bat -> CONRAD -> Create Numerical Phantom -> projection phantom.
I was wondering if you could offer me a simple example of tutorial of cardiac CT reconstruction for future study.
Thank you very much for your kind contribution and I am looking forward to your early reply.
Sincerely, yours
Lei Wang
MultiChannelGrid3D inherits from Grid3D but instead of using the internal buffer of its parent class, it used a Grid4D member to implement vector valued voxels.
public class MultiChannelGrid3D extends Grid3D {
String [] channelNames;
Grid4D multichannelData;
public MultiChannelGrid3D(int width, int height, int depth, int channels) {
// This will cause some parent methods to fail ( e.g. getSize() );
// TODO Override necessary parent methods.
super(0,0,0);
multichannelData = new Grid4D(width, height, depth, channels);
buffer = multichannelData.getSubGrid(0).getBuffer();
//this(width, height, depth, true);
}
However, implementing it this way has two major downsides:
MultiChannelGrid2D poses the same problems (being a Grid2D with a Grid3D member).
Possible solutions: Either override all Grid3D methods in MultiChannelGrid3D to properly handle multi-channel data, or implement a generic MultiChannelGridND (possibly inheriting from NumericGrid) class for MultiChannelGrid3D / MultiChannelGrid2D to inherit from.
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.