X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fir.h;h=e1661dbf42f0e90f4d0ac3574356675f4849ad1a;hp=7da06ffd46b6da0e7060aedef91bd4d37cd98f0f;hb=7438260c07e4f3d71c7f43669678c3a912682e4c;hpb=c7b8cd29c1e15bd5a95bff829772da2af1989fe5 diff --git a/include/ir.h b/include/ir.h index 7da06ff..e1661db 100644 --- a/include/ir.h +++ b/include/ir.h @@ -2,8 +2,11 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ir.h,v 1.22 2000/06/07 07:43:39 kevin Exp $ +** $Id: ir.h,v 1.23 2000/06/07 10:12:09 kevin Exp $ ** $Log: ir.h,v $ +** Revision 1.23 2000/06/07 10:12:09 kevin +** Upgraded from MPI to MPI++ +** ** Revision 1.22 2000/06/07 07:43:39 kevin ** *** empty log message *** ** @@ -352,17 +355,17 @@ const static int RAYSUM_TRACE_ROW_ATTEN=18; extern "C" { #endif /* __cplusplus */ -#ifdef MPI_CT -#define MPI_MAX_PROCESS 128 +#ifdef HAVE_MPI +#define CT_MPI_MAX_PROCESS 128 struct mpi_ct_st { int my_rank; int nproc; int base_local_work_units; int remainder_work_units; - int local_work_units[MPI_MAX_PROCESS]; - int start_work_unit[MPI_MAX_PROCESS]; - MPI_Comm comm; + int local_work_units [CT_MPI_MAX_PROCESS]; + int start_work_unit [CT_MPI_MAX_PROCESS]; + MPI::Intracomm comm; }; extern struct mpi_ct_st mpi_ct; @@ -370,25 +373,22 @@ void mpi_ct_calc_work_units(const unsigned int global_work_units); #endif -/* bspline.c */ -int bspline(int samples, int zoom_factor, int spline_order, double input[], double output[]); - /* convolve.c */ -double convolve(const double f1[], const double f2[], const double dx, const int n, const int np, const FunctionSymmetry func_type); -double convolve_both(const double f1[], const double f2[], const double dx, const int n, const int np); +double convolve (const double f1[], const double f2[], const double dx, const int n, const int np, const FunctionSymmetry func_type); +double convolve_both (const double f1[], const double f2[], const double dx, const int n, const int np); /* dialogs.c */ -int phm_add_pelm_kb(PHANTOM *phm); -PHANTOM *phm_select(void); -int interpolation_select(void); -int filter_select(double *filter_param); +int phm_add_pelm_kb (PHANTOM *phm); +PHANTOM *phm_select (void); +int interpolation_select (void); +int filter_select (double *filter_param); /* filter.c */ -double *filter_generate(const FilterType filt_type, double bw, double xmin, double xmax, int n, double param, const DomainType domain, int numint); -double filter_spatial_response_calc(int filt_type, double x, double bw, double param, int n); -double filter_spatial_response_analytic(int filt_type, double x, double bw, double param); -double filter_frequency_response(int filt_type, double u, double bw, double param); -double sinc(double x, double mult); +double *filter_generate (const FilterType filt_type, double bw, double xmin, double xmax, int n, double param, const DomainType domain, int numint); +double filter_spatial_response_calc (int filt_type, double x, double bw, double param, int n); +double filter_spatial_response_analytic (int filt_type, double x, double bw, double param); +double filter_frequency_response (int filt_type, double u, double bw, double param); +double sinc (double x, double mult); double integral_abscos(double u, double w); /* options.c */ @@ -439,7 +439,7 @@ int pelm_clip_line (const PELM *pelm, double *x1, double *y1, double *x2, double void raysum_trace_show_param (const char *label, const char *fmt, int row, int color, ...); /* scanner.c */ -DETECTOR *detector_create(const PHANTOM *phm, int geometry, int ndet, int nview, int nsample, const double rot_anglen); +DETECTOR *detector_create(const PHANTOM *phm, const ScannerGeometry geometry, int ndet, int nview, int nsample, const double rot_anglen); void detector_free(DETECTOR *det); /* rayio.c */