Git Product home page Git Product logo

omega's People

Contributors

villekf avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

omega's Issues

gate_main.m issue

Hi,
When I run gate_main.m on Mac, the error pop up as below:

Error using save
Cannot create 'Cylindrical_PET_example_lor_pixel_count_128x128x63_sino_200x168x703.mat'
because '/Users/shanqianxue/Library/Application Support/MathWorks/MATLAB
Add-Ons/Toolboxes/OMEGA - Open-mat-files/ MATLAB emission tomography
software/mat-files' does not exist.

Error in lor_pixel_count_prepass (line 455)
                    save(file_string,'lor','-v7.3')

Error in precompute_data (line 46)
    lor_pixel_count_prepass(options);

Error in gate_main (line 1639)
   precompute_data(options);

Because there is a space before the file name MATLAB emission tomography software.
But I didn't find the way to correct it in inlor_pixel_count_prepass.m.
How can I change the save path?

error when run install mex in matlab

Dear all,

want to ask, I was run install mex in matlab. but have error like below

Error using mex
C:\Users\Akmal\Documents\MATLAB\Add-Ons\Toolboxes\OMEGA - Open-source MATLAB emission tomography
software\code\source\gate_lmf_matlab.cpp: In function 'void histogram(uint16_t*, uint16_t*,
uint64_t*, char*, double, double, double, size_t, uint32_t, int, int, int, int, int, int, int,
int, int, int, int, double, bool, uint32_t, uint32_t, uint32_t, uint32_t, int16_t*, size_t,
uint64_t*, double, int*, const double*, bool, bool, bool, uint16_t*, uint16_t*, uint16_t*,
uint8_t*, uint32_t, uint32_t, uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, const
uint32_t*, uint64_t, uint64_t, int32_t, bool, uint16_t*, uint16_t*, uint16_t*, uint16_t*,
int32_t, int32_t)':
C:\Users\Akmal\Documents\MATLAB\Add-Ons\Toolboxes\OMEGA - Open-source MATLAB emission tomography
software\code\source\gate_lmf_matlab.cpp:50:30: error: 'fopen_s' was not declared in this scope
  fopen_s(&streami, argv, "rb");
                              ^


Error in install_mex (line 350)
    mex('-largeArrayDims', '-outdir', folder, [folder '/gate_lmf_matlab.cpp'])

can someone help me solve this problem?

WHICH THE BEST ALGORITHM FOR SPECT IMAGE

Dear villekf/OMEGA,

For SPECT images, which one of the best algorithm can be applied to produce best image quality?

  • Improved Siddon's ray tracer algorithm for the system matrix creation (code for regular Siddon available, but not used) [1,2]
  • Orthogonal distance-based ray tracer [3]
  • Volume of intersection ray tracer (THOR) [28].
  • Maximum Likelihood Expectation Maximization (MLEM) [4,5]
  • Ordered Subsets Expectation Maximization (OSEM) [6]
  • data Ordered Subsets Expectation Maximization (COSEM) [7]
  • Enhanced COSEM (ECOSEM) [8]
  • Accelerated COSEM (ACOSEM) [9]
  • Row-Action Maximum Likelihood Algorithm (RAMLA) [10]
  • Relaxed OSEM (ROSEM)
  • Rescaled Block-Iterative EM (RBI) [11]
  • Dynamic RAMLA (DRAMA) [12]
  • Modified RAMLA (MRAMLA), aka modified BSREM-2 [13]
  • Block Sequential Regularized Expectation Maximization (BSREM) [14]
  • One-step-late algorithm (OSL) [15]
  • Quadratic prior (Gibbs prior with quadratic potential function)
  • Median Root Prior (MRP) [16]
  • L-filter (MRP-L) prior [17]
  • Finite Impulse Response Median Hybrid (MRP-FMH) prior [17,18]
  • Weighted mean prior [19,20]
  • Total variation (TV) [21, 22, 23]
  • Total generalized variation (TGV) [24]
  • Anisotropic diffusion (AD) Median Root Prior
  • Asymmetric parallel levels sets prior (APLS) [22]
  • Non-local means prior (NLM), including non-local TV [25,26,27]

No ASCII (.dat) coincidence files were found

Hi villekf/OMEGA,

why i run gate_main_simple.m the error pop up below?

Error using load_data (line 575)
No ASCII (.dat) coincidence files were found. Check your filepath (options.fpath) or current
folder.

Error in gate_main_simple (line 420)
    options.coincidences = load_data(options);

is it have to locate the raw data that you give here https://doi.org/10.5281/zenodo.3522199 in somewhere folder?

main_PET.m issue

Dear sir, when I want to run my own raw data PET, I use this code

>> main_PET.m

but error like below pop up

Error using OMEGA_error_check (line 304)
Implementation 4 supports only one OS and one MLEM algorithm at a time.

Error in main_PET (line 1390)
options = OMEGA_error_check(options);

can someone tell the problem is?

Invenon PET data issue

hello Ville,

Greetings from USTC, China.,
My name is Qianxue, a Master student under the supervision of Prof.Dong Liu.
Currently we are trying to apply the well established PET softerware-OMEGA in our project, however, we face few questions, which we would like to get your help on this purpose.

Q1: When I was attemping to use the Inveon PET data provided by the OMEGA, which obtained from https://doi.org/10.5281/zenodo.3528056.
I found some apparent ARTIFACTS in the sinogram. What's the reason lies behind it?
576a046a123e1921d722379a6d01d14
Q2: I want to get more raw data to test on the OMEGA, but most of the data I get is in DICOM format. I was wondering whether this kind of data can be used to perform the reconstrucion. And where can I get more raw data?

Best wishes,
Qianxue

About gate_CT_main.m

Dear villekf,

I think OMEGA is a great work, but I encountered some problems when I ran gate_CT_main.m. I had run the classic CT example of GATE. And I used the "ACQUISITION with 360 projections" in the acquisition.mac of the example. But when I ran the gate_CT_main.m in MATLAB and select one CTimage dat file of 360, I got some errors:

Error using .*
Matrix dimensions must agree.

Error in CTDetectorCoordinates (line 88)
XY = squeeze(sum(R .* [detCoordX,detCoordY],2))';

Error in reconstructions_mainCT (line 110)
[options.x,options.y,options.z] = CTDetectorCoordinates(options.angles,options.sourceToDetector,options.sourceToCRot,options.dPitch,options.xSize,...

Error in gate_CT_main (line 1031)
pz = reconstructions_mainCT(options);


How to fix it?

best wishes,
Parsons

problem when trying to reconstruct mCT and Vision data

Hello, there:
I am trying to using devel version to reconstruct mCT(32-bit list mode) and Vision(64-bit list mode) raw data.
Both have problems.
For mCT, the code stopped when trying to load the data. Below is the screent print when running the code:
"">> Biograph_mCT_main
Using 32-bit list-mode data with TOF (13 bins).
Using implementation 4.
OSEM reconstruction method selected.
No precomputed data will be used.
Improved Siddon's algorithm used with 1 transaxial ray and 1 axial ray.
Randoms correction ON.
Sinogram gap filling ON.
Corrections applied during reconstruction (ordinary Poisson).
Using STATIC sinogram data (prompts).
Every 8th column measurement is taken per subset.
Using an image (matrix) size of 128x128x109 with 3 iterations and 8 subsets.
Beginning data load""

And the error is as shown in figure 1.

For Vision, the code can load the data successfully but the matlab quit after "Start Reconstruction".

I attached the list mode data for both mCT and Vision and could you please help me to figure it out what is the problem?

https://drive.google.com/file/d/1z4BM0mJ0gWlOGrUuEdni5NxnQCHxsNTf/view?usp=drive_link

Thank you so much.
Ethan
Uploading figure1.png…

Add support for gaps between detector rings

Currently the only way to add gaps between detector rings is to either add pseudo rings or manually adjust the coordinates. It would be better if the user could add information on the gaps in the main-files which would then be automatically taken into account when computing the detector coordinates.

ROOT issue

Hi sir,
I was using OMEGA on MacOS.
When I run install_mex
some warning pomp up as below

warning: Unable to build ROOT support! If you do not need ROOT support ignore this warning.
Otherwise make sure that ROOT was compiled with the same compiler you are using to
compile this mex-file and provide the path to ROOT install folder with install_mex(0, [],
[], [], '/path/to/ROOT'). Compiler error is shown with install_mex(1) 
> In install_mex (line 456) 
warning: CUDA support not enabled 
> In install_mex (line 587) 

How to solve this problem?

Unrecognized function or variable 'vol3d'.

Dear villekf,

i run the code for visualize_pet.m

but the error pop up below. How to solve it?

Unrecognized function or variable 'vol3d'.

Error in visualize_pet (line 371)
figure;vol3d('CData', permute(img(:,:,:,end), [3 2 1 4]), 'Alpha', alpha);
 

Inveon_PET_main.m issue

Hi sir,
I am a rookie in this field. When I run the Inveon data from Zenodo

>>Inveon_PET_main

the error pop up as below

Error using inveon_list2matlab
16 input arguments required.

Error in load_data (line 175)
    [LL1, LL2, tpoints, DD1, DD2, raw_SinM, SinD] =
    inveon_list2matlab(nimi,(vali),(alku),(loppu),pituus, uint32(detectors),
    options.randoms_correction, sinoSize, ...

Error in Inveon_PET_main (line 1680)
    options.coincidences = load_data(options);

Can someone tell the problem is?

Issue when running Inveon_PET_main.m

Dear sir,
Hello. In Inveon_PET_main.m ,when I run the code in MATLAB, an error occurs:

Inveon_PET_main
Unrecognized function or variable 'OMEGA_error_check'.

Error in Inveon_PET_main (line 1739)
options = OMEGA_error_check(options);

How do I solve this problem?
Thanks.

How to see the image have done reconstruction

Hi villekf/OMEGA,

I have run main.PET.m using below data that you giving in your website as below

Cylindrical_PET_example_cylpet_example_sinograms_combined_static_200x168x703_span3.mat

but the final command it just write Reconstruction process took 327.4303 seconds

NO IMAGE appear.

How to see the image have done reconstruction?

About Multi-layer PET

dear villekf,

OMEGA is a great work, and thank you so much.
What I want to ask is about PET reconstruction with DOI information.
Does it support DOI reconstruction?

best wishes,
galadriel

Compiling cpp source code as standalone shared library

Hi!
It's kind of a weird question, I guess, but I will try, nontheless.
This software is really nice, I just discovered it between the abstracts for ISBI 2020.

I am also in the "job" of developing PET reconstruction softwares, but in Python, not in Matlab (you can check https://github.com/TomographyLab/TomoLab, if you are interested). I would really like to test the projectors code you wrote for OMEGA (the one to be compiled as a mex file) within my library, to compare it with the one I am currently using.

The problem is that I am not really familiar with writing source code for Mex files, and I don't know if it is unrealistic to think to separate the C++ code from the Mex wrapper. I mean, avoiding including mex.h, etc...

Two questions:

  • would you be OK with me trying such an 'improper' use of your code?
  • do you have any idea how hard would it be to adapt the source of the mex files, so that it could be compiled as a shared library, with no need for Matlab to run these functions?

Thanks a lot for the attention.

Projection images for the 3D walnut example

Hi!

I can't find the projection images in the link given in walnut_CT_main.m ... Or if it's in the .mat files, how to extract them ?

Sorry if it's a stupid question, I'm a newbie to matlab...
Thanks for providing OMEGA, it's really useful !
Cheers,
Thomas

PET system with more than 65536 detectors

Hi!

I'm attemting to use this software to reconstruct data comming from a PET system with more than 65536 detector? I don't know how to modify the code. Any suggestion please?

Thank you!

about voxel size in the reconstruction image

Dear villekf,

I'm sorry to trouble you so many times.
I want to know how to modify or decision the voxel size in the reconstructed image?
And I also want to know why the list-mode reconstructed image arise too much noise and artifacts?(The example in Inveon_PET_main_listmode_example.m, and I don't modify anything.)

Best wishes.

How to save image

Hi villekf/OMEGA,

I done run for OSEM and ACOSEM method. the image can view.

but how to save image in my foder as dicom format?

SPECT reconstruction coding

Hi sir and all,

Anyone can help me to develop coding for reconstruction SPECT image?

I will pay for it. I really needed it.

Please help me.

BSREM ALGORITHM

Hi Sir, want to ask you.

Did your algorithm Block Sequential Regularized Expectation Maximization (BSREM) [14] is same with
Bayesian penalized likelihood reconstruction algorithm (BSREM) ??

main_PET.m issue

Dear villekf,
When I using main_PET.m for my own scanner and my own data ,it appears some mistakes.The command window as follow:
image
My data format is contain the crystal number only:
image
What can i do to handle this error?
Best wishes

Try this recon method ACOSEM

Hi sir,

i done run main_PET.m

and I try this recon method ACOSEM. i changed to true.

%%% Accelerated COSEM (ACOSEM)
% Supported by implementations 1, 2 and 4
options.acosem = true;

It work. but when i run visualize_pet.m the error pop up as below.

visualize_pet
Warning: The current selected algorithm does not contain any estimes! 
> In check_algorithms (line 15)
In visualize_pet (line 83) 
The following are contained in the input array:
Element 10: ACOSEM



CAN SOMEONE HELP ME?

About gate_CT_main.m

Dear villekf,

I think OMEGA is a great work, but I encountered some problems when I ran gate_CT_main.m. I had run the classic CT example of GATE. And I used the "ACQUISITION with 360 projections" in the acquisition.mac of the example. But when I ran the gate_CT_main.m in MATLAB and select one CTimage dat file of 360, I got some errors:

Error using .*
Matrix dimensions must agree.

Error in CTDetectorCoordinates (line 88)
XY = squeeze(sum(R .* [detCoordX,detCoordY],2))';

Error in reconstructions_mainCT (line 110)
[options.x,options.y,options.z] = CTDetectorCoordinates(options.angles,options.sourceToDetector,options.sourceToCRot,options.dPitch,options.xSize,...

Error in gate_CT_main (line 1031)
pz = reconstructions_mainCT(options);


How to fix it?

best wishes,
Parsons

about normalization correction

Hello,I ran benchPET.mac and benchPET_norm.mac and got the corresponding ascii data.but I am not sure how to normaliza the sinogram data generated by using the benchPET.mac.can you give me some advice?Thank you very much.

about voxel size in the reconstruction image

Dear villekf,

I'm sorry to trouble you so many times.
I want to know how to modify or decision the voxel size in the reconstructed image?
And I also want to know why the list-mode reconstructed image arise too much noise and artifacts?(The example in Inveon_PET_main_listmode_example.m, and I don't modify anything.)

Best wishes.

OMEGA- gcc compiler versions

Hi,
I am the newset member to be working on the OMEGA software, I have started a week ago and I am currently in the installation proccess. I would like to ask about the gcc compiler please, and running the mex.m file. I have tried to run the install_mex.m file and I had many errors, one of the errors was with the compiler's version. The current gcc is v 7.4.0 would it be possible to get the older version 5.4.0 without removing nor overlapping the current version? If yes, how? and would it maybe fix the error of not being able to run install_mex.m file? If it wouldn't matter, what would be the optimal solution from your point of view? I can send the full error report if needed.

Thank you!

output reconstruction direction

Hello. Thank you so much for this great app. I have reconstructed the output of a GATE CT scan simulation with this program. But I could not find the output direction of the final reconstruction. Where to save the reconstructed file? thanks a lot

Self-designed CT reconstruction using OMEGA

Dear villekf,
I am using OMEGA for my self-designed CT image reconstruction, but the output image is inconsistent with the phantoml I designed, is there any way to solve it?
The following are the parameters set during reconstruction, the projection image obtained from CT, and the reconstructed image, and the phantom image.

options.binning = 1;
options.xSize = 1536/options.binning;
options.ySize = 1536/options.binning;
options.nProjections = 360;
options.angles = -linspace(0, 359, options.nProjections);
options.dPitch = 0.139*options.binning;
options.sourceToDetector = 389.4;
options.sourceToCRot = 254;
options.name = 'OURSELF_CT_data';
options.only_reconstructions = false;
options.verbose = true;
options.FOVa_x = 102.4;
options.FOVa_y = options.FOVa_x;
options.axial_fov = 102.4;

Projection image:
image
Reconstructed image:
image
Phantom image:
image

best wishes

ACOSEM

Hi sir,

i done run main_PET.m

and I try this recon method ACOSEM. i changed to true.

%%% Accelerated COSEM (ACOSEM)
% Supported by implementations 1, 2 and 4
options.acosem = true;

It work. but when i run visualize_pet.m the error pop up as below.

visualize_pet
Warning: The current selected algorithm does not contain any estimes! 
> In check_algorithms (line 15)
In visualize_pet (line 83) 
The following are contained in the input array:
Element 10: ACOSEM



CAN SOMEONE HELP ME?

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.