tomographicimaging / cil Goto Github PK
View Code? Open in Web Editor NEWA versatile python framework for tomographic imaging
Home Page: https://tomographicimaging.github.io/CIL/
License: Apache License 2.0
A versatile python framework for tomographic imaging
Home Page: https://tomographicimaging.github.io/CIL/
License: Apache License 2.0
Data loader.
Return SinogramData and Geometry
Use the code from instrument
As we have many similarities with the CCPPETMR reconstruction framework SIRF (and shared developers).
Let us align more on the naming conventions: see SIRF Developer Guide.
https://github.com/CCPPETMR/SIRF/blob/master/doc/UserGuide.md#basic-classes-
DataSet should be able to save to HDF5
A class hierarchy will be nice to organise similar algorithms together, and common methods and attributes could be inherited from superclass(es).
Build on top of DataSetProcessor
DataSet loader.
Returns DataSet (SinogramData) and Geometry
All the algorithms do iterate up to the specified number of iterations.
there is no stopping rule.
all or any
When going public, if not including support for importing FGP_TV etc from the FISTA/regularizer repo, I suppose we should move the demo_IP from the master branch to a separate (experimental) branch?
Running simple_demo in 59c01d8 causes the error
Traceback (most recent call last):
File "<ipython-input-10-cd664ec232c5>", line 1, in <module>
x_CGLS, it_CGLS, timing_CGLS, criter_CGLS = CGLS(Aop, b, 1000, x_init)
File "..\ccpi\reconstruction\algs.py", line 142, in CGLS
d = A.adjoint(r)
File "..\ccpi\reconstruction\astra_ops.py", line 52, in adjoint
self.bp.setInput(DATA)
File "..\ccpi\framework.py", line 628, in setInput
if self.checkInput(dataset):
File "..\ccpi\astra\astra_processors.py", line 128, in checkInput
if dataset.number_of_dimensions == 3 or dataset.number_of_dimensions == 2:
AttributeError: 'SinogramData' object has no attribute 'number_of_dimensions'
These are needed for Norm1 func and were present in 56bef36
Finish the DataSetProcessor
Create dataset for multichannel data.
Add dimension to the 2/3D DataSets (volume/sinogram) and add energy dimension.
Should be able to restart the CGLS from the last iteration.
Test it
This is useful to remove zingers
SinogramGeometry object
This is complementary to the subset method extracting a single-channel data set from a specific channel of a multi-channel data set.
Move geoms to framework.
Arithmetic operations etc. explicitly (hard coded) produce generic DataSet objects, despite original objects being from specific subclass. This for example means that after running FISTA, the reconstruction is a DataSet and not, as desired, a VolumeData. Perhaps possible to fix by replacing hard coded "DataSet" by "type(self)".
Volume Geometry object
It may be useful to have a DataSetProcessor to calculate the average of a DataSet along an axis and collapse that axis. For instance, when flats and darks are calculated they are a stack of N images.
It may be useful to have a processor that averages the slices out and creates a 2D DataSet out of it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.