GSoC 2025: DX file support for density visualizations #914
Replies: 5 comments 6 replies
-
|
This mostly sounds good. I figure for import though the existing import operator could be expanded to just handled For authoring new style nodes, collaborative node creation is difficult but not impossible. We basically just have to keep a completely linear git history for the nodes file. |
Beta Was this translation helpful? Give feedback.
-
|
Hi @BradyAJohnston , do we need any backward compatibility for the vdb file support? The latest MN code switched to I later had something like to handle the differences: |
Beta Was this translation helpful? Give feedback.
-
|
Hi @BradyAJohnston , another question: MN is currently using For DX files, MDAnalysis is using gridDataFormats library (part of MDAnalysis) to write the I verified that the test map file (
Would it make sense to move to this library (which is already a dependency of MDAnalysis and will exist) so that we have a uniform support for both map files, dx files and all other supported formats? What do you think? |
Beta Was this translation helpful? Give feedback.
-
|
Hi @BradyAJohnston , I added the custom font support as part of the pending changes I already have with annotations: Here are the changes I plan to create a new PR with:
Here is an example of the two new density annotations - this also shows the custom font used for the info (bottom left):
These changes are on top of PR #917 because the annotations need access to the grid object etc. Given that #917 isn't merged yet, should I wait or go ahead with a new PR? There will be merge conflicts because of some changes in common places, hence checking. Thanks |
Beta Was this translation helpful? Give feedback.
-
|
Closing this as changes are as part of PRs #916, #917, #918 and #920 |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @BradyAJohnston and @yuxuanzhuang ,
I want to next get started on the density visualization part outlined in the GSoC 2025 proposal.
MN already has support for a density entity. Today,
mrcfileis being used to read in.mapfiles (either plain or compressed) to create the density object with the corresponding surface / wire density style. This is the only format that is currently supported. Support for OpenDX.dxfiles was prototyped in #438.MDAnalysis supports exporting density results to a
.dxfile as described in the Calculating the solvent density around a protein example of the user guide. The other use case for.dxfiles is what is outlined in #438, where tools like APBS can generate charge densities and export them to a.dxformat.The
bmdaprototype had support for.dxand.vdbfiles. Here are a couple of examples (for both the cases mentioned above) that show the UI controls:The interface allows control of the ISO value (with different possible ranges), separate colors for the positive and negative ISO values (needed for charge densities), ability to slice along a given axis - only +x prototyped there. The prototype considered density as a component - because that is how
nglviewwas adding it for visualization. Because of this, it was tied to the universe - it would get hidden if the universe got hidden, deleted with it, etc - essentially linked to it. This doesn't quite fit in with the MN model because there is a separate entity for densities.To keep this least disruptive, I was thinking of the following approach:
Methodtype called something likeDensity (DX)under MNImporttab.dxfiles and takes the inputs of default iso value, the iso value range, the style type (surface and wire - maybe I'll start with just surface)Style Density ISO SurfaceandStyle Density ISO Wire- similar to the existing ones, but with support for the options mentioned above - like the iso value, the +/- colors, slicing along +/- of x,y,z axes etcMolecular Nodespanel of the 3D viewport by showing the single style node configurations - this will work for both current density stuff as well as the new onesMoleculeand what we added forTrajectoriesas part of GSoC - I will make it similar toMoleculeentityPlease let me know if you have any thoughts on the above and if it's ok to get started as described. Thanks
Beta Was this translation helpful? Give feedback.
All reactions