The OpenVCT project is designed to provide a common platform for performing Virtual Clinical Trials of medical imaging. OpenVCT provides tools for simulation of patient accrual and reader studies of medical imaging devices, simulating by simulating cohorts of patients and readers. OpenVCT uses common data standards, such as DICOM, to ensure inter-compatibility.
All VCTs follow the same format. A virtual patient accrual phase, followed by a virtual reader study.
The exact design will depend upon the trial in question. In general, there will need to be a training period in which the cohort of virtual readers is trained, following by a testing period in which specific hypotheses can be tested. VCT can be used for fundamental research, device or algorithm development and testing, and in the near future, regulatory approval.
A VCT is performed by writing a [VCT Script] to execute a series of VCT steps in sequence. OpenVCT is based on industry standard [File Formats] including XML and DICOM.
VCT Scripts call a sequence of VCT steps. The exact steps depend upon the VCT, typical steps include:
1. [Anatomy Simulation]
2. [Disease Simulation]
3. [Breast Compression]
4. [Image Formation]
5. [Image Postprocessing]
6. [Image Databasing]
7. [Image Display]
8. [Reader Simulation]
9. [Data Aggregation]
10. [Data Analysis]
Last edit: Juan Carlos 2020-06-09
Hi Juan,
Thanks for your query.
There are a couple of ways to download the code:
Using the Web Page (https://sourceforge.net/projects/openvct
https://sourceforge.net/projects/openvc)
Left-click on "DownloadSnapshot"
Your browser will download an archive file: openvct-svn-r79-trunk.zip
Using Subversion (if you have it):
Please let me know if these methods don't work for you.
Regards,
Dave
On 6/5/2020 1:33 PM, Juan Carlos wrote:
Last edit: Juan Carlos 2020-06-09
Hi Juan,
We use ImageJ to view the images. It can view the .raw images and DICOM
images. It also reads and saves several other formats. It can also read
an entire folder of these images which can then be animated in a sequence.
On 6/7/2020 12:35 PM, Juan Carlos wrote:
Hi Juan,
You can download the project using our SVN directory. Just click in the tab "SVN" and use the link for checkout.
There are SVN-client software that supports you to download projects (or modules). I recommend the open source TortoiseSVN (https://tortoisesvn.net/).
Note: we will realease an updated version of our VCT Framework in the next couple of weeks.
Feel free to contact us for any other questions and support.
Last edit: Bruno Barufaldi 2020-06-05
Dear OpenVCT manager,
Thank you for uploading the OpenVCT program as open source. I have successfully downloaded the program and I have one question.
I have run the VCT Designer v10, and clicked the Phantom Generator to generate the breast phantom. In the Breast Phantom Generator, however, I could not change most of the parameters in Breast Anatomy section, i.e. Ellipsoid Orientation, volume, compartment distribution etc.. Regarding the parameters, is there any way I could change them for the phantom construction?
Hi Bangho Shin,
Thanks for your question.
The VCT Designer was develped to simulate phantoms using a limited number of phantom parameters available in the GUI. The breast parameters available in the GUI are exactly the ones that you informed (your attachment).
After gerating a new phantom using the VCT Designer, a xml configuration file is created in the folder VCT Designer v10 > vct. This xml configuration file describes every single parameter used to generate phantoms. The xml configuration file used for generating a new phantom starts with the ID "PhantomName_888076.0...xml" in the file name.
However, to generate specific phantoms using customized parameters, I recommend that you try the software "BreastPhantomGenerator" using command line. The call used to simulate breast phantoms is:
BreastPhantomGenerator.exe -xml_input [xml configuration file]
You can modify and/or use the xml configuration file "PhantomName_888076.0.*.xml" to generate new phantoms.
I hope that clarifies your question.
Best,
Bruno
Last edit: Bruno Barufaldi 2020-10-22
Hello, I tried to follow your guide, however, I have this problem, can you help me? please
Hi Juan,
Make sure to include the XML file extension in the call:
BreastPhantomGenerator.exe –xml_input Beltran_* .xml
Best,
Bruno
Sorry for the xml error. When running the line of code, the console runs everything immediately. How can I modify the parameters? thank you.
Hello, is it possible to modify the volume of the model? How can it be modified? Thank you
Hi, I tried to run the phantomgenerator.exe command, but nothing about the phantom can be changed. Can you allow me a .txt where you explain how to modify the phantom parameters? Otherwise, can you guide me on how to change these parameters? I appreciate it, thank you very much.
Hi Juan,
I've been away for a while and I don't know how much Bruno has told you,
so please excuse me if I'm spending time here on something you already know.
The xml file that you provide on the command line, following the
argument "-xml_input" contains a section called "Generator_Config". With
any text editor you can modify the XML values in this section to specify
new phantom parameters. However, there are practical limits to how much
you can change these values. Here is an example XML file:
...and this is a brief explanation of some of the fields that you may
want to change first:
Voxel_Size: this specifies the size of each voxel. Larger voxel sizes
mean larger voxels and therefore fewer voxels are needed to fill the
volume. The great the voxel size, the smaller the phantom file and the
less computer memory is required to process the phantom. Smaller values
mean there are more voxels and therefore larger file sizes and more
computer memory needed to process the phantom.
Size_X: this parameter defines how large the breast will be from the
chest wall to the nipple. It corresponds to the a parameter in the
attached diagram.
Size_Y: this parameter defines how wide the breast will be from breast
center-line to one side and also from breast center-line to the other
side. It corresponds to the b parameter in the attached diagram.
Size_CPrime: this parameter defines how tall the breast will be from
about nipple to the top. It corresponds to the c' parameter in the
attached diagram.
Size_CSecondary: this parameter defines how tall the breast will be
from about the nipple to the bottom. It corresponds to the c''
parameter in the attached diagram.
Num_Compartments: this parameter defines how many ellipsoid
compartment - primarily adipose and glandular - are in the breast.
Larger numbers of compartment require longer processing time and larger
computer memory requirements. Smaller numbers process faster and require
less computer memory.
/A word of caution: try to maintain the same relative Size values for
now and be mindful of memory requirements; i.e., make Size_X and Size_Y
and Size_CSecondary the same value and don't radically increase
voxel_size or num_compartments. We current have the best success
following that rule of thumb./
`Hope that helps,
Dave
On 11/7/20 12:19 PM, Juan Carlos wrote:
Thanks, I already made the modifications to the xml file.
Hello, when trying to generate the deformation in the modified phantom, the following error occurs. Please tell me the parameters that the command needs to generate the deformation.
Similarly, to generate the X-ray tracing using the XPLProhectionSim_GPU.exe from the command line, how is the process to perform this X-ray tracing together with the .xml and .vcxt files? Thank you very much for your attention.
Hi Juan,
The error message provided by the BreastPhantomDeformer is old and needs
to be updated - thanks for revealing that to me, I'll fix that.
The command you issued was:
"BreastPhantomDeformer.exe -vctx_input
Beltran_888076.0.505351675353.20201020210429358.vctx"
which is close but incorrect. The first argument should be "-xml_input".
So your command should be
"BreastPhantomDeformer.exe -xml_input
Beltran_888076.0.505351675353.20201020210429358.vctx"
Regards,
Dave
On 11/10/20 7:37 PM, Juan Carlos wrote:
Hi
Thank you for uploading the OpenVCT program as open source. I have successfully downloaded the program and I have one question.
Where is the executable file located? In the openvct folders, I can't find the file that allows the general program window to run. Thank you
Please skip the above message, it was a bug in my java, I already fixed it.
Hi Sebastian,
`Very glad you found the problem so quickly. Enjoy.
Dave
On 11/24/20 8:08 PM, Sebastian wrote:
Hi, I'm trying to x-ray the modified phantom. How can I perform ray tracing on the model? What code should I run from the command line to generate the FFDM? Thank you very much for your attention. I'll look forward for your answer.
Hi Sebastian,
To perform ray-tracing, you can build and run the
XPLProjectionSim_GPU.exe executable. The format for invoking it is:
XPLProjectionSim_GPU.exe -xml_input <xml_file.xml></xml_file.xml>
I've attached a sample xml file and a small, example phantom to try.
Regards,
Dave
On 12/1/20 9:45 PM, Sebastian wrote:
Dear OpenVCT administrators,
Thank you for sharing OpenVCT.
Is there any software to build simple phantoms in .vctx format? For example, a block with a cylindrical hole for CNR measurements or an edge for MTF. If there is none, could you share a description of the .vctx format to make the phantom using Matlab?
Hi.
I am trying to generate the X-ray image, using the following command line: "XPLProjectionSim_cpu.exe attenuationTable.xml Combs_888076.0.505351675353.20201124200942181.xml Combs_888076.0.505351675353.20201124200942181.vctx out 169". However, I get the error in the image. I tried to find a solution but I couldn't find it, I hope you can help me. Thank you very much for your attention.
Hi Sebastian,
A couple of things:
a) Your method of invocation is wrong. You need "-xml_input" as the 1st
argument and a single XML file as the 2nd argument. The XML file
specifies the phantom to use and any other parameters.
b) If at all possible, it would be best to invoke the raytracer in its
home folder. The reason is that the program accesses 2 files,
hologic.dcm and vct_config.xml, which are expected to be in the current
folder. If that's not possible, then you should be able to copy
hologic.dcm and vct_config.xml to whatever your current folder is and
then the raytracer should be able to find it.
Here is the correct syntax for your invocation:
XPLProjectionSim_GPU.exe -xml_input
Combs_888076.0.505351675353.2020.1124200942181.xml
The next version of the software that gets uploaded to SourceForge will
have a clearer and more explicit help message.
`Hope that helps.
Dave
On 12/8/20 11:41 PM, Sebastian wrote:
Sebastian,
There is a third file you would need to copy to your current directory
if you are running from a different folder - and this one is most
important: tracing_float.cl
So in summary, these files would need to be in whatever directory you
invoking XPLProjectionSim_GPU.exe from:
On 12/9/20 7:16 AM, David Higginbotham wrote: