pjrec(1)

✨ pjrec(1) β€” the reconstruction bestie ✨

okay so real talk, this is the pjrec page from the Engineering manual, section 1, and it's literally the tool that takes your projection data and ✨manifest✨ your image back into existence. no cap.


🌸 NAME 🌸

pjrec β€” reconstruction from projections. it's giving "put the object back together from its shadows" energy πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

pjrec projection-file image-file nx-image ny-image [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

so here's the vibe: pjrec takes projection data from raysum-fileP and produces an (IF) image file, image-file, that's nx-image by ny-image pixels big, and inside that file is the reconstructed image. that's it. that's the whole girlboss moment. πŸŽ€


✨ OPTIONS ✨

pjrec accepts the following options, and they're all about controlling the reconstruction algorithm. pick your faves 🫢

  • --interp β€” interpolation method during backprojection
    • nearest β€” nearest neighbor interpolation
    • linear β€” linear interpolation
  • --preinterpolate β€” preinterpolation factor (default = 1). bestie, this one is used only with frequency-based filtering, don't come for me
  • --filter β€” filter name
    • abs_bandlimit β€” Abs * Bandlimiting (default)
    • abs_sinc β€” Abs * Sinc
    • abs_cosine β€” Abs * Cosine
    • abs_hamming β€” Abs * Hamming
    • shepp β€” Shepp-Logan
    • bandlimit β€” Bandlimiting
    • sinc β€” Sinc
    • cosine β€” Cosine
    • triangle β€” Triangle
    • hamming β€” Hamming
  • --filter-method β€” filter method before backprojections
    • convolution β€” spatial filtering (default)
    • fourier β€” frequency filtering with discete fourier
    • fourier_table β€” frequency filtering with table lookup fourier
    • fft β€” fast Fourier transform
  • --zeropad n β€” set zeropad level (default = 0). set n to number of powers to two to pad
  • --filter-generation β€” filter generation mode
    • direct β€” use direct filter in spatial or frequency domain (default)
    • inverse_fourier β€” use inverse fourier transform of inverse filter
  • --backproj β€” backprojection method
    • trig β€” trigometric functions at every point
    • table β€” trigometric functions with precalculated table
    • diff β€” difference method
    • diff2 β€” optimized difference method (default)
    • idiff2 β€” optimized difference method with integer math
    • idiff3 β€” highly-optimized difference method with integer math
  • --filter-param β€” alpha level for Hamming filter
  • --trace β€” set tracing to level:
    • none β€” no tracing (default)
    • console β€” text level tracing
  • --verbose β€” turn on verbose mode
  • --debug β€” turn on debug mode
  • --version β€” print version
  • --help β€” print a terse help message

πŸ‘‘ AUTHORS πŸ‘‘

Kevin Rosenberg, M.D. <kevin@ctsim.org>


πŸ’œ HISTORY πŸ’œ

ngl the lore goes deep. CTSim was begun in 1983 using MS-DOS and an EGA display adapter 😭. In 1999 it was ported to GNU/Linux and later ported to Microsoft Windows. vintage icon behavior fr fr.


🌈 SEE ALSO 🌈

ctsim(1) ctsimtext(1) if1(1) if2(1) ifinfo(1) linogram(1) phm2helix(1) phm2if(1) phm2pj(1) pj2if(1) pjHinterp(1) pjinfo(1)


and that's the whole page, bestie πŸŽ€ this one's from the Engineering manual, section 1, signed off by Kevin Rosenberg, and yes it really is called pjrec(1). go reconstruct something iconic πŸ’…βœ¨

πŸ“¦ where this page comes from