{"id":26766094,"url":"https://github.com/ucl/petpvc","last_synced_at":"2025-04-15T12:35:59.920Z","repository":{"id":14372219,"uuid":"17082200","full_name":"UCL/PETPVC","owner":"UCL","description":"Partial Volume Correction in PET","archived":false,"fork":false,"pushed_at":"2024-12-10T13:08:11.000Z","size":459,"stargazers_count":58,"open_issues_count":12,"forks_count":15,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-28T20:19:00.852Z","etag":null,"topics":["medical-imaging","partial-volume-correction","pet-mr","positron-emission-tomography","pvc"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UCL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-02-22T09:51:26.000Z","updated_at":"2025-03-28T07:10:34.000Z","dependencies_parsed_at":"2023-01-13T17:54:45.827Z","dependency_job_id":"b4136f3f-5069-4dc9-b7e2-26cbdd24b274","html_url":"https://github.com/UCL/PETPVC","commit_stats":{"total_commits":152,"total_committers":17,"mean_commits":8.941176470588236,"dds":0.7039473684210527,"last_synced_commit":"16de3b892d0bdfb146f5dbfeba2a52432761d33c"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2FPETPVC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2FPETPVC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2FPETPVC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UCL%2FPETPVC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UCL","download_url":"https://codeload.github.com/UCL/PETPVC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249072823,"owners_count":21208253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["medical-imaging","partial-volume-correction","pet-mr","positron-emission-tomography","pvc"],"created_at":"2025-03-28T20:19:06.258Z","updated_at":"2025-04-15T12:35:59.900Z","avatar_url":"https://github.com/UCL.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PETPVC \n[![Build and ctest and recon_test_pack CI](https://github.com/UCL/PETPVC/actions/workflows/build-test.yml/badge.svg)](https://github.com/UCL/PETPVC/actions/workflows/build-test.yml)[![Build Status](https://dev.azure.com/petpvc/petpvc/_apis/build/status/UCL.PETPVC?branchName=master)](https://dev.azure.com/petpvc/petpvc/_build/latest?definitionId=1\u0026branchName=master) [![Build status](https://ci.appveyor.com/api/projects/status/7kk9ua9r0lybinwa/branch/master?svg=true)](https://ci.appveyor.com/project/bathomas/petpvc/branch/master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/ab83c41f20194c2c82fbc74e8788f928)](https://www.codacy.com/app/bathomas/PETPVC?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=UCL/PETPVC\u0026utm_campaign=badger) [![DOI](https://zenodo.org/badge/17082200.svg)](https://zenodo.org/badge/latestdoi/17082200)\n\nPETPVC: toolbox for partial volume correction (PVC) in positron emission tomography (PET)\n\n## Publications\nWhen using this toolbox, please include a reference to the paper:\n- \u003ci\u003ePETPVC: a toolbox for performing partial volume correction techniques in positron emission tomography\u003c/i\u003e\u003cbr/\u003eBA Thomas, V Cuplov, A Bousse, A Mendes, K Thielemans, BF Hutton, K Erlandsson\u003cbr/\u003ePhysics in Medicine and Biology 61 (22), 7975. [DOI](http://dx.doi.org/10.1088/0031-9155/61/22/7975)\n\n---\n## Pre-built binaries\n\nBinaries for Linux, Mac and Windows are provided in the ['Releases' section on Github](https://github.com/UCL/PETPVC/releases). When running the Windows version, you must have installed the ***Visual C++ Redistributable Packages for Visual Studio 2019*** ([link](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)). For 64-bit Windows, you might have to install both ```vcredist_x86.exe``` and ```vcredist_x64.exe```.\n\nAlternatively, PETPVC can also be installed via `conda`, see https://anaconda.org/conda-forge/petpvc.\n\n---\n## Installation from source instructions\n\nThe following are required to build this software:\n\n- [CMake](http://www.cmake.org/)\n\n- [ITK - Segmentation \u0026 Registration Toolkit](http://www.itk.org) \u003e=4.7\n\n- A C++ compiler\n\t\n### Building and installing\n- Ensure that ```ITK``` has been built successfully, with the ```ITKReview``` module (```Module_ITKReview``` in CMake) enabled.\n- Clone this repository\n```bash\ngit clone https://github.com/UCL/PETPVC.git\n```\n- Create a build directory\n```bash\nmkdir BUILD\n```\n- Change to the build directory\n```bash\ncd BUILD\n```\n- Run CMake\n```bash\ncmake /path/to/repository\n```\n- Build and install\n```bash\nmake\nmake test\nmake install\n```\n---\n\n## Usage\n\n### PVC methods\n\nAlthough there are currently executables for every method, it is based to use\n`petpvc` which has options to specify the method and parameters. Type\n`petpvc` without arguments to get a usage message.\n\nAn example of running iterative Yang with a 6mm PSF:\n\n```\n\tpetpvc -i \u003cPET\u003e -m \u003cMASK\u003e -o \u003cOUTPUT\u003e --pvc IY -x 6.0 -y 6.0 -z 6.0 [--debug]\n```\nwhere ```\u003cPET\u003e``` is the PET image file, ```\u003cMASK\u003e``` is the 4-D mask image file and ```\u003cOUTPUT\u003e``` is the destination file for the PV-corrected image.\n\n*Warning*: there are currently 2 options which seem the same:\n- `-n`: specifies the number of iterations for iterative Yang\n- `-k`: specifies the number of iterations for deconvolution methods such as\nVan Cittert and Richardson-Lucy.\n\nTherefore, if you use RL only, you have to use the `-k` option. You can use\nboth options with for instance `IY+RL` to first run iterative Yang followed by\nRichardson-Lucy for extra deconvolution.\n\n### Extras\n\nIn addition, there are some utilities that you might find useful:\n- `pvc_simulate` allows you to blur an image with a Gaussian (e.g. to simulate\nresolution effects)\n- some [mask related tools](parc/README.md)\n\n---\n## Notes on input and output files\nThe applications in this toolbox use ITK image readers and writers and can\ntherefore accept common medical imaging formats such as Nifti, ANALYZE and Nrrd, and raw data with an associated meta-data header ([mhd](http://www.itk.org/Wiki/ITK/MetaIO/Documentation#ITK_MetaIO)) file.\n\nThe tissue classification maps (referred to as mask files) can either be binary or probabilistic. All voxel values in a 3-D volume must be 0 \u003c= x \u003c= 1. The PVC applications expect the mask file to be input as a single 4-D volume, where each 3-D volume consists of a single segmented region. \n\nThe use of 4-D volumes facilitates the use of probabilistic segmentations during the PVC. In addition to the constraint that all voxels must be \u003c= 1,  The sum of a voxel location across the fourth dimension should be \u003c= 1. Ideally it should be 1, which requires the background to be included as a segmented region.\n\n### Special cases where the inputs/outputs are different\n#### Muller-Gartner (MG):\nThe Muller-Gartner correction requires only the grey matter and white\nmatter masks. Technically, the CSF space should be included as a third \nregion, but the contribution of this region is assumed to be zero. The \nMG application still requires a 4-D mask volume, where the first volume is\ngrey matter and the second is white matter. The order is important. The \n4-D mask file can contain more than two 3-D volumes, but these will be \nignored by the MG PVC.\n\n#### Geometric Transfer Matrix (GTM) method:\nGTM cannot produce an image. The output of the GTM is a \ncomma-separated value (CSV) file of regional mean values. The order of the\nmean values for each region is written in the same order as they appear in\nthe fourth dimension of the mask file.\n\n#### Single Target Correction (STC) method:\nThe STC method corrects a single region. The mask image should be a 3-D volume, where each voxel in the target region should be 1. All other voxels should be 0. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucl%2Fpetpvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fucl%2Fpetpvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucl%2Fpetpvc/lists"}