Skip to content

Releases: NiftyPET/NIPET

nipet v2.2.0 stable

27 Oct 22:46
Compare
Choose a tag to compare
  • add mmrprj.back_prj(div_sino=None) CUDA convenience
  • add & expose projector sync=True CUDA optimisation
  • add bprj(output=None) convenience (follow-up to #36, part of #33)
  • remove unneeded aw2ali
  • add mmraux.remgaps CuVec support
  • clean .cuvec usages (AMYPAD/CuVec#17)
  • use nimpa.dcm2nii
  • drop PATHTOOLS & REGPATH (#40)
  • support py3.10
  • misc fixes
  • misc tests updates

nipet v2.1.0 stable

30 Sep 15:09
b1c3799
Compare
Choose a tag to compare
  • cmake: allow linking shared libs for external builds
  • cmake: expose NIPET_CU_THREADS=1024
  • cmake: fix multi-arch CUDA support
  • setup: move hardware attenuation maps logic to runtime
  • optimisation: use CuVec forward & back projectors (#36)
  • update logging usage
  • update resources
  • update GIF parcellation file recognition
  • fix memory leaks (#39)
  • fix device ID detection with NInst
  • fix deprecation warnings
  • fix RTX & reduced rings bugs
  • fix & update get_norm()
  • fix span-1 sinogram numbers in scatter and pipe recon
  • fix generating aligned mu-maps when loading existing ones
  • fix np.bool deprecation
  • fix editable installation
  • docs: update examples/demo
  • format: misc tidy & linting
  • major build & test framework updates (#32)
    • automate code formatting & basic bug detection
    • isolate test env
    • separate check & deploy
    • add test runner dependencies
    • update pre-commit hooks
    • cmake: static CUDA lib linking
    • use clang-format

nipet v2.0.0 stable

05 Jan 03:32
d27b3d2
Compare
Choose a tag to compare

Features

  • support Python3.6+ (#15 <- #14)
  • add customisable PSF resolution modelling kernel (#31, #25)
    • support all of: scanner measured, manual Gaussian, and custom separable PSF kernels
  • prevent floating point division errors (#25, #23)
  • improve classify_input
    • add optional directory recursion (#24)
    • basic pathlib support
  • fix & upgrade logging (#9, #5)
    • provide & use new LOG_FORMAT
  • fix & update dependencies
  • fix & update example notebook (#13, #9)
  • fix nonexistent paths (#22)
  • add progressbar (#4)

Installation/build framework

  • support Python3.6+ (#15 <- #14)
    • drop Python 2 compatibility
    • drop py<=3.5 which are unsupported by ninst<-miutil[cuda]<-pynvml and no longer receive security fixes anyway
  • add tests (#29)
    • including helpers for downloading data
    • add cloud testing
    • add coverage reporting
  • fix warnings (#28, #27)
    • update CMake policies & fix Python deprecation warnings
  • improve CUDA code (#28, #27)
    • better error handling
    • de-deuplication
    • better linking
    • fix compiler warnings
    • remove unneeded variables
    • put > stream[%d] messages on one line
    • only create poisson distribution if needed (#19)
  • fix conda install
  • allow non-interactive installation (#17, #9)
    • allow setting PATHTOOLS & HMUDIR from env vars
  • new build framework (#30, #27)
    • cmake/cuda build overhaul
    • move metadata setup.py -> setup.cfg
    • allows pip install nipet on a completely clean system (no numpy, no miutil[cuda], no -e, no --no-binary :all:)
    • replace dinf module => miutil.cuinfo (#26 <- #18)
    • rely on numpy, miutil[cuda], ninst, scikit-build, cmake>=3.18, ninja
      • all auto-installed at setup-time!
      • get rid of cudasetup.py
      • get rid of install_tools.py
      • get rid of resources.py
    • use new CMAKE_CUDA_ARCHITECTURES policy
    • use new project LANGUAGES specification
    • support python setup.py clean
  • basic code tidy (particularly import ordering)
  • update .gitignore, README.rst badges (#9, #4)

nipet v1.1.22 stable

05 Jan 02:17
Compare
Choose a tag to compare

Final v1 (Python2) release