Skip to content

Commit

Permalink
Merge pull request #1372 from KrisThielemans/6.0.0-final-prep
Browse files Browse the repository at this point in the history
6.0.0 final preparation
  • Loading branch information
KrisThielemans authored Feb 7, 2024
2 parents 1fec2bf + fa06c2c commit 41cf3d9
Show file tree
Hide file tree
Showing 21 changed files with 137 additions and 293 deletions.
95 changes: 49 additions & 46 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,47 @@ message: >-
metadata from this file.
type: software
authors:
- family-names: Mustafovic
given-names: Sanida
affiliation: Imperial College London (UK)
- family-names: Efthimiou
given-names: Nikos
orcid: 'https://orcid.org/0000-0003-1947-5033'
- family-names: Mustafovic
given-names: Sanida
affiliation: Imperial College London (UK)
- family-names: Brown
given-names: Richard
orcid: 'https://orcid.org/0000-0001-6989-9200'
affiliation: University College London
- family-names: Twyman Skelly
given-names: Robert
affiliation: University College London and Prescient Imaging
- family-names: Tsoumpas
given-names: Charalampos
- family-names: Deidda
given-names: Daniel
orcid: 'https://orcid.org/0000-0002-2766-4339'
affiliation: National Physics Laboratory (UK)
- family-names: Tsoumpas
given-names: Charalampos
- family-names: Falcon
given-names: Carles
- family-names: Borgeaud
given-names: Tim
affiliation: Hammersmith Imanet Ltd
- family-names: Khateri
given-names: Parisa
affiliation: ETH Zuerich
- family-names: Jehl
given-names: Markus
affiliation: Positrigo
- family-names: Wadhwa
given-names: Palak
affiliation: University of Leeds (UK)
- family-names: Strugari
given-names: Matthew
affiliation: Dalhousie University (Canada)
- family-names: Khateri
given-names: Parisa
affiliation: ETH Zuerich
- family-names: Beisel
given-names: Tobias
- family-names: Wadhwa
given-names: Palak
affiliation: University of Leeds (UK)
- family-names: Borgeaud
given-names: Tim
affiliation: Hammersmith Imanet Ltd
- family-names: Emond
given-names: Elise
affiliation: University College London
- family-names: Jacobson
given-names: Matthew
- family-names: Gillman
Expand All @@ -57,26 +60,24 @@ authors:
- family-names: Zverovich
given-names: Alexey
affiliation: Brunel University (UK)
- family-names: Emond
given-names: Elise
affiliation: University College London
- family-names: Biguri
given-names: Ander
orcid: 'https://orcid.org/0000-0002-2636-3032'
affiliation: University College London
- family-names: Fuster Marti
given-names: Berta
affiliation: University of Barcelona (Spain)
- family-names: Labbe
given-names: Claire
- family-names: Biguri
given-names: Ander
orcid: 'https://orcid.org/0000-0002-2636-3032'
affiliation: University College London
- family-names: Fischer
given-names: Jannis
orcid: 'https://orcid.org/0000-0002-8329-0220'
- family-names: Roethlisberger
given-names: Michael
affiliation: ETH Zuerich
- family-names: Aguiar
given-names: Pablo
- family-names: Bertolli
given-names: Ottavia
affiliation: University College London
- family-names: Brusaferri
given-names: Ludovica
affiliation: University College London
Expand All @@ -88,35 +89,34 @@ authors:
given-names: Benjamin
orcid: 'https://orcid.org/0000-0002-9784-1177'
affiliation: University College London
- family-names: Bertolli
given-names: Ottavia
affiliation: University College London
- family-names: Aguiar
given-names: Pablo
- family-names: Niknejad
given-names: Tahereh
- family-names: Dikaios
given-names: Nikos
- family-names: Sadki
given-names: Mustapha
affiliation: Brunel University (UK)
- family-names: Fardell
given-names: Gemma
orcid: 'https://orcid.org/0000-0003-2388-5211'
affiliation: UK Research & Innovation
- family-names: Schmidtlein
given-names: C Ross
- family-names: Kerrouche
given-names: Nacer
affiliation: Hammersmith Imanet Ltd
- family-names: Ovtchinnikov
given-names: Evgueni
orcid: 'https://orcid.org/0000-0002-9359-6514'
- family-names: Dikaios
given-names: Nikos
- family-names: Fardell
given-names: Gemma
orcid: 'https://orcid.org/0000-0003-2388-5211'
affiliation: UK Research & Innovation
- family-names: Ehrhardt
given-names: Matthias J.
orcid: 'https://orcid.org/0000-0001-8523-353X'
- family-names: Schmidtlein
given-names: C Ross
- family-names: Valente
given-names: Patrick
affiliation: Brunel University (UK)
- family-names: Ovtchinnikov
given-names: Evgueni
orcid: 'https://orcid.org/0000-0002-9359-6514'
affiliation: UK Research & Innovation
- family-names: Schramm
given-names: Georg
affiliation: Katholieke Universiteit Leuven (Belgium)
Expand All @@ -127,6 +127,9 @@ authors:
- family-names: Belluzzo
given-names: Damiano
affiliation: Hospedale San Raffaele Milano (Italy)
- family-names: Jurjew
given-names: Nicole
affiliation: University College London
- family-names: Ching
given-names: Daniel
- family-names: Hague
Expand All @@ -137,24 +140,24 @@ authors:
affiliation: University of Leeds (UK)
- family-names: Chen
given-names: Gefei
- family-names: Dao
given-names: Viet Anh
affiliation: University of Leeds (UK)
- family-names: Mikhaylova
given-names: Ekaterina
affiliation: Positrigo
- family-names: Porter
given-names: Sam David
affiliation: University College London, National Physics Laboratory (UK)
- family-names: Mikhaylova
given-names: Ekaterina
affiliation: Positrigo
- family-names: Dao
given-names: Viet Anh
affiliation: University of Leeds (UK)
- family-names: da Costa-Luis
given-names: Casper O.
orcid: 'https://orcid.org/0000-0002-7211-1557'
- family-names: Rashidnasab
given-names: Alaleh
affiliation: University College London
- family-names: Whitehead
given-names: Alexander C.
affiliation: University College London
- family-names: Rashidnasab
given-names: Alaleh
affiliation: University College London
- family-names: Gillen
given-names: Rebecca
affiliation: University College London
Expand Down
19 changes: 13 additions & 6 deletions documentation/STIR-UsersGuide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
\\[3cm]

\textbf{{\huge User's Guide\\
Version 5.2}}
Version 6.0}}
\end{center}

\end{spacing}
Expand Down Expand Up @@ -1466,6 +1466,10 @@ \subsubsection{
\texttt{boost::format} is used, so the pattern can be more flexible.} to allow
constructing different filenames for each subset.

\item[use time-of-flight sensitivities]
Defaults to 0, i.e. off. By default, the sensitivity calculation will be non-TOF. However,
this fails when using a TOF proj-data, as used by Siemens for the Vision 600 etc. In this case,
you will need to set this parameter to 1.

\item[Projector pair type]
Specifies the back/forward projector pair to be used in the reconstruction.
Expand Down Expand Up @@ -5714,25 +5718,28 @@ \section{Using STIR in an external C++ project
\label{sec:ExternalProjectC++}}
STIR exports its CMake settings. Therefore, an external project can do
\begin{verbatim}
find_package(STIR 5.2 CONFIG)
find_package(STIR 6.0 REQUIRED CONFIG)
add_library(my_lib file1.cxx file2.cxx)
# my_lib uses STIR functionality
target_link_libraries(my_lib PUBLIC ${STIR_LIBRARIES})
add_executable(my_exe my_exe.cxx ${STIR_REGISTRIES})
target_link_libraries(my_exe PUBLIC my_lib)
target_link_libraries(my_exe PUBLIC my_lib))
\end{verbatim}
In addition, if your CMake is older than 3.12, you need to add
\begin{verbatim}
include_directories("${STIR_INCLUDE_DIRS}")
\end{verbatim}
to your CMake file to get the source code files listed in \texttt{STIR\_REGISTRIES} to compile.
For more recent CMake, this should not be necessary (as \texttt{STIR\_REGISTRIES} is set to
to your CMakeLists.txt file to get the source code files listed in \texttt{STIR\_REGISTRIES} to compile.
(For more recent CMake, this should not be necessary (as \texttt{STIR\_REGISTRIES} is set to
a list of compiled files).

A fully working example is provided in the \texttt{examples/C++} folder, see also the
\url{https://github.com/UCL/STIR/tree/master/examples/C\%2B\%2B/using_installed_STIR}{using\_installed\_STIR folder on GitHub}.

Note that if CMake did not find the STIR files, you can point it to where they are installed.
For example, if you installed STIR with
\texttt{CMAKE\_INSTALL\_PREFIX=\$HOME/install}, set
\texttt{STIR\_DIR=\$HOME/install/lib/cmake}.
\texttt{CMAKE\_PREFIX\_PATH=\$HOME/install} or \texttt{STIR\_DIR=\$HOME/install/lib/cmake/STIR-6.0}.
\footnote{This uses CMake Config mode for \texttt{find\_package}. There is no need for a \texttt{FindSTIR.cmake}}

\section{
Expand Down
16 changes: 8 additions & 8 deletions documentation/STIR-developers-overview.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
\textbf{{\huge STIR \\
Overview for developers}}\\
\textbf{Kris Thielemans}\\
\textbf{\textit{version 5.2}}
\textbf{\textit{version 6.0}}

\end{center}

Expand Down Expand Up @@ -274,7 +274,7 @@ \subsection{
Pointers to an object called \textit{something\_ptr}. Currently there
is no naming distinction between shared pointers etc. This is
probably a bad idea. For new code, we recommend to use \textit{something\_sptr}
for shared pointers, and \textit{something\_aptr} for auto\_ptrs (see
for shared pointers, and \textit{something\_uptr} for unique\_ptrs (see
section \ref{sect:sharedptr}).
\end{itemize}

Expand Down Expand Up @@ -314,7 +314,7 @@ \subsection{
hence unnecessary rebuilds when modifying one \textit{.h} file), we
avoid including \textit{.h} files for 'supporting' classes as much
as possible. Instead, we only declare the classes needed, e.g. \textit{class
Bin;} instead of \textit{\#include stir/Bin.h.}
Bin;} instead of \textit{\#include ``stir/Bin.h''.}



Expand Down Expand Up @@ -394,8 +394,8 @@ \subsection{
\subsection{C++ conventions}
STIR uses C++-14 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}) that were used isolate work-arounds for older
compilers. Ideally, all these \#ifdefs should disappear at a
macros (see \textit{stir/common.h}) to define the stir namespace (see below).
These should disappear at a
later development stage of the library.

We use \texttt{override} for virtual functions in derived classes. This is clearer,
Expand Down Expand Up @@ -524,7 +524,7 @@ \subsubsection{
generally use \texttt{shared\_ptr} instead. This is somewhat unfortunate
as these two smart pointers are generally quite different concepts.

\texttt{shared\_ptr} is a wrapper around the \texttt{std} (or boost\footnote{Boost smart pointer are probably no longer supported, and will no longer be from STIR 6.0.}) smart pointer class which
\texttt{shared\_ptr} is a wrapper around the \texttt{std} (or boost\footnote{Boost smart pointer are probably no longer supported, and will no longer be from STIR 6.1.}) smart pointer class which
is suitable when there are (potentially) more than one pointer
pointing to the same object. It keeps a reference count such
that the object is (only) deleted when the last shared pointer
Expand Down Expand Up @@ -561,10 +561,10 @@ \subsubsection{

We provide the convenience function \textit{stir::is\_null\_ptr()}
to test if a pointer is `null', i.e. does not point to anything. \textit{is\_null\_ptr}
works with ordinary pointers, shared\_ptrs and auto\_ptrs. Use
works with ordinary pointers, shared\_ptrs and unique\_ptrs. Use
it to avoid that your code depends on what type of (smart) pointer
you are using. Note however that since C++-11, it is more convenient to use the
automatic converstion to \texttt{bool}.
automatic conversion to \texttt{bool}.

\subsection{Generic functionality of STIR classes}
This is a (very incomplete) section describing some functionality that
Expand Down
11 changes: 6 additions & 5 deletions documentation/STIR-general-overview.tex
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
\textbf{{\huge STIR \\
General Overview}}\\
\textbf{Kris Thielemans}\\
\textbf{\textit{version 5.2}}
\textbf{\textit{version 6.0}}


\end{spacing}
Expand Down Expand Up @@ -90,7 +90,7 @@ \section{
processors, but also on massively parallel computers, or on clusters
of workstations. \\
STIR is portable on all systems supporting the GNU C++ compiler, CLang++, Intel C++,
or MS Visual C++ (or hopefully any C++-11 compliant compiler).
or MS Visual C++ (or hopefully any C++-14 compliant compiler).
The library is fully documented.\\
The object-oriented features make this library very modular and
flexible. This means that it is relatively easy to add new algorithms,
Expand Down Expand Up @@ -273,8 +273,9 @@ \subsection{
for small weights of the prior term, however becomes unstable
for larger values.

As prior we currently only distribute the ``quadratic penalty'', i.e. a
Gibbs prior with a qudratic potential function, and a generalisation of the
As prior we currently distribute the ``quadratic penalty'', i.e. a
Gibbs prior with a qudratic potential function, the more edge-preserving
``log-cosh penalty'', the ``relative difference prior'' and a generalisation of the
Median Root prior (MRP) [Ale97]. In the MRP case, the assumption
is that the desired image is locally monotonic, and that the
most probable value of the pixel is close to the local median.
Expand Down Expand Up @@ -310,7 +311,7 @@ \subsection{Other}
With respect to dynamic and gated imaging
techniques, we have direct estimation of Patlak
parameters [Tso08] (using Parametric OSMAPOSL or OSSPS).
We plan to release motion compensated image reconstruction [Thi06] as
We include motion compensated image reconstruction as
implemented by Tsoumpas et al [Tso11].

\section{
Expand Down
Loading

0 comments on commit 41cf3d9

Please sign in to comment.