Coder Social home page Coder Social logo

srf's People

Contributors

bill52547 avatar chengaoyu avatar hong-xiang avatar hongjiangdong avatar twj2417 avatar vince-1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

srf's Issues

Unexpected differences at the first and the last slice in both effmap and image

I tested and showed the first and last z slice of d18, (110x110x15, 2mm).
The last slice illustrated a normal shape (img21) with a cylinder shaped image (img22).
In the first slice, the effmap has some weird part at the bottom (img11). In its image, there are some significant point errors at the bottom-right corner (img12).
This effect can be observed in other perspectives.

col1 effmap, col2 img.
row 1, z slice 1
row 2, z slice 14
row 3, y slice 55
row 4, x slice 55
image

Refactor to use dxl.shape to generate mac

  • unified shape descriptor:
    json <-> dxl.shape object
  • pygate support for shape to mac
  • srf.external using pygate to generate mac from shape
  • rearrange the functions in external which can be reused (e.g. the get_scanner() function).

The reversed image after psf process

There is still an error within the psf process as shown in the figure below.
psf_reverse
The similar result appears only in tor model, so I think the problem is caused by the unmatched permutation between psf operation and ordinary tor "recon" step.
Since the problem does not influence the image quality, it would be left aside and solved later.

Easy Scanner constructor

A convenient constructor for scanners. Currently a typical scanner is construct by:

def make_scanner():
    """
    Create a cylindrical PET scanner.
    """
    config = get_mct_config()
    ring = RingGeometry(config['ring'])
    block = Block(block_size=config['block']['size'],
                  grid=config['block']['grid'])
    name = config['name']
    tof = TOF(res=config['tof']['resolution'], bin=config['tof']['bin'])
    return CylindricalPET(name, ring, block, tof)

It seems not clear/simple enough, better hierarchy design maybe helpful .

AbstractPETScanner might be a better place for interfaces like make_ring_pairs_lors .

Add EfficiencyMap class and InversedEfficiencyMap class

Mixed usage of efficiency map and 1/efficiency map maybe confusing and cost time for debug, we need to extract two different class for this and use multi dispatch to make our algorithms works with both efficiency maps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.