diff --git a/LICENSE.txt b/LICENSE.txt index 02167ed06..07df9b384 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Licensing information for STIR 6.0.0 +Licensing information for STIR 6.2.0 ---------------------------------- See for more info http://stir.sourceforge.net, section Registration. @@ -209,6 +209,7 @@ Explicit list of files that carry the PARAPET license ./src/include/stir/recon_buildblock/BackProjectorByBinUsingInterpolation.h ./src/include/stir/recon_buildblock/SymmetryOperations_PET_CartesianGrid.h ./src/include/stir/recon_buildblock/ProjMatrixElemsForOneBin.h +./src/include/stir/recon_buildblock/distributable.txx ./src/include/stir/recon_buildblock/RelatedBins.h ./src/include/stir/recon_buildblock/RelatedDensels.inl ./src/include/stir/recon_buildblock/ProjMatrixByBin.h @@ -219,6 +220,7 @@ Explicit list of files that carry the PARAPET license ./src/include/stir/CPUTimer.h ./src/include/stir/VoxelsOnCartesianGrid.inl ./src/include/stir/stream.h +./src/include/stir/HigherPrecision.h ./src/include/stir_experimental/phantoms/Utah.h ./src/test/test_ByteOrder.cxx ./src/test/test_VectorWithOffset.cxx diff --git a/documentation/STIR-UsersGuide.tex b/documentation/STIR-UsersGuide.tex index 975d03d00..231d24c7f 100644 --- a/documentation/STIR-UsersGuide.tex +++ b/documentation/STIR-UsersGuide.tex @@ -44,7 +44,7 @@ \\[3cm] \textbf{{\huge User's Guide\\ - Version 6.1}} + Version 6.2}} \end{center} \end{spacing} @@ -1092,17 +1092,18 @@ \subsubsection{ the same idea while still allowing preserving some of the obliqueness. For instance, for a dataset with 9 segments, \textbf{SSRB} can produce a new dataset with only 3 segments. This essentially increases -the axial compression (or \textit{span} in CTI terminology), see the +the axial compression (or \textit{span} in CTI/Siemens terminology), see the \textit{STIR} Glossary on axial compression. In addition, \textbf{SSRB} can introduce extra \textit{mashing} (see the \textit{STIR} Glossary) of the data, -i.e. add views together. +i.e. add views and/or TOF bins together. \textit{Usage:} \cmdline{SSRB output\_filename input\_projdata\_name {\textbackslash} \\ num\_segments\_to\_combine [num\_views\_to\_combine {\textbackslash}\\ -{[}do\_normalisation [max\_in\_segment\_num\_to\_process ]]]} +{[}do\_normalisation [max\_in\_segment\_num\_to\_process {\textbackslash}\\ +{[}num\_tof\_bins\_to\_combine ]]]]} or \cmdline{SSRB --template template\_filename output\_filename input\_projdata\_name [do\_normalisation]} @@ -1116,8 +1117,8 @@ \subsubsection{ the result is normalised, i.e. divided by \textit{num\_segments\_to\_combine*num\_views\_to\_combine}. This is appropriate for rebinning data where normalisation has already been applied, but inappropriate otherwise. - -\item[template\_filename] inicated by the \textit{--template} flag, +\item[num\_tof\_bins\_to\_combine] defaults to 1, so TOF bins are not combined. +\item[template\_filename] indicated by the \textit{--template} flag, is the sinogram type that the \textit{input\_projdata\_name} will be mapped to. This allows for the effective use of \textit{num\_segments\_to\_combine} to be an even number, @@ -4446,6 +4447,12 @@ \subsubsection{ END Relative Difference Prior Parameters:= \end{verbatim} + Note that if you have the \em{CUDA} drivers (and toolkit when building), setting + \begin{verbatim} + prior type := Cuda Relative Difference Prior + \end{verbatim} + will enable a \em{CUDA} implementation (with some restrictions). Other parameter + settings are identical. { \subsubsubsection{Logcosh} \label{sec:priors:Logcosh} } diff --git a/documentation/STIR-developers-overview.tex b/documentation/STIR-developers-overview.tex index 9297a938a..4fc9a146e 100644 --- a/documentation/STIR-developers-overview.tex +++ b/documentation/STIR-developers-overview.tex @@ -16,7 +16,7 @@ \textbf{{\huge STIR \\ Overview for developers}}\\ \textbf{Kris Thielemans}\\ -\textbf{\textit{version 6.0}} +\textbf{\textit{version 6.2}} \end{center} @@ -60,8 +60,8 @@ \section{ doxygen on the source files that come in the STIR distribution). \subsection{Language support} -STIR is written in C++ and currently requires C++-14, but it is compatible with newer versions of the C++ standard. -We will enforce C++-16 from STIR 6.2. +STIR is written in C++ and currently requires C++-17, but it is compatible with newer versions of the C++ standard. +We will enforce C++-20 from STIR 7.0 (possibly earlier). Python and MATLAB support is provided via \R2Lurl{http://www.swig.org/}{SWIG}. This means that Python/MATLAB interfaces follow the C++ classes closely, although some differences are required as these languages do not support templates for instance. @@ -392,7 +392,7 @@ \subsection{ with info on the file and line number where the assertion failed. \subsection{C++ conventions} -STIR uses C++-14 and is compatible with C++-20 to the best of our knowledge. +STIR uses C++-17 and is compatible with C++-20 to the best of our knowledge. For legacy reasons, we have some preprocessor macros (see \textit{stir/common.h}) to define the stir namespace (see below). These should disappear at a @@ -622,6 +622,12 @@ \subsubsection{typedefs} }; \end{verbatim} +\section{CUDA support} +STIR 6.2 introduced first versions of some CUDA code. The include file +\texttt{cuda\_utilities.h} contains some helpers classes to copy +arrays to/from the device. This is still work-in-progress as objects +cannot remain on the device. + \section{ Overview of classes} diff --git a/documentation/STIR-glossary.tex b/documentation/STIR-glossary.tex index b4786d0d7..e51268975 100644 --- a/documentation/STIR-glossary.tex +++ b/documentation/STIR-glossary.tex @@ -14,7 +14,7 @@ \end{center} \begin{center} -\textit{Version 6.0}\\ +\textit{Version 6.2}\\ Originally based on PARAPET Deliverable 4.1, Extended for Quantitative Reconstruction and motion compensation @@ -207,7 +207,7 @@ \section*{Different (lossy) data compressions used} by the scanner (in list-mode) over the actual number of TOF bins. Currently in STIR, this ratio has to be an integer. The size of a TOF bin is computed by multiplying the \textbf{TOF mashing factor} with the \textbf{size of unmashed TOF time bins}, with the latter -defined as a scanner property.\\ +defined as a scanner property. \texttt{SSRB} can be used to increase the TOF mashing factor.\\ Note that many PET scanners use a \textbf{TOF mashing factor} greater than 1 for their standard histogrammed projection data. diff --git a/documentation/history.htm b/documentation/history.htm index 9204d41f3..1f1203148 100644 --- a/documentation/history.htm +++ b/documentation/history.htm @@ -11,6 +11,7 @@

History of public releases of the STIR software

The following links give you a summary what has changed. However, the ChangeLog is the definite (but tedious) information. @@ -70,7 +68,7 @@

Changed functionality

(see issue #1280.
WARNING:This potentially changes your scatter estimates. (You can check log files of the scatter estimation to see what the scaling factors are.) However, - the Siemens mMR example files already lowered the default scale factor to .1, so if you used + the Siemens mMR example files already lowered the default scale factor to .1, so if you use(d) those, you will get identical results.
  • @@ -94,10 +92,10 @@

    Changed functionality

  • SPECT_dicom_to_interfile improvements:

    Build system

    -

    Known problems

    @@ -175,7 +182,7 @@

    Other code changes

    Fixed an incompatibility with C++20.
  • - Enabled OpenMP for Array members find_max(), find_min(), sum(), sum_positivie(). + Enabled OpenMP for Array members find_max(), find_min(), sum(), sum_positive().
    PR #1449.
  • @@ -184,18 +191,6 @@

    Other code changes

    -

    Build system

    - -

    Test changes

    C++ tests

    @@ -210,8 +205,8 @@

    C++ tests

    recon_test_pack