FullMonte issueshttps://gitlab.com/groups/FullMonte/-/issues2024-02-06T19:42:36Zhttps://gitlab.com/FullMonte/FullMonteSW/-/issues/212Tetra volume data is incorrect for DoseVolumeHistogram2024-02-06T19:42:36ZFynn SchwiegelshohnTetra volume data is incorrect for DoseVolumeHistogram@saeiditi1372 reported this issue the first time. In one of her simulations she received a wrong DoseVolumeHistogram for the tumor region of her mesh. [colin_tumor4_hm_main_template_dvh_108.tcl](/uploads/8abeb8d2b8712fa983c6a050c1e97675/...@saeiditi1372 reported this issue the first time. In one of her simulations she received a wrong DoseVolumeHistogram for the tumor region of her mesh. [colin_tumor4_hm_main_template_dvh_108.tcl](/uploads/8abeb8d2b8712fa983c6a050c1e97675/colin_tumor4_hm_main_template_dvh_108.tcl)
| | expected | result |
| ------ | ------ | ------ |
|1st line| `7.35147 0.000231394 0 389265` | `524276 0.942867 0 164629` |
|last value|`31770.4 1 4.95169e+08 47833` | `556045 1 6.71504e+08 54470` |
This behavior only seems to happen for the last histogram in the set, indicating a memory issue somewhere in the software.
I found out that by removing the VTKMeshWriter section from the tcl script all histograms show the correct data. A intermediate workaround (until the issue is fixed) for this bug could be to just move the VTKMeshWriter section to the end of script in order to ensure that all other data is being processed before the VTKMeshWriter starts writing the mesh.
**UPDATE**
Tina reported that this bug also appeared when only trying to write histogram data to a text file.
> I reran the simulations after removing the VTKMeshWriter section, and the results now align logically. However, it appears there might be a limitation in the number of DVHs that can be requested in a single Tcl script. In the attached Tcl file, the issue persists with the last histogram, showing unexpectedly large values. The DVH5,6 and 7 looks correct. Surprisingly, running the script one more time to obtain only DVH8 produced accurate results.https://gitlab.com/FullMonte/pdt-space/-/issues/20CUDA Testing2023-08-03T20:55:33ZShuran WangCUDA Testing## Summary
Gitlab CI can only test with FullMonteSW but not FullMonteCUDA since Savi 1 does not have Nvidia GPU.
## Improvements
This should not affect PDT-SPACE functionaly so lower priority, but we could consider moving Gitlab runne...## Summary
Gitlab CI can only test with FullMonteSW but not FullMonteCUDA since Savi 1 does not have Nvidia GPU.
## Improvements
This should not affect PDT-SPACE functionaly so lower priority, but we could consider moving Gitlab runner to Savi 3.
## Risks
Completely moving CI runs is risky and should be carefully considered. Could also be time consuming.
## Involved components
* Docker files
* .gitlab-ci.yml
* Savi 1 and Savi 3 configurations
## Optional: Intended side effects
This could also lead to moving CI runs entirely inside docker images for better maintainance, linking to the second item of issue #15 .
## Optional: Missing test coverage
Possible GPU tests while preserving CPU tests.Shuran WangShuran Wanghttps://gitlab.com/FullMonte/FullMonteSW/-/issues/211FullMonteWebUI -- reusing uploaded meshes doesn't work2022-11-30T17:21:49ZMymy TranFullMonteWebUI -- reusing uploaded meshes doesn't workWhen uploading/choosing the same file twice, Djanjo library randomly appends a 7 character string. When choosing the same file twice, the tcl script will ask for you to change your tcl name with 7 randomly appended characters. It does no...When uploading/choosing the same file twice, Djanjo library randomly appends a 7 character string. When choosing the same file twice, the tcl script will ask for you to change your tcl name with 7 randomly appended characters. It does not execute and says that the mesh file cannot be found.
Scenarios, the simulation does not work:
1. **Changing the tcl name as instructed by web-ui**: Result does not work. When reusing the same mesh file, and then following the web ui instructions to rename the tcl and reupload the script. The simulation does not run, instead we see an error with the mesh not being found. This attached mesh and tcl file successfully run on FullMonteSW locally.
- [case2-bone-excluded.tcl](/uploads/10c8780dbe073564cff84a4a9e830b46/case2-bone-excluded.tcl)
- [case2-bone-excluded.mesh.vtk] (https://drive.google.com/file/d/10eW-YjNJA-ux40_qdicX0Ly-bNsoebq1/view?usp=share_link)
- error-file-from-full-monte-web-after reusing the same mesh and doing as fullmonteweb instructed (change the tcl from name)
-[pig_lung_cannot_find_mesh_after_7_char_change_to_tcl_script_name.log](/uploads/c51583aee80af7c2ab60b9e2039fb1df/pig_ling_cannot_find_mesh_after_7_char_change_to_tcl_script_name.log)
2. **Changing the tcl name + the tcl file by modifying the filepath/name for the mesh to match tcl template recomended by web-UI**. (See the Additional Notes Section for further information).
- ie if the tcl script is suppose to be renamed `case2-bone-excluded.mesh_UZG4wbJ.tcl` then inside the tcl script, i modified the read file path of the mesh from "/sims/case2-bone-excluded.mesh.vtk" to
- `VTKMeshReader R`
- `R filename "/sims/case2-bone-excluded.mesh_UZG4wbJ.vtk"`
- `R read`
Both cases explained above, do not result in a successful simulation.
Additional on behaviour in different scenarios:
1. When fullmonteweb asks for you to rename the tcl script ie `case2-bone-excluded.mesh_UZG4wbJ.tcl`, it provides a tcl script template that you can download and write in your regions and parameters for the mesh. Interestingly, the line with`VTKMeshReader R` which specifies where the mesh file path> been changed to include the appended string
- ie inside the tcl script template downloaded from the web-ui
- `VTKMeshReader R`
- `R filename "/sims/case2-bone-excluded.mesh_UZG4wbJ.vtk"`
- `R read`
- the example tcl template downloaded from the material properties page file is attached!
- [case2-bone-excluded.mesh_UZG4wbJ.tcl](/uploads/d4cb513051dba68b9936cd498a79dde5/case2-bone-excluded.mesh_UZG4wbJ.tcl)
- [Screen_Shot_of-web-ui-materials-properties-page-that-instructs-user-to-change-tcl-name](/uploads/9ede9a5ef490e372140f7a5bd5d6c4c8/Screen_Shot_2022-11-30_at_12.38.55_AM.png)Lothar LilgeVaughn BetzShuran WangMymy TranLothar Lilgehttps://gitlab.com/FullMonte/FullMonteSW/-/issues/210Monkey liver error with below steps, mesh file, tcl file, and error log2022-12-30T22:39:57ZMymy TranMonkey liver error with below steps, mesh file, tcl file, and error logSteps to run monkey-liver or pig-pancreas
(The following is run inside a script, hence the -it interactive mode for docker is not enabled)
- `Scp -i myKey.pem Monkey-liver.tcl ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- `Scp -i m...Steps to run monkey-liver or pig-pancreas
(The following is run inside a script, hence the -it interactive mode for docker is not enabled)
- `Scp -i myKey.pem Monkey-liver.tcl ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- `Scp -i myKey.pem Monkey-liver.mesh.vtk ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- Ssh into EC2 instance
- `Ssh -i myKey.pem ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- Install docker for testing purposes
- `curl -fsSL https://get.docker.com -o get-docker.sh`
- `sudo sh get-docker.sh`
Using the following variables to pull the FullMonteSW image:
- `TAG=master`
- `REGISTRY=registry.gitlab.com`
-Gets the FullMonteSW container image for user mode (not developer mode)
- `IMG=-run`
- `MIDDLE=fullmonte/fullmontesw/fullmonte$IMG`
- `IMAGE=$REGISTRY/$MIDDLE:$TAG`
- Pull Docker image
- `docker login -u myUsername $REGISTRY -p myPassword`
- `docker pull $IMAGE`
- Build docker command string
- `DOCKER_COMMAND="docker run --rm -v $HOME_DIR:/sims -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 --privileged -e DISPLAY=:0 --ipc=host $IMAGE` `bash ./sims/docker.sh ./$2"`
- `eval $DOCKER_COMMAND`
- **Log output is shown in attached files for both monkey liver**
-[liver-killed-error.log](/uploads/4349e7c57d34399d46bec2f00c948b9c/liver-killed-error.log)
-[Monkey-liver.mesh.vtk](/uploads/794c48e81dcdc847711200d7703d963d/Monkey-liver.mesh.vtk)
-[Monkey-liver.tcl](/uploads/2e8447ed3a5a5e1a18caaa2209d35cca/Monkey-liver.tcl)https://gitlab.com/FullMonte/FullMonteSW/-/issues/209Pig pancreas error with below steps, mesh file, tcl file, and error log2022-11-29T20:44:49ZMymy TranPig pancreas error with below steps, mesh file, tcl file, and error logSteps to run pig-pancreas
(The following is run inside a script, hence the -it interactive mode for docker is not enabled)
- `Scp -i myKey.pem pig-pancreas-seg-new.tcl ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- `Scp -i myKey.pem...Steps to run pig-pancreas
(The following is run inside a script, hence the -it interactive mode for docker is not enabled)
- `Scp -i myKey.pem pig-pancreas-seg-new.tcl ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- `Scp -i myKey.pem pig-pancreas-seg-new.mesh.vtk ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- Ssh into EC2 instance
- `Ssh -i myKey.pem ubuntu@Ec2-3-236-85-147.compute-1.amazonaws.com`
- Install docker for testing purposes
- `curl -fsSL https://get.docker.com -o get-docker.sh`
- `sudo sh get-docker.sh`
Using the following variables to pull the FullMonteSW image:
- `TAG=master`
- `REGISTRY=registry.gitlab.com`
-Gets the FullMonteSW container image for user mode (not developer mode)
- `IMG=-run`
- `MIDDLE=fullmonte/fullmontesw/fullmonte$IMG`
- `IMAGE=$REGISTRY/$MIDDLE:$TAG`
- Pull Docker image
- `docker login -u myUsername $REGISTRY -p myPassword`
- `docker pull $IMAGE`
- Build docker command string
- `DOCKER_COMMAND="docker run --rm -v $HOME_DIR:/sims -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 --privileged -e DISPLAY=:0 --ipc=host $IMAGE` `bash ./sims/docker.sh ./$2"`
- `eval $DOCKER_COMMAND`
- **Log output is shown in attached files for pig pancreas**
[pig-pancreas-seg-new.mesh.vtk](/uploads/210fc9085cbfcce10366ed6d45f65a9c/pig-pancreas-seg-new.mesh.vtk)
[pig-pancreas-seg-new.tcl](/uploads/f9c122337b32bbf2c30118153ca1a3c8/pig-pancreas-seg-new.tcl)
[pancreas-error.log](/uploads/4405c1d1a4e4ac1202dec96ee310ce98/pancreas-error.log)Lothar LilgeVaughn BetzShuran WangMymy TranLothar Lilgehttps://gitlab.com/FullMonte/pdt-space/-/issues/19PDT-SPACE2022-09-08T17:20:11ZTina saeidiPDT-SPACEPDT-Space seems to stuck in an infinite loop when running on a different model than Colin27.
I have generated a mesh with 3 layers with large numbers of tetra. But the PDT-space does not generate output for this model.
I was wondering i...PDT-Space seems to stuck in an infinite loop when running on a different model than Colin27.
I have generated a mesh with 3 layers with large numbers of tetra. But the PDT-space does not generate output for this model.
I was wondering if this is due to the large size of the mesh or other thing.
Thanks
Tinahttps://gitlab.com/FullMonte/pdt-space/-/issues/17Error while installing pdt_space2022-03-16T22:03:59ZkhaledkhallafError while installing pdt_space-Hello!! I am having trouble installing PDT space. I have pulled all the items successfully and cmd tells me that the image is up to date but it shows an error "The system cannot find the file specified". Could you please help me?
![erro...-Hello!! I am having trouble installing PDT space. I have pulled all the items successfully and cmd tells me that the image is up to date but it shows an error "The system cannot find the file specified". Could you please help me?
![error](/uploads/96ef6eeffde131b6b40591571b6122bf/error.PNG)https://gitlab.com/FullMonte/MeshTool/-/issues/47Getting the MeshTool GUI to run on Windows x642022-01-12T16:44:08ZMichael HainesGetting the MeshTool GUI to run on Windows x64I can not get the MeshTool GUI to run on a Windows x64 system. I have tried building MeshTool locally, and while there seems to be no problem with the cmake configuration, there is still no exe or GUI to run MeshTool. Am I missing a step...I can not get the MeshTool GUI to run on a Windows x64 system. I have tried building MeshTool locally, and while there seems to be no problem with the cmake configuration, there is still no exe or GUI to run MeshTool. Am I missing a step after generating CMakeLists.txt to generate the exe or GUI?
I would greatly appreciate any support you can provide.https://gitlab.com/FullMonte/FullMonteSW/-/issues/207Remove flatten_whitespace from COMSOL Reader2022-01-11T02:35:14ZEvan DodsonRemove flatten_whitespace from COMSOL ReaderI encountered an error while running a simulation using a geometry exported from COMSOL 5.6 and then trying to convert the photon weight to fluence. The last material index would have a value of itself concatenated with a value from ~10 ...I encountered an error while running a simulation using a geometry exported from COMSOL 5.6 and then trying to convert the photon weight to fluence. The last material index would have a value of itself concatenated with a value from ~10 lines back e.g. a list ending with all 2s would have a final index of 22 after read in by the reader. The issue stems from the flatten_whitespace in the COMSOL reader stripping whitespace at the end of the stream and an EOF isn't being generated in the stream causing a stream underflow. Removing the flatten_whitespace filter of the stream at lines 54 & 58 in Storage/COMSOL/COMSOLReader.cpp fixes this problem and continues to pass the COMSOLReader test.
The files replicating this error can be shared upon request.https://gitlab.com/FullMonte/FullMonteSW/-/issues/206FullMonteWeb aesthetic error in material set tab2021-11-24T02:16:51ZAndrew EffatFullMonteWeb aesthetic error in material set tabHi everyone. I noticed a small aesthetic error when setting the material properties on FullMonteWeb. When you add another region, the anisotropy label of the previous region gets overwritten. See images below.
**1 region:**
![Material...Hi everyone. I noticed a small aesthetic error when setting the material properties on FullMonteWeb. When you add another region, the anisotropy label of the previous region gets overwritten. See images below.
**1 region:**
![MaterialSet1](/uploads/9164b15ebc99f8c255cec97254cee1a6/MaterialSet1.PNG)
**2 regions:**
![MaterialSet2](/uploads/697a55f16089f9ca4e70cd6296aa4943/MaterialSet2.PNG)
This continues on as you add more regions.Vaughn BetzVaughn Betzhttps://gitlab.com/FullMonte/pdt-space/-/issues/15Make PDT-SPACE automatically update with FullMonteSW2023-08-03T20:54:34ZShuran WangMake PDT-SPACE automatically update with FullMonteSWThe current PDT-SPACE needs manual builds to update to the latest FullMonteSW image.
- [x] Make the pdt-space-dependencies image automatically build with latest FullMonteSW image - this would update the pdt-space Docker image.
- [ ] Make...The current PDT-SPACE needs manual builds to update to the latest FullMonteSW image.
- [x] Make the pdt-space-dependencies image automatically build with latest FullMonteSW image - this would update the pdt-space Docker image.
- [ ] Make the gitlab-runner run in Docker images rather than bash - this would remove the need to manually build FullMonteSW on Savi1 machine each time.
- Difficulty: Hard to import mosek license to the Docker image.Shuran WangShuran Wanghttps://gitlab.com/FullMonte/pdt-space/-/issues/13DVH units2021-03-26T18:26:56ZAbedYassineDVH unitsMake all the units of the DVH output the same (either percentage or unit_length^3).
- Can make two separate functions for two different outputs.Make all the units of the DVH output the same (either percentage or unit_length^3).
- Can make two separate functions for two different outputs.https://gitlab.com/FullMonte/pdt-space/-/issues/12Remove TissueTypes dependency in read_mesh. No need for it.2021-03-26T17:17:41ZAbedYassineRemove TissueTypes dependency in read_mesh. No need for it.After fixing (commit [137a09fce](https://gitlab.com/FullMonte/pdt-space/-/commit/137a09fced4139473879b23d892238388e34504f)) the .mesh files to include the tissue types as a 5th entry for each tetra, there is no need for requiring the Tis...After fixing (commit [137a09fce](https://gitlab.com/FullMonte/pdt-space/-/commit/137a09fced4139473879b23d892238388e34504f)) the .mesh files to include the tissue types as a 5th entry for each tetra, there is no need for requiring the TissueTypes file anymore. Removing it makes it less complicated for the user.
Need to also update the wiki as follows:
- [ ] Update .mesh format wiki.
- [ ] Remove the requirement for TissueTypes.txthttps://gitlab.com/FullMonte/FullMonteSW/-/issues/196Histogram features need documentation2021-03-26T07:22:04ZHelen DHistogram features need documentationFullMonte currently supports Dose Volume Histogram generation, but there is no documentation outlining how to use the functions. It would be great if we could have some detailed documentation in the wiki on how to use them.
One example o...FullMonte currently supports Dose Volume Histogram generation, but there is no documentation outlining how to use the functions. It would be great if we could have some detailed documentation in the wiki on how to use them.
One example of such use case in TCL is:
```
DoseVolumeHistogramGenerator DVHG
DVHG mesh $M
DVHG dose [EF result]
DVHG update
set DHC [DVHG result]
TextFileMatrixWriter TW
TW filename "/sims/Cube_DoseVolumeHistogram.txt"
TW source [$DHC get 2]
TW write
TextFileDoseHistogramWriter TDH
TDH filename "/sims/Cube_DoseVolumeHistograms.txt"
TDH collection $DHC
TDH write
set DS [$ODC getByType "DirectedSurface" 0]
DoseSurfaceHistogramGenerator DSHG
DSHG mesh $M
DSHG partition [$DS partition]
DSHG dose [$ODC getByType "DirectedSurface" 0]
DSHG update
set DSHC [DSHG result]
TextFileDoseHistogramWriter TDSH
TDSH filename "/sims/Cube_DoseSurfaceHistograms.txt"
TDSH collection $DSHC
TDSH write
```https://gitlab.com/FullMonte/fullmonte-meta/-/issues/5Fullmonte-meta does not pull the latest fullmonte docker images2020-12-16T18:08:53ZFynn SchwiegelshohnFullmonte-meta does not pull the latest fullmonte docker imagesAs mentioned above. The fullmonte-meta image does not have the most recent docker-image of fullmonte although it is scheduled to update them regulary.
This needs to be fixed.
For now, Lothar's group can simply use the base fullmonte-ru...As mentioned above. The fullmonte-meta image does not have the most recent docker-image of fullmonte although it is scheduled to update them regulary.
This needs to be fixed.
For now, Lothar's group can simply use the base fullmonte-run image but this makes the fullmonte-meta image obsolete.https://gitlab.com/FullMonte/FullMonteSW/-/issues/187SurfaceInterface not supported for P8 build or when __SSE__ != 02020-12-07T10:24:18ZJeff CassidySurfaceInterface not supported for P8 build or when __SSE__ != 0I'm not sure why the code in TetraMCKernelThread is split using `#if __SSE__ #else` - looks like something for non-SSE architecture (P8?) support, even though the code is fairly similar?
The SurfaceInterface code only works when `__SSE_...I'm not sure why the code in TetraMCKernelThread is split using `#if __SSE__ #else` - looks like something for non-SSE architecture (P8?) support, even though the code is fairly similar?
The SurfaceInterface code only works when `__SSE__` is defined nonzero.https://gitlab.com/FullMonte/FullMonteSW/-/issues/186File generated in source folder during build2020-12-07T10:31:01ZJeff CassidyFile generated in source folder during buildGenerally, it is best practice to perform (or at least not preclude the user) performing out-of-source builds. Files should not by written in the source folder by the build process.
When running Docker, I typically mount the source fold...Generally, it is best practice to perform (or at least not preclude the user) performing out-of-source builds. Files should not by written in the source folder by the build process.
When running Docker, I typically mount the source folder read-only to enforce the condition.
Generation of July2017BladderWaterMesh1.mesh.vtk in the build process violates this rule, resulting in a build failure when source is mounted read-only.https://gitlab.com/FullMonte/pdt-space/-/issues/7Add option to let user specify tissues that are guardbanded2020-07-30T22:08:54ZAbedYassineAdd option to let user specify tissues that are guardbanded<!-- The first four sections: "Problem to solve", "Intended users", "User experience goal", and "Proposal", are strongly recommended, while the rest of the sections can be filled out during the problem validation or breakdown phase. Howe...<!-- The first four sections: "Problem to solve", "Intended users", "User experience goal", and "Proposal", are strongly recommended, while the rest of the sections can be filled out during the problem validation or breakdown phase. However, keep in mind that providing complete and relevant information early helps our product team validate the problem and start working on a solution. -->
### Problem to solve
<!-- What problem do we solve? Try to define the who/what/why of the opportunity as a user story. For example, "As a (who), I want (what), so I can (why/value)." -->
Right now, pdt-space has a function called ``get_thresholds_with_guardband(double guardband)`` that hard codes the threshold to certain tissues. This hasn't been a problem, because the tool is being test on Colin27 tissues. To support more generic tissues, the user should have the ability to specify the tissue IDs that should be guardbanded along with the guardband.
### Intended users
<!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later.
-->
Regular users.
### Proposal
<!-- How are we going to solve the problem? Try to include the user journey! https://about.gitlab.com/handbook/journeys/#user-journey -->
One way to solve this is to add a new option parameter in ``util.cxx`` that expects a list of tissue IDs that should be guardbanded, and another parameter ``GUARDBAND`` that is expected to be between 0 and 1 for the guardband value. (assuming all guardbanded tissues would have the same guardband).
### Further details
<!-- Include use cases, benefits, goals, or any other details that will help us understand the problem better. -->
This will allow users to automatically use different tissues and test cases.
### Availability & Testing
<!-- This section needs to be retained and filled in during the workflow planning breakdown phase of this feature proposal, if not earlier.
Please list the test areas (unit, integration and end-to-end) that needs to be added or updated to ensure that this feature will work as intended. Please use the list below as guidance.
* Unit test changes
* Integration test changes
* End-to-end test change
-->
We would need to add a unit test to make sure that the parameters are doing what they are supposed to do, and a system level test by running the tool on Colin27 with different guardbands and see the difference in the results.https://gitlab.com/FullMonte/FullMonteSW/-/issues/182Initial Compile Failed on Ubuntu 20.042021-07-21T20:58:45ZShuran WangInitial Compile Failed on Ubuntu 20.04I ran the Native Development Build Script on my Ubuntu 20.04 machine and cmake failed.
Command line messages:
[compile_messages.txt](/uploads/4ccc2526eb9c0f5b0ff1b6e553243e6c/compile_messages.txt)
![image](/uploads/9dd24bd81087eaf29c495...I ran the Native Development Build Script on my Ubuntu 20.04 machine and cmake failed.
Command line messages:
[compile_messages.txt](/uploads/4ccc2526eb9c0f5b0ff1b6e553243e6c/compile_messages.txt)
![image](/uploads/9dd24bd81087eaf29c495d7b9f8d2ad7/image.png)
Partially modified script used:
[FullMonteSW_native_build.sh](/uploads/0d67bc8a6ca6e8ed7b47ca2bb304336a/FullMonteSW_native_build.sh)Shuran WangShuran Wanghttps://gitlab.com/FullMonte/fullmonte-meta/-/issues/4Add PDT-GUI to docker images once done2020-06-09T00:25:36ZAbedYassineAdd PDT-GUI to docker images once done