Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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" + '
First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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('^' + ".*" + ' First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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('^' + ".*" + ' First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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" + ' First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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('^' + ".*" + ' First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle
, '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); } })(); })(); First poc by almarklein · Pull Request #2 · plotly/dash-slicer · GitHub
Skip to content

First poc - #2

Merged
almarklein merged 11 commits into
mainfrom
first-poc
Oct 29, 2020
Merged

First poc#2
almarklein merged 11 commits into
mainfrom
first-poc

Conversation

@almarklein

@almarkleinalmarklein commented Oct 29, 2020

Copy link
Copy Markdown
Collaborator

Screenshot of the slicer_with_3_views.py exampe:
afbeelding

Comment threaddash_3d_viewer/slicer.py
@emmanuelle

emmanuelle commented Oct 29, 2020

Copy link
Copy Markdown
Contributor

Really cool! I'll read at least some of the code before our meeting this afternoon. Could you please add a minimal setup.py so that we can install the package locally to run the examples? (unless there is another preferred workflow)

@emmanuelle

Copy link
Copy Markdown
Contributor

@nicolaskruchten 👀

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Could you please add a minimal setup.py

Will do. Though if you run python examples/xxxx.py from the root, it should also work, I think.

@almarklein

Copy link
Copy Markdown
CollaboratorAuthor

Though if you run python examples/xxxx.py from the root, it should also work, I think.

Nope, the current dir is only in PYTHONPATH when running interactively. Anyway, setup.py is added, so you can do e.g. pip install -e .

Comment threaddash_3d_viewer/utils.py
zeroline=False,
)
# Add an empty layout image that we can populate from JS.
fig.add_layout_image(

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.

I know we sent you code where the image was added as a layout image but the more "modern" way of doing this is to use an Image trace like in https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L68 and https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-covid-xray/app.py#L418. This way you can get hover and click events on image pixels, which is not the case with a layout image

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I saw that the two examples used different methods, and I assumed that layout images where easier, but will change this :) I think I'll do that in a new PR. Are there any other differences? E.g. I saw that with layout images one can create a stack of them and use alpha blending to overlay e.g. segmentation results. Is that possible with image traces as well?

@almarkleinalmarklein mentioned this pull request Oct 29, 2020
Closed
16 tasks
@almarklein
almarklein merged commit 56b173e into mainOct 29, 2020
@almarklein
almarklein deleted the first-poc branch October 29, 2020 16:14
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.

2 participants

@almarklein@emmanuelle