Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Add C API function for getting mesh bins for rasterized plot by paulromano · Pull Request #2854 · openmc-dev/openmc · GitHub
Skip to content

Add C API function for getting mesh bins for rasterized plot - #2854

Merged
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting
Jan 23, 2024
Merged

Add C API function for getting mesh bins for rasterized plot#2854
paulromano merged 3 commits into
openmc-dev:developfrom
paulromano:mesh-bin-plotting

Conversation

@paulromano

Copy link
Copy Markdown
Contributor

Description

This PR adds a new openmc_mesh_get_plot_bins function and corresponding openmc.lib.Mesh.get_plot_bins Python binding that allows you to determine the mesh bin indices for pixels on a 2D rasterized plot. I'm planning on integrating this into openmc-plotter to generalize our mesh plotting capabilities there. For example, here is a sneak peak of a tet mesh tally visualized in the plotter:
image

Checklist

  • I have performed a self-review of my own code
  • I have run clang-format (version 15) on any C++ source files (if applicable)
  • I have followed the style guidelines for Python source files (if applicable)
  • I have made corresponding changes to the documentation (if applicable)
  • I have added tests that prove my fix is effective or that my feature works (if applicable)

@paulromano

Copy link
Copy Markdown
ContributorAuthor

FYI It looks like there were a bunch of CI test failures related to a new release of scipy. I've limited the range of valid scipy versions to <1.12 to avoid this for now while I look into what's going on with the new version.

@pshriwisepshriwise left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome PR @paulromano! I'll keep an eye on CI. Once that passes, I don't see a reason not to get this merged in soon. 🕵🏻

@paulromano
paulromano merged commit e6a36ff into openmc-dev:developJan 23, 2024
@paulromano
paulromano deleted the mesh-bin-plotting branch January 23, 2024 12:54
@shimwell

Copy link
Copy Markdown
Member

Do we have to update the conda meta.yml to also have this scipy restriction

@paulromano

Copy link
Copy Markdown
ContributorAuthor

@shimwell I'm going to look into what is going wrong with scipy 1.12 and get it fixed before the next release, so we shouldn't need to worry about conda.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@paulromano@shimwell@pshriwise