Code Monkey home page Code Monkey logo

xrmc's People

Contributors

golosio avatar tschoonj avatar woutdenolf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xrmc'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

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...

  1. 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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

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.

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.

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.