GithubHelp home page GithubHelp logo

pkarasev3 / kslice Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 10.0 15.03 MB

interactive medical image processing

Shell 0.61% CMake 1.36% C++ 86.82% C 2.46% M 0.03% MATLAB 7.73% Makefile 0.12% TeX 0.88%

kslice's People

Contributors

hjmjohnson avatar ikolesov avatar pkarasev3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kslice's Issues

coupled level sets

need to make the multiple labels push each other, coupled level sets.

save after rotate needs to happen in one other place

@kfritshcer found this

this->ResetRotation(!this->m_RotX,!this->m_RotY,!this->m_RotZ);

in line 215 of KViewer.cpp (SaveAsSegmentation()). So the rotation is reset before saving. However, I think this line should also be added in the SaveSegmentation() method(line 212). Could you add this, please ?

ksegmentor stores integral and U in vector<Mat>, probably breaks when rotating

This doesn't make sense if the volume is rotated! Not sure what will happen with the U terms here ....

U_integral = std::vector< cv::Mat >( num_slices );
U_t = std::vector< cv::Mat >( num_slices );
cout << "I think the # of rows is: " << mdims[0] << ", # of cols is: " << mdims[1] << endl;
for( int k = 0; k < num_slices; k++ )
{ /** per-slice user updates */
U_integral[k] = cv::Mat::zeros( mdims[1], mdims[0], CV_64F );
U_t[k] = cv::Mat::zeros( mdims[1], mdims[0], CV_64F );
}

volume measurements

volume measurements:

  1. use the continuously changing values (non-binary), scale by max while integrating

  2. look for better 3D integrator in general (numerical recipes in c++?)

save label needs to set orientation and transform right

info like below needs to be set from the image; otherwise, doesn't look right on opening in Slicer:

$ head -n 15 ImgCase9_R.mha
ObjectType = Image
NDims = 3
BinaryData = True
BinaryDataByteOrderMSB = False
CompressedData = True
CompressedDataSize = 4132822
TransformMatrix = -1 0 0 0 -1 0 0 0 1
Offset = 76.4062 82.9688 -64.2187
CenterOfRotation = 0 0 0
AnatomicalOrientation = LPI
ElementSpacing = 0.9375 0.9375 0.9375
DimSize = 164 178 138
ElementType = MET_SHORT
ElementDataFile = LOCAL

save uk raw input coord points nicely

save uk raw input coord points nicely. concept: volume stores time of last edit, zeros to initialize. set time in seconds at the point when U generated. Should be useful for displaying {uk} vs U vs volume.

phi initialized "off by one", bug causes contours to always shrink when force is small, d'oh

  • reported from ivan kolesov, @ikolesov3
  • after each "evolve, update display" set of iterations, the label along phi=0 is being set to the outside value instead of something neutral .
  • bad consequence: when the force is small everywhere, zero for example, curve always marches in by 2 voxels.
  • causes the *** "contours vanish really fast!" *** confusing behavior on some images, noticed by @pkarasev3 @kfritscher
  • if force F is big enough, you don't see the problem happening.

add volume ratio computation

add volume ratio computation:

  1. things like physis / metaphysis ratio
  2. relative sizes (extents)

relates to better volume computation / better integration.

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.