-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rendering): 16 bit texture support with flag #420
feat(rendering): 16 bit texture support with flag #420
Conversation
✅ Deploy Preview for cornerstone-3d-docs ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
f550c36
to
357970b
Compare
pending vtk 26.4.0 |
357970b
to
4c86d35
Compare
@sedghi ready for review |
4c86d35
to
c9df864
Compare
packages/streaming-image-volume-loader/src/helpers/scaleArray.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Thanks, it is getting there
packages/streaming-image-volume-loader/src/StreamingImageVolume.ts
Outdated
Show resolved
Hide resolved
packages/streaming-image-volume-loader/src/cornerstoneStreamingImageVolumeLoader.ts
Outdated
Show resolved
Hide resolved
packages/core/src/index.ts
Outdated
// init | ||
init, | ||
hasNorm16TextureSupport, | ||
hasActiveWebGLContext, | ||
isCornerstoneInitialized, | ||
// configs | ||
getConfiguration, | ||
setPreferSizeOverAccuracy, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are getting out of hand, can we put them under the configUtils?
packages/core/src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js
Outdated
Show resolved
Hide resolved
c9df864
to
03d8490
Compare
Adds 16 bit texture support to cornerstone3D - CSWIL will decide on array type to match native storage format. In the case native format is unsigned int, if the scaling params are negative, prescale = true will return back a signed int. - Streaming Volume does require the array buffer type to be predetermined (targetBuffer must be specified). This is because all incoming slices need to adhere to one data type. - Block Height is set to 1 in the case norm16 is used due to this chromium bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1408247. In the case preferSizeOverAccuracy is used block height for texture transfers can be calculated as usual. TODO: - CSWIL needs to implement scaling logic. When a buffer type is not provided native is used (using signed versions of array buffers in the case scale is negative). When a buffer type is provided scaling will occur with possible over/underflows. Co-authored-by: sedghi <ar.sedghi@gmail.com>
c0fe82d
to
0833bf6
Compare
@sedghi the above is ready for review with previous comments addressed. Let me know what you think! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Thanks as always
Adds 16 bit texture support to cornerstone3D
External PR (cornerstonejs/cornerstoneWADOImageLoader#509):