12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- %% Author: Rodrigo de Barros Vimieiro
- % Date: April, 2018
- % rodrigo.vimieiro@gmail.com
- % =========================================================================
- %{
- % -------------------------------------------------------------------------
- % FBP(proj,filterType,cutoff,filterOrder,parameter)
- % -------------------------------------------------------------------------
- % DESCRIPTION:
- % This function makes the Filtered Backprojection of 2D images,
- % in order to reconstruct a certain number of slices.
- %
- % The geometry is for DBT with half cone-beam. All parameters are set
- % in "ParameterSettings" code.
- %
- % INPUT:
- %
- % - proj = 2D projection images
- % - filterType = Filter type to be used
- % - cutoff = Cut off frequency up to Nyquist
- % - filterOrder = Butterworth filter order
- % - parameter = Parameter of all geometry
- %
- % OUTPUT:
- %
- % - reconData3d{1} = Volume data reconstructed with FBP.
- % - reconData3d{2} = Struct informations like - Filter and Bp Time
- %
- % Reference: Jiang Hsieh's book (second edition)
- % Reference: Fessler, J. A.: Fundamentals of CT Reconstruction in 2D
- % and 3D. In: Brahme, A. (eds.) Comprehensive Biomedical Physics,
- % 1st ed., vol. 2, pp 263-295. Elsevier, Netherlands (2014).
- % doi:10.1016/B978-0-444-53632-7.00212-4.
- % Reference: Fessler Book -> (http://web.eecs.umich.edu/~fessler/book/c-tomo.pdf)
- %
- % -----------------------------------------------------------------------
- % Copyright (C) <2018> <Rodrigo de Barros Vimieiro>
- %
- % This program is free software: you can redistribute it and/or modify
- % it under the terms of the GNU General Public License as published by
- % the Free Software Foundation, either version 3 of the License, or
- % (at your option) any later version.
- %
- % This program is distributed in the hope that it will be useful,
- % but WITHOUT ANY WARRANTY; without even the implied warranty of
- % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- % GNU General Public License for more details.
- %
- % You should have received a copy of the GNU General Public License
- % along with this program. If not, see <http://www.gnu.org/licenses/>.
- %}
- % =========================================================================
- %% Recon Code - Analytical reconstruction: FBP
- function reconData3d = FBP(proj,filterType,cutoff,filterOrder,parameter)
- global showinfo
- info.startDateAndTime = char(datetime('now','Format','MM-dd-yyyy'' ''HH:mm:ss'));
- info.reconMeth = filterType;
- if(showinfo)
- fprintf(' -> FBP... \n')
- end
- if(strcmp(filterType,'FBP'))
- tStart = tic;
- fprintf('Filtering projections ')
- proj = filterProj(proj,parameter,cutoff,filterOrder); % Filter projections
- info.FilterTime = num2str(toc(tStart));
- info.CutOffFreq = num2str(cutoff);
- end
- tStart = tic;
- % Make the Backprojection
- fprintf('\nBack-projecting projections ')
- reconData3d = backprojection(proj,parameter,[]);
- info.BackprojectTime = num2str(toc(tStart));
- % Store only interested slices and ROIs
- fprintf('\nStoring slices...')
- reconData3d = {reconData3d(parameter.iROI,parameter.jROI,parameter.sliceRange)};
- reconData3d{2,1} = info;
- end
|