Releases: VirtualPhotonics/VTS
VTS Version 12.0
VTS Library NuGet Package 11.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Upgraded to .NET 8.0
- Updated NuGet packages
- Updated PowerShell scripts used to build zip files (Issue #148)
- Upgraded VTS to .NET 8.0 (Issue #159)
- Added warning if diffusion parameters are such that (mua>=mus') (Issue #160)
- Modified unit test string comparison verification to work on Linux (Issue #163)
- Increased the spectral range for major chromophores (Issue #165)
- Added an action for .NET build and test (Issue #167)
Monte Carlo code changes:
- Upgraded Monte Carlo to .NET 8.0 (Issue #21)
- Modified R(fx) tallies to only output warning when user specifies a tissue that is not homogeneous or layered (Issue #13)
- Monte Carlo inverse code fixes (Issue #173)
WPF code changes:
- Increased the spectral for major chromophores (Issue #165)
Documentation for the library can be accessed here
VTS MATLAB Package 12.0
NOTE: This version of the MATLAB interoperability only works with MATLAB R2022b and higher. If you have a previous version of MATLAB, use one of the previous releases.
Use the MATLAB function dotnetenv
to switch between environments dotnetenv("core")
or dotnetenv("framework")
- this package uses core.
To select core, type dotnetenv("core")
in the MATLAB command window before any other command.
Download: VTS_MATLAB_v12.0.0.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET 8.0 - download here
MATLAB (R2022b and higher)
VTS Version 11.0
VTS Library NuGet Package 11.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Updated NuGet packages
- Modified VTS and Scripting in preparation for Polyglot notebooks (Issue #121)
- Removed deprecated RangeOfT class Range.AsEnumerable() (Issue #139)
Monte Carlo code changes:
- Reconfigured the detectors to use global code for the Binary Serializers (Issue #112)
- Added strictly unit tests for detector Binary Serializer code (Issue #112)
- Fixed cognitive complexity issues (Issue #113)
- Added ability to specify layered concentric infinite cylinders with refractive index mismatch (Issue #122)
- Corrected bug found in differential Monte Carlo detector dMCdROfRhodMusDetector (Issue #145)
- Fixed logic in Tissues GetDistanceToBoundary method (#136)
WPF code changes:
- Added code to fix inaccurate fdpm amplitude and phase derivative values with respect to mu a and mu s (WPF Issue #42)
Documentation for the library can be accessed here
VTS MATLAB Package 11.0
NOTE: This version of the MATLAB interoperability only works with MATLAB R2022b and higher. If you have a previous version of MATLAB, use one of the previous releases.
Use the MATLAB function dotnetenv
to switch between environments dotnetenv("core")
or dotnetenv("framework")
- this version uses "core"
Download: VTS_MATLAB_v11.0.0.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET 6.0 - download here
MATLAB (R2022b and higher)
VTS Version 10.0
VTS Library NuGet Package 10.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Updated NuGet packages
- Removed dotnet standard from solution and retargeted remaining project to .Net 6.0 (Issue #76)
- Started scripting project for .NET Polyglot Notebook and Jupyter Notebook samples (Issue #121) - currently C# scripts that parallel MATLAB vts_solver_demo.m and vts_mc_demo.m coded
- Updated BuildTestReleaseMCCL powershell script to run MCCL unit tests
- Replaced Moq with NSubstitute (Issue #82)
- Updated RangeOfT to implement IEnumerable directly, tagged obsolete code for removal in the future (Issue #90)
- Added files for creating the code documentation on GitHub pages
- Created GitHub actions to build Vts.sln and run Vts.Library.sln Tests upon PR submission (Issue #100)
- Started to publish static web hosted documentation to GitHub pages (Issue #92)
- Added unit tests to increase code coverage and cleaned up code (Issues #102, #105)
Monte Carlo code changes:
- Removed unused DirectionalArbitrarySource
- Added DirectionalImageSource that can be used to initialize source from bitmap
- Added SlantedRecessedFiberDetector for fiber detectors that are in an angle above tissue surface, and unit tests (Issue #103)
- Fixed bugs, security issues and maintenance issues in MCCL and the Monte Carlo Post Processor (MCPP) (Issues #79, #107)
- Renamed VirtualBoundaryType Dosimetry to InternalSurface to be more general
- Added unit tests to increase code coverage and cleaned up code (Issues #102, #105, #110)
- Corrected bug found in ReflectedMTOfXAndYAndSubregionHistDetector and TransmittedMTOfXAndYAndSubregionHistDetector having to do with serialization when Y.Count is not equal to X.Count (Issue #115)
Documentation for the library can be accessed here
VTS MATLAB Package 10.0
NOTE: This version of the MATLAB interoperability only works with MATLAB R2022b and higher. If you have a previous version of MATLAB, use one of the previous releases.
Use the MATLAB function dotnetenv
to switch between environments dotnetenv("core")
or dotnetenv("framework")
- this version uses "core"
Download: VTS_MATLAB_v10.0.0.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET 6.0 - download here
MATLAB (R2022b and higher)
VTS Version 9.1
VTS Library NuGet Package 9.1
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Fixed bugs and code vulnerabilities identified by SonarCloud which includes correctly documenting parameters for each method, removing unused variables, and renaming misspelled properties.
- Increased unit test code coverage.
- Updated NuGet packages.
MATLAB interop changes:
- Updated the documentation in the html folder.
- Updated the PowerShell command files for the MATLAB interop using version 2022b.
Monte Carlo code changes:
- For the fluorescent emission sources:
- omitted use of the boundary bins from the absorbed energy detector results when generating the source.
- updated how to determine the center of a cylindrical voxel with respect to rho.
- added a clarification message to user when specifying a "uniform" sampling of the fluorescent voxels that states that the individual voxel results cannot be added together.
- modified and added unit tests to validate these changes
- Fixed code so that transmitted detectors can be post-processed from a database.
- Added the units tests for MCCL and MCPP to BuildTestRelease.ps1.
For the MSDN style developer documentation, download: VtsDocumentation.chm
VTS MATLAB Package 9.1
NOTE: This version of the MATLAB interoperability only works with MATLAB R2022b and higher. If you have a previous version of MATLAB, use one of the previous releases.
Use the MATLAB function dotnetenv
to switch between environments dotnetenv("core")
or dotnetenv("framework")
- this version uses "core"
Download: VTS_MATLAB_v9.1.0.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET 6.0 - download here
MATLAB (R2022b and higher)
VTS Version 9.0
VTS Library NuGet Package 9.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
-
Removed .NET Framework 4.8 from library: .NET 6.0 now has support for MATLAB interoperability
-
Updated all NuGet packages
-
VTS code changes:
- Increased unit test code coverage for ComputationalFactory class to 100%
- Fixed a bug in two-layer SDA solution for Fluence(rho,z,ft) when the independent axis variable is ft (revealed by expanded unit test coverage)
-
Code clean up to improve readability and maintainability:
- Removed unused tools folder that contained 7zip and nunit
- Removed unused local variables
- Modified variable specifications to use "var" instead of type
- Make variables "private" and "readonly" where applicable
- Reduce nesting of "if" statements by inverting the "if" when possible
- For switch statements based on an Enum, included all cases of the Enum
- Renamed local variables to longer more descriptive names
- Removed commented out code and obsolete comments
- Corrected erroneous comments
-
Monte Carlo code changes:
- Bug fixed in perturbation Monte Carlo transmittance database specification
- Modified SimulationStatistics to not tally to NumberOfPhotonsOutTopOfTissue if photon killed by Russian Roulette on collision prior to exit
- Found continuation line in loadMCResults.m that did not have a "..." at the end of it
For the MSDN style developer documentation, download: VtsDocumentation.chm
VTS MATLAB Package 9.0
NOTE: This version of the MATLAB interoperability only works with MATLAB R2022b and higher. If you have a previous version of MATLAB, use one of the previous releases.
Use the MATLAB function dotnetenv
to switch between environments dotnetenv("core")
or dotnetenv("framework")
- this version uses "core"
Download: VTS_MATLAB_v9.0.0.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET 6.0 - download here
MATLAB (R2022b and higher)
VTS Version 8.0
VTS Library NuGet Package 8.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Upgraded to .NET 6.0
- Updated NuGet packages
- Updated package, license and readme files and removed obsolete ones.
- Cleaned up code by:
- Reorganizing folders to match namespaces.
- Renaming unit test classes to match class tested plus "Tests".
- Facilitated improved source code documentation by:
- Adding missing XML comments and clarifying existing comments.
- Adding namespace documentation to the solution.
- Spell checking comments.
- Correcting references to algorithms employed in code.
- Removed obsolete BinaryFormatter method which resulted in removing the following public static methods:
- ReadFromBinary(string filename)
- ReadFromBinaryInResources(string filename, string projectName)
- WriteToBinary(this T myObject, string filename)
- ReadFromBinaryStream(Stream s)
- WriteToBinaryStream(T myObject, Stream s)
- Monte Carlo additions:
- Added a paramsweep option for the random number generator Seed.
- Added new ROfFxAndMaxDepth detector that determines reflectance as a function of spatial-frequency and maximum depth of penetration.
For the MSDN style developer documentation, download: VtsDocumentation.chm
VTS MATLAB Package 8.0 Beta
Download: VTS_MATLAB_v8.0.0Beta.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET Framework 4.8 - download here
MATLAB (R2019b and higher)
VTS Version 7.0
VTS Library NuGet Package 7.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Added post-processing capabilities for transmitted photons. This includes the ability to generate a database for transmitted photons, then post-process this database quickly to generate any transmittance detector result. In addition, perturbation Monte Carlo can be performed for transmitted photons. The transmittance database can be generated simultaneously with database for reflected photons, i.e. the same infile can be used.
- Cleaned up toolbox of methods for Monte Carlo source generation. Clarified parameter names and descriptions.
- Added capability to Monte Carlo source CircularAngledFromCircle to have the circle in air be tilted specified by a new CircleInAirRotation vector.
- Replaced the depreciated package, Unity and replaced it with Microsoft's Dependency Injection.
- Updated all NuGet packages
For the MSDN style developer documentation, download: VtsDocumentation.chm
VTS MATLAB Package 7.0 Beta
Download: VTS_MATLAB_v7.0.0Beta.zip
Release Notes
See above
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET Framework 4.8 - download here
MATLAB (R2019b and higher)
VTS Version 6.0
VTS Library NuGet Package 6.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
General:
- Separated the FemModeling namespace into a separate library called Vts.FemModeling, contact us if you need this library
- Updated the library and test projects to be multi-targeted (.NET Standard 2.1, .NET Framework 4.8 and .NET Core 3.1)
Code Cleanup:
- Added XML comments to all public classes, Properties and methods
- Added appropriate getters and setters to all properties
- Added "readonly" to variables that are readonly
Bug fixes:
- Modeling Spectroscopy SpectralConverter: fixed regular expression for wavelength unit
- Monte Carlo AbsorptionWeightingMethods: pMCAbsorpContinuous method check should be that the denominator of the pMC weight is not 0
- Monte Carlo ROfFxAndAngle did not have numerical aperture (NA) properties and associated code to determine if photon within NA
- Monte Carlo SourceToolbox UpdateDirectionAfterGivenFlags for BeamRotationFromInwardNormal processing
- Monte Carlo PostProccsorInputValidation: input file existence code correction
- Monte Carlo BoundingCylinderTissueINputValidation: validation checks were in an order that one validation would never be reached
- Monte Carlo SimulationInputExtensions: when paramsweep is the SourceInput x,y,z Position and for d1 when the TissueInput is not a MultiLayerTissueInput
- loadMCResults.m: FluenceOfXAndYAndZAndStartingXAndYCount dimensions were switched
VTS MATLAB Package 6.0 Beta
Download: VTS_MATLAB_v6.0.0Beta.zip
Release Notes
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET Framework 4.8 - download here
MATLAB (R2019b and higher)
VTS Version 5.0
VTS Library NuGet Package 5.0
Visit nuget.org for information on our latest NuGet package.
Release Notes
- Updated the library versions to .NET Framework 4.8 and .NET Standard 2.1
- Simplified the SecondMoment calculation for Complex boundary detectors using cos^2+sin^2=1, expanded the code comments to describe this, and added more comments to the Complex history tallies which don't calculate SecondMoment until the photon has exited.
VTS MATLAB Package 5.0 Beta
Download: VTS_MATLAB_v5.0.0Beta.zip
Release Notes
Updated the library to .NET Framework 4.8
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET Framework 4.8 - download here
MATLAB (R2019b and higher)
VTS Version 4.11
VTS Library NuGet Package 4.11
Visit nuget.org for information on our latest NuGet package.
Release Notes
Sources:
- Added circular sources such that the direction of rays are determined by a point or sampling a circle at an elevated height. These are different from DirectionalCircularSource because this source determines angle based on rotation of the principal axis and/or rotation about the inward normal by theta and phi.
- Added line sources such that the direction of rays are determine from sampling a line at an elevated height.
- Fixed bugs found in CylindricalFiber and Tubular sources.
- Fixed SourceFlags in SurfaceEmittingSpherical sources.
Detectors:
- Corrected second moment calculation for total absorbance, ATotalDetector.
- Modified Photon.cs so that Continuous Absorption Weighting can be used to calculate ATotalDetector.
- Added ROfRhoAndMaxDepth, ROfXAndYAndMaxDepth and associated pMCRofRhoAndMaxDepth and pMCROfXAndYAndMaxDepth and unit tests: these detectors take note of the deepest depth a photon attained before exiting detector.
- Added FluenceOfXAndYAndZAndStartingXAndY: this detector determines fluence but takes note of the starting x-y bin the photon started in.
- Added ROfXAndYAndThetaAndPhi: this detector determines reflectance as a function of Cartesian coordinates the exiting direction in theta and phi bins.
- Added ROfRhoRecessed, ROfXAndYRecessed, ROfRhoAndMaxDepthRecessed, ROfXAndYAndMaxDepthRecessed, pMCROfRhoRecessed and pMCROfRhoAndTimeRecessed to tally the photon in air at a specified height above the tissue.
Parallel processing:
- Added new ParallelMonteCarloSimulation class and made major changes to MonteCarloSimulation class to enable parallel processing and unit tests to verify these changes. The major changes included code clean up so that Properties and local variables were named appropriately and overall organization of software is per our coding standards.
- Ensured that the parallel code did not share local variables across multiple threads which would impact results and timing.
- Ported DynamicCreatorMersenneTwister from C to C# to enable selecting subsequences from the original MersenneTwister
VTS MATLAB Package 4.11 Beta
Download: VTS_MATLAB_v4.11.0Beta.zip
Release Notes
- Updated all the NuGet packages
This release contains sample scripts for the following:
- using MATLAB to call the solvers in the VTS Libraries.
- using MATLAB to call the Monte Carlo tools in the VTS Libraries.
These files will only work for MATLAB on Windows.
Requirements:
On Windows: .NET Framework 4.6.1 - download here
MATLAB (R2011b and higher)