Skip to content

Releases: VirtualPhotonics/VTS

VTS Version 13.0

20 Feb 21:04
424ba6a

Choose a tag to compare

VTS Library NuGet Package 13.0

Visit nuget.org for information on our latest NuGet package.

Release Notes

VTS:

  • Upgraded to .NET 10.0
  • Updated NuGet packages
  • Removed the conditional Benchmark code from the VTS library (Issue #215)

Documentation for the library can be accessed here

VTS MATLAB Package 13.0

Use MATLAB function dotnetenv to switch between environments dotnetenv("core") or dotnetenv("framework") - this package uses core.

To select core, type dotentenv("core",Version="10") in the MATLAB command window before any other command.

Download: VTS_MATLAB_v13.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.

Notes:

  • This version of the MATLAB interoperability works in Windows, Mac and Linux. Prior to MATLAB version 2023a it only worked in the Windows version of MATLAB (see MathWorks). We have verified that this works in Ubuntu with version R2025b, we have yet to verify with Mac.

  • If you do not have the latest version of MATLAB and your version is prior to R2022b, download an older release of the MATLAB package (Version 8.0) and use .NET Framework 4.8.

Requirements:

.NET 10.0 - download here
MATLAB (R2024a and higher)

VTS Version 12.2

01 Oct 00:22
01e5d38

Choose a tag to compare

VTS Library NuGet Package 12.2

Visit nuget.org for information on our latest NuGet package.

Release Notes

VTS:

  • Added option to Power Law Scatterer to enable user-defined lambda0, the normalization wavelength in the power law equation (Issue #197)
  • Updated unit tests to be consistent with NUnit breaking changes (Issue #154)
  • Updated PowerShell script prompt to be more descriptive (Issue #184)

Monte Carlo Code Changes:

  • Generalized implementation of Lambertian sources to provide solutions for Lambertian source of order n=0 for Isotropic, n=1 for Lambertian, n>1 for higher order Lambertian used in LED sources (Issue #182)
  • Fix the build issue for the Monte Carlo Post Processor with the Benchmark configuration (Issue #191)
  • Add warning for infile combination specification of point source that is not positioned at (0,0) and the specification of cylindrical detectors (Issue #193)
  • Corrected bug found in SingleInclusionTissue class that determines refracted direction when photon passes into or out of inclusion region (Issue #202 Thank you user @Stahux!)
  • Corrected bug found in the generation of a Circular Gaussian source (Issue #204 Thank you user @Stahux!)

MATLAB:

  • Updated PowerShell script to create download zip (Issue #180)
  • Corrected vts_solver_demo.m output in inverse solution example (Issue #193)
  • Updated the Short Course Monte Carlo lab MATLAB script to present the fluence and relative error plots on the same colormap with black indicating no tally in that voxel (Issue #201)

Documentation for the library can be accessed here

VTS MATLAB Package 12.2

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.2.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.

Notes:

  • This version of the MATLAB interoperability works in Windows, Mac and Linux. Prior to MATLAB version 2023a it only worked in the Windows version of MATLAB (see MathWorks). We have verified that this works in Ubuntu with version R2025b, we have yet to verify with Mac.

  • If you do not have the latest version of MATLAB and your version is prior to R2022b, download an older release of the MATLAB package (Version 8.0) and use .NET Framework 4.8.

Requirements:

.NET 8.0 - download here
MATLAB (R2023a and higher)

VTS Version 12.0

02 Oct 22:55
01d6bcf

Choose a tag to compare

VTS Library NuGet Package 12.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

31 May 03:25
cdc7b3b

Choose a tag to compare

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

03 Nov 21:14
d8c03ed

Choose a tag to compare

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

28 Jul 23:48

Choose a tag to compare

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

03 Jan 20:01
78e5ef3

Choose a tag to compare

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

29 Aug 18:44
cb9001e

Choose a tag to compare

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

25 May 20:04

Choose a tag to compare

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

07 Dec 03:06

Choose a tag to compare

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)