Opened 7 months ago

Last modified 7 months ago

#17094 assigned enhancement

Volume rendering with linear interpolation show cross artifacts

Reported by: ricardorighetto@… Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Volume Data Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Ricardo Righetto sent a ChimeraX image noting vertical and horizontal artifacts that I think are due to the bilinear interpolation. Needs investigating. 3dmod with cubic interpolation does not show those artifacts. This is related ticket #17093.

Attachments (1)

3dmod_chimerax_compare.png (2.2 MB ) - added by Tom Goddard 7 months ago.
Comparison of 3dmod left to chimerax right showing cross artifacts in ChimeraX.

Change History (3)

by Tom Goddard, 7 months ago

Attachment: 3dmod_chimerax_compare.png added

Comparison of 3dmod left to chimerax right showing cross artifacts in ChimeraX.

comment:1 by Tom Goddard, 7 months ago

Reporter: changed from Tom Goddard to ricardorighetto@…

comment:2 by Tom Goddard, 7 months ago

Ricardo asked if using trilinear instead of bilinear interpolation might reduce the artifacts. Here is my reply from the mailing list

https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/message/ODQNUOLW4ZCKCHD5LBG6ZXCCZTKMUJP5/

Hi Ricardo,

Thanks for the detailed investigation and explanation of the 3dmod auto contrast. That would be great to add to ChimeraX. I'll add your info to the ChimeraX ticket. You can reply to the ChimeraX ticket email to add any comments or images. I think you have made it perfectly clear how the auto contrast could work.

I don't think using trilinear interpolation with 2 data planes is a good approach to handle the cross artifacts. First you would need to show 2 planes instead of 1 to get ChimeraX to use trilinear interpolation. For just one plane it will use bilinear and it will give actual planes of the volume, not an interpolation between two neighboring planes. That is important for making the sharpest details visible. If I show two planes I still see the horizontal/vertical/cross artifacts. But that is expected because the default rendering is using a stack of semi-transparent 2d planes with bilinear projection. You can change that to using trilinear projection (uses OpenGL 3D textures) using the "projectionMode 3d" option of the volume command. I tried and the artifacts are still visible. As expected the artifacts are less visible when there are multiple stacked planes shown.

open 1273 from emdb
volume #1 region 0,0,35,2047,2047,36 projectionMode 3d

I have a vague recollection of studying the horizontal/vertical/cross artifacts about 15 years ago (in Chimera) and coming to the conclusion that they were intrinsic to the bilinear method which treats the x and y axes specially and is not rotationally invariant. I do not recall investigating solutions to that problem, but I'm sure solutions exist, though possibly they are too complex or slow for us to implement.

Tom

Note: See TracTickets for help on using tickets.