xrmc's People
Forkers
tschoonj lukassst yankang84 woutdenolf michaelcolonel linssab nobsterdev xiaoshenglin uythgb155xrmc's Issues
Simulation with void sample?
Please let me know it is possible to have a simulation by xrmc or xmimsim without sample to check and compare the performance of itself detectors with real conditions? Sample=a thickness air layer and detector alinged with source
Remove unnecessary null pointer checks
Extra null pointer checks are not needed in functions like the following.
Installing on macOS?
How can I install XRMC on macOS?
homebrew/science no longer exists and XRMC was never migrated to a new homebrew repository
I tried building 6.6.0 from http://lvserver.ugent.be/xrmc/files/, but make
fails:
./configure
<no errors>
make
/Applications/Xcode.app/Contents/Developer/usr/bin/make all-recursive
Making all in src
Making all in arrayNd
make[3]: Nothing to be done for `all'.
Making all in composition
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include/xraylib -I./../device/ -I./../xrmc_algo -I./../gettoken -I./../exception -I./../xrmc_math -I./../xrmc_algo -I./../randmt -I./../main -g -O2 -MT libcomposition_la-composition.lo -MD -MP -MF .deps/libcomposition_la-composition.Tpo -c -o libcomposition_la-composition.lo `test -f 'composition.cpp' || echo './'`composition.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include/xraylib -I./../device/-I./../xrmc_algo -I./../gettoken -I./../exception -I./../xrmc_math -I./../xrmc_algo -I./../randmt-I./../main -g -O2 -MT libcomposition_la-composition.lo -MD -MP -MF.deps/libcomposition_la-composition.Tpo -c composition.cpp -fno-common -DPIC -o .libs/libcomposition_la-composition.o
composition.cpp:75:17: error: no matching function for call to 'CS_Total'
MuAtom[i] = CS_Total(Z[i], E); // total cross section for atomic num. Z
^~~~~~~~
/usr/local/include/xraylib/xraylib.h:151:8: note: candidate function not viable: requires 3 arguments, but 2 were provided
double CS_Total(int Z, double E, xrl_error **error);
^
composition.cpp:89:32: error: no matching function for call to 'Fi'
double num = W[i]*KD*(Z[i]+Fi(Z[i],E));
^~
/usr/local/include/xraylib/xraylib.h:246:8: note: candidate function not viable: requires 3 arguments, but 2 were provided
double Fi(int Z, double E, xrl_error **error);
^
composition.cpp:90:20: error: no matching function for call to 'AtomicWeight'
double denom = AtomicWeight(Z[i])*E*E;
^~~~~~~~~~~~
/usr/local/include/xraylib/xraylib.h:143:8: note: candidate function not viable: requires 2 arguments, but 1 was provided
double AtomicWeight(int Z, xrl_error **error);
^
3 errors generated.
make[3]: *** [libcomposition_la-composition.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
XMIMSIM but keep line spectrum
Would it be possible to use xmimsim for detector response (attenuation, escape peaks,...) but obtain the line spectrum?
Newdevice detectorconvolute
detector
...
Save detector Image output/detector_lines.dat # lines but does not include detector response
Save detector ConvolutedImage output/detector_convoluted.dat # spectrum
XRMC XMI-MSIM plug in detectorconvolute Ascii Flag not working
Greetings,
When using the AsciiFlag on detectorconvolute that inherits detectorarray, an syntax error occur indicating that the flag does not work.
I wish to save the results as ASCII to see the simulated spectrum. Is there another way to do this without using the AsciiFlag?
Newdevice detectorconvolute ; Device type
Detector ; Device name
...
AsciiFlag 1 ; Use Ascii format in output file (0/1)
Thanks!
Any plans for voxel phantoms support
Dear developers,
The XRMC supports quadratic surfaces, and do you have any plans or roadmap for voxel phantoms (e.g. using mha file format)? I could be helpful for DRR image reconstruction from CT data.
Thank you.
xraylib version
configure.ac requires xraylib version 3.99.0. I assume this is a typo?
Suggestions and reporting some bugs
I am reporting these issues by suggestion of Dr. Bruno Golosio, as a summary of things we found in a collaboration for validation of xrmc for medical applications...
- There is a size defined for the name of the devices files, it would be nice have this information in manual and the program would have erros message about that.
- RoundFlag is not working (in my Linux and Mac installation). When this flag is activated, it do not rounding the counting on the photon fluence.
- The "Seed" was not automated changed, by the internal computer timer, in my installation. I know it can happened, but it would be interesting to have an easy way of set it in the run command line (as a parameter sent to the detector device), instead of need to change the DetectorDevice file (I used an automated way by calling sed command, but it could be easier).
- It would be nice to have the definition of the head parameters printed out in the output files (when the head flag is turned on) in the manual, so it will be easier to the user keep the traceability of data. In the head file it would be interesting to add the used seeds and the running time. This information is printed out in the shell with a lot of other information, but they are quite important for the validation project we are working and will save time and work, on extra files, to have it in the head of the generated output files.
- It would be great to have the Monte Carlo method statistical fluctuations of the simulated quantities printed out with the simulated quantity . This is an important issue for dosimetry production and use it in the future in the hospital routine.
Best to xrmc working team,
Gabriela
Missing documentation about optional argument BlockTransformAll in quadricarray device
The file quadric.dat in the example directory cylind_shell uses a command as:
CylinderZ CZ1 BlockTransformAll
however the optional argument BlockTransformAll is not described in the Wiki
Support for polycapillary optics
It would be very useful for some applications to be able to simulate the beam from a polycapillary optic incident on a sample.
Problem with Doppler broadening
Doppler broadening occasionally returns a negative energy.
I observed this problem with some check on the example folder Edep in the branch detector3d.
I temporarily solved this problem in the same branch by setting E=0 in case it is negative.
xrmc segfaults with clang on macOS
Noticed it on Travis-CI and on my local machine.
GCC works fine though.
Will investigate
Error when installing
I'm trying to install xrmc-6.4.1 and after "configure", which seems ok, when running "make" I get some errors:
composition.cpp:75:25: error: too few arguments to function 'double CS_Total(int, double, xrl_error**)'
75 | MuAtom[i] = CS_Total(Z[i], E); // total cross section for atomic num. Z
| ~~~~~~~~^~~~~~~~~
In file included from composition.cpp:25:
/usr/local/include/xraylib/xraylib.h:152:8: note: declared here
152 | double CS_Total(int Z, double E, xrl_error error);
| ^~~~~~~~
composition.cpp: In member function 'int phase::Delta(double)':
composition.cpp:89:34: error: too few arguments to function 'double Fi(int, double, xrl_error)'
89 | double num = W[i]KD(Z[i]+Fi(Z[i],E));
| ~~^~~~~~~~
In file included from composition.cpp:25:
/usr/local/include/xraylib/xraylib.h:253:8: note: declared here
253 | double Fi(int Z, double E, xrl_error **error);
| ^~
composition.cpp:90:32: error: too few arguments to function 'double AtomicWeight(int, xrl_error**)'
90 | double denom = AtomicWeight(Z[i])EE;
| ~~~~~~~~~~~~^~~~~~
In file included from composition.cpp:25:
/usr/local/include/xraylib/xraylib.h:144:8: note: declared here
144 | double AtomicWeight(int Z, xrl_error **error);
| ^~~~~~~~~~~~
make[3]: *** [Makefile:404: libcomposition_la-composition.lo] Error 1
make[3]: Leaving directory '/home/urv/xrmc-6.4.1/src/composition'
make[2]: *** [Makefile:450: all-recursive] Error 1
make[2]: Leaving directory '/home/urv/xrmc-6.4.1/src'
make[1]: *** [Makefile:442: all-recursive] Error 1
make[1]: Leaving directory '/home/urv/xrmc-6.4.1'
make: *** [Makefile:350: all] Error 2
Seems like some functions are defined different (number of arguments) in xraylib and in xrmc.
Is there any solution?
Thanks
errors in installation and compiling of xraylib and xrmc
Hello to xrmc team
i'm a new user who has some challenges with installation and compile xraylib and xrmc packages on 64 bit windows. ู Although I use your manuals , I need your guidance .
1- when xraylib is installed by the latest 64 bit windows installer on drive c , we can not found the executable file xraylib.exe to define path variable for command in line status.
2- when we compile source files in IDE softwares such as VS 2019 , we need to introduce include and bin directory to compiling configuration after each close and reopen VS.
3- In compiling detector_routines.c code we are faceing with error : too few argument in function CS_TOT( z, e , xrl_error **error) . In source function are called with two argument!
3- on base of manual, we many times are trying to convert image.dat files in example folders to image in ImageJ software but we could not
with best regards
cylind_shell example not working properly
The file quadric.dat in the example directory cylind_shell uses a command as:
CylinderZ CZ1 BlockTransformAll
the optional argument BlockTransformAll is not described in the Wiki (see issue #27)
It seems that it can be used to prevents the command RotateAll to operate on the quadric (CylinderZ in the example). However, in this specific example it produces undesired superposition between the surfaces surrounding two objects, which results in a not-well-defined input file and artifacts in the simulated image.
Add continuous integration support
Some Travis-CI and AppVeyor support would be nice.
Questions about output files of xrmc and xray lib
1-I am trying to convert output files of xrmc to image in ImageJ software by setting options that were pointed in manual but it only displays a black image!
2- i did flouresence example in xrmc directory base on readme file to obtain convoluted specturm but the numbers is very big and negative ?
3- if we need to have plots for different quantites such as cross sections or flouresence yields as a function of atomic number or xray energy and different compound in xraylib whether we should separately write a input file or use another method to obtain a text base output file
Question: using only C++ code without scripting.
Dear developers,
I would like to use XRMC for simulation of x-ray contrast markers position on a flat-screen detector as a part of a process of patient position evaluation before ion beam therapy (carbon ions beam to be more specific).
Is it possible to use pure C++ code for simulation process without any script files? My program will show a simulated XRMC image and a DICOM image from a real detector for further evaluation.
Best regards,
Mikhail Polkovnikov
Researcher at the Institute for High Energy Physics (IHEP), Department of Experimental Physics.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.