some strange behavour with scaling
scale + computeCT
getWhiteImage() is not working as expected with focal spot
bounding boxes
.mha files on Windows
.mha files on Windows
segfault when a mesh is loaded from a file without OpenGL context
OBB
doxy2swig not being called when Doxygen is installed
ability to pan (currently only have the ability to orbit and zoom)
Hi Bas, I added two unit tests in gvxr/tests/TestPointSource.cxx. See TestRotationCentred and TestRotationNotCentred. It seems to work well when no focal spot is used. regards, Franck
Source rotation
Build the Python wrapper when Doxygen is not installed
Build the Python wrapper when Doxygen is not installed
Hi Bas, it is now possible to rotate the source using two specific functions. rotateFocalSpot and rotateSource. I haven't written the unit tests, i.e. the code is not tested. It's tomorrow's job.
PS: we also have a WebGUI, https://webct.io/, but it's really for computed tomography,
Hi Thierry, do you mean this repo https://github.com/effepivi/gvxr-python3-gui? I just tried on Linux, not pretty but it works. I'll try on Windows when I get the chance next week. regards, Franck
Problem when apply rotation
Hi Thierry, glad it's sorted. I close the ticket. regards, Franck
Hi Thierry, I believe it's because the first transformation is actually the last one, and the last one is the first one. When we call gvxr.rotateNode the mesh is not actually transformed. It multiplies the modelling matrix (initially the identity matrix) with a new rotation matrix. This way, meshes are only transformed once, and on the GPU. It makes a lot of sense in medical VR or games when there are millions of triangles: it's very fast. So what happens in practice is: Ry(Rz(A)). Depending on your...
Hi Thierry, thanks, for raising this point. The URL in your code indicates that you adopted a right-hand notation. gVXR should use the left-hand notation. The matrices are different in https://learnopengl.com/Getting-started/Transformations compared to https://www.brainvoyager.com/bv/doc/UsersGuide/CoordsAndTransforms/SpatialTransformationMatrices.html In any case, I will write a unit test next week to ascertain the correctness of the matrices and will get back to you. I am not quite sure what you...
Pad the volume before the marching cubes to close the iso-surface.
Documents some functions.
Automatically add a new script to run ctest and send the results to https://my.cdash.org/index.php?project=gVirtualXray
Add unit tests.
Improve unit test coverage.
Polish code.
Add unit test on density.
Fix the unit test.
Fix the unit test.
Fix the unit test.
Fix the unit test.
Fix the unit test.
Work on unit test.
Work on unit test.
Update the way Python is detected. Compliance with new versions of CMake. The code is disable, tho.
Work on unit tests.
Add value check.
Add unit test on getWeightSet.
Remove ERROR from the exception messages as it'll be added by the class.src/Utilities/ElementSet.cxx
Improve code after unit tests developed.
Add constructors and accessors for completeness.
Add accessor on WeightSet.
Add file.
Add unit test of Class PhotonCrossSection.
Minor edit.
Deal with CMake warnings about DOWNLOAD_EXTRACT_TIMESTAMP and policy CMP0135.
Update the minimum required CMake version.
It is now possible to use the close window widget (i.e. clicking on cross at top of the window).
Fix copy/paste bug in hideWindow.
When destroying all the windows, do not release all the objects. Only do that in void terminate(void).
Set the label in normaliseWeightSet when addElement is used.
Unit test of Mixture::addElement.
Add unit test for mixtures.
Add new constructor.
Use int instead of float to automatically set the label of mixtures.
Add new constructor.
Add logo files.
Move the file to the root of the repository.
Create a new site for gVXR on CDash.
Fix bug.
Add Yttrium aluminium garnate scintillation material.
Make it nicer.
Can handle exposure time and electric current.
Handle absolute vs relative paths on Unix and Windows for the TIFF files.
Do not use a relative path on Windows when the json file is on one disk, and the data on another.
Fix issues when 1) the filter makes use of the Z number in spekpy, 2) mAs and the z distance are given but negative with spekpy.
Add verbose to initDetector and initSourceGeometry.
Fix the test when GifPath is not in scan_params.
When applicable,e, add Mixture tag when returning the label.
Can specify the unit of the thickness of the filters.
Return missing value.
Fix compilation error.
Make sure the VBOs are reset.
Convert Z into the element symbol.
Fixing the loader when a beam spectrum is used.
Fix linkage.
Add new unit test.
Add a method to remove the spectrum only, i.e. it leaves kV, tuble angle, filtration and mAs.
As using Pair with SWIG failed, I split the function returning the beam filtration in two functions.
Add the OpenMP backend.
Fix what is returned when getFBO is used with the OpenMP backend.
Fix comment.
Stop call getFBO(XRAY_DETECTOR_ENERGY_FLUENCE_FBO_ID) and use getEnergyFluence() instead. The latter takes care of the noise and impulse response of the detector.
Remove the const version of getEnergyFluence() and add PSF.
Add PSF.
Add 2D convolution.
Support Gd2O2S DRZ-Plus as a special case when saving the scintillator.
Explicit the name of some variables + call gvxr's function when loading a spectrum from kV.
Reduce the threshold.
Fix error and add comments in header file.
Retrieve the beam shape
Use filesystem.h as hack using CMake not working on G++ 7.5.
Use filesystem.h as hack using CMake not working on G++ 7.5.
Add comments.
Take into account the mAs.
Use double instead of unsinged int in setNumberOfPhotonsPerCM2.
Add mm in the beam filtration.
Use the new functions in gVXR to store the state.
fix compilation on VC++ with C++ 17.