This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
auto_slides [2025/10/22 22:58] ali |
auto_slides [2025/10/22 23:16] (current) ali |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| Sharing content is arguably one of the most important applications of digital pathology, if not for the Web in general. | Sharing content is arguably one of the most important applications of digital pathology, if not for the Web in general. | ||
| - | {{:share-new-1.png?400|}} | + | {{:share-new-1.png?200|}} |
| - | PMA.studio allows you to share content in a variety of ways. There is a dedicated group for sharing content on the ribbon: | + | PIMS LS allows you to share content in a variety of ways. There is a dedicated group for sharing content on the ribbon: |
| When you just want to share what you’re currently looking at, chances are that you can get by with one of the quick share buttons: | When you just want to share what you’re currently looking at, chances are that you can get by with one of the quick share buttons: | ||
| Line 16: | Line 16: | ||
| If you want more control over what and how you’re sharing content, you can click on the final “Share” button of the group. You could say that that’s our “universal” share button. | If you want more control over what and how you’re sharing content, you can click on the final “Share” button of the group. You could say that that’s our “universal” share button. | ||
| - | {{:share-new.png?400|}} | + | {{:share-new.png?200|}} |
| It allows for further customization of your share link, including: | It allows for further customization of your share link, including: | ||
| Line 30: | Line 30: | ||
| ===== Share administration ===== | ===== Share administration ===== | ||
| - | We’ve worked hard on making the sharing concept in PMA.studio broadly applicable to a variety of content. We’ve also worked on making it easy to share content. | + | We’ve worked hard on making the sharing concept in PIMS LS broadly applicable to a variety of content. We’ve also worked on making it easy to share content. |
| So with all this sharing going on then, it’s only natural to be asking after a while “wait, what am I actually sharing?”. | So with all this sharing going on then, it’s only natural to be asking after a while “wait, what am I actually sharing?”. | ||
| On the configure tab, in the “Panels” group, you can active the “Shared links panel” | On the configure tab, in the “Panels” group, you can active the “Shared links panel” | ||
| + | |||
| + | {{:toggle_share_panel.png?400|}} | ||
| Once clicked, you get a new panel with an overview of everything you’ve shared so far. | Once clicked, you get a new panel with an overview of everything you’ve shared so far. | ||
| + | |||
| + | {{:shared_links_panel.png?400|}} | ||
| The buttons behind each link allow various operations. | The buttons behind each link allow various operations. | ||
| One application of this is to recycle a share link and re-use as you see fit. | One application of this is to recycle a share link and re-use as you see fit. | ||
| + | |||
| + | {{:recycle_share.png?400|}} | ||
| You can also (temporarily) invalidate links, or delete them altogether. | You can also (temporarily) invalidate links, or delete them altogether. | ||
| Line 48: | Line 54: | ||
| ===== Monitoring ===== | ===== Monitoring ===== | ||
| - | On the back-end of PMA.studio, administrators can get an overview of all created shares across all users. They can also use this view to temporarily suspend or even delete shares. | + | On the back-end of PIMS LS, administrators can get an overview of all created shares across all users. They can also use this view to temporarily suspend or even delete shares. |
| + | |||
| + | {{:monitoring.png?400|}} | ||
| ===== Automation ===== | ===== Automation ===== | ||
| Line 58: | Line 66: | ||
| In order to convince your administration that adding digital pathology to it is a really good idea, you want to upgrade the interface to this: | In order to convince your administration that adding digital pathology to it is a really good idea, you want to upgrade the interface to this: | ||
| - | With PMA.studio, you can now get exactly this effect. | + | With PIMS LS, you can now get exactly this effect. |
| Let’s switch to Jupiter to see how this works: | Let’s switch to Jupiter to see how this works: | ||
| + | |||
| + | {{:jupiter.png?400|}} | ||
| First some homekeeping. We import the pma_python core module, and connect to the PMA.core instance that holds our slide. | First some homekeeping. We import the pma_python core module, and connect to the PMA.core instance that holds our slide. | ||
| Our slide is stored at “cases_eu/breast/06420637F/HE_06420637F0001S.mrxs”. Let’s make sure that the slide exists in that location by requesting its SlideInfo dictionary: | Our slide is stored at “cases_eu/breast/06420637F/HE_06420637F0001S.mrxs”. Let’s make sure that the slide exists in that location by requesting its SlideInfo dictionary: | ||
| + | |||
| + | {{:jupiter1.png?400|}} | ||
| Alternatively, we can also write some exploratory code to get to the right location: | Alternatively, we can also write some exploratory code to get to the right location: | ||
| + | |||
| + | {{:jupiter2.png?400|}} | ||
| ===== The PIMS LS API ===== | ===== The PIMS LS API ===== | ||
| - | Ok, we’ve identified our slide. Now let’s go to the PIMS LS. Unfortunately, PMA.python doesn’t have a studio module yet, so we’ll have to interface with the API directly for the time being. | + | Ok, we’ve identified our slide. Now let’s go to the PIMS LS. Unfortunately, PMA.python doesn’t have a PIMS LS module yet, so we’ll have to interface with the API directly for the time being. |
| The back-end call that we need is /API/Share/CreateLinkForSlide and takes on the following parameters: | The back-end call that we need is /API/Share/CreateLinkForSlide and takes on the following parameters: | ||
| + | |||
| + | {{:pimsls_api.png?400|}} | ||
| We create the URL that invokes the API by hand first. We can do this accordingly: | We create the URL that invokes the API by hand first. We can do this accordingly: | ||
| + | |||
| + | {{:pimsls_api1.png?400|}} | ||
| Never mind that pma._pma_q() method that we use. It’s a fast and easy way for ourselves to properly encode HTTP querystring arguments. You’re free to piggy-back on ours, or use your own preferred method. | Never mind that pma._pma_q() method that we use. It’s a fast and easy way for ourselves to properly encode HTTP querystring arguments. You’re free to piggy-back on ours, or use your own preferred method. | ||
| Line 83: | Line 101: | ||
| The URL by itself doesn’t do anything, but create the share link. So you still need to invoke it. You can do this by either copying the URL to a webbrowser, or by invoking it from Python as well: | The URL by itself doesn’t do anything, but create the share link. So you still need to invoke it. You can do this by either copying the URL to a webbrowser, or by invoking it from Python as well: | ||
| + | |||
| + | {{:pimsls_api2.png?400|}} | ||
| Again: it’s the return result from the URL that you want to distribute to others and not the initial URL. | Again: it’s the return result from the URL that you want to distribute to others and not the initial URL. | ||
| To confirm that it worked, you go back to PIMS LS and check your panel with the share link overview: | To confirm that it worked, you go back to PIMS LS and check your panel with the share link overview: | ||
| + | |||
| + | {{:shared_links_panel1.png?400|}} | ||
| But you can also just pull up the resulting URL in a new browser window: | But you can also just pull up the resulting URL in a new browser window: | ||
| + | |||
| + | {{:shared_links_panel2.png?400|}} | ||
| Yay, it worked! | Yay, it worked! | ||
| Line 102: | Line 126: | ||
| [patient] | [patient] | ||
| - | [case] | + | [case] |
| - | [slides] | + | [slides] |
| | | ||
| - | Say that we want to offer a case-representation of breast cancer patient 06420637F. We use Share/CreateLinkForFolder and point to a folder instead of a slide: | + | Say that we want to offer a case-representation of breast cancer patient 06420637F. We use Share/CreateLinkForFolder and point to a folder instead of a slide: |
| + | |||
| + | {{:automating_folders.png?400|}} | ||
| + | |||
| + | The result again appears on the PIMS LS side. And clicking on it results in a mini-browser interface: | ||
| - | The result again appears on the PMA.studio side. And clicking on it results in a mini-browser interface: | + | {{:automating_folders1.png?400|}} |
| ===== What’s next ===== | ===== What’s next ===== | ||
| - | After PMA.core, we’re starting to provide back-end API calls into PMA.studio as well. Even though as we prefer developers to integrate with PMA.UI directly, there are scenarios where automation through PMA.UI makes sense. When you’re in one of the following scenarios when: | + | After PMA.core, we’re starting to provide back-end API calls into PIMS LS as well. Even though as we prefer developers to integrate with PMA.UI directly, there are scenarios where automation through PMA.UI makes sense. When you’re in one of the following scenarios when: |
| * PIMS LS is your main cockpit interface to work with slide content, but there are a few other routes (like an intranet) through which you want to provide quick access to content, too. | * PIMS LS is your main cockpit interface to work with slide content, but there are a few other routes (like an intranet) through which you want to provide quick access to content, too. | ||
| - | * You have an (AP)LI(M)S, PACS, VNA, or other system and you’re in a PoC phase to add digital pathology capabilities to your own platform, PMA.studio automation may be a quicker route to go than adapting our SDKs. | + | * You have an (AP)LI(M)S, PACS, VNA, or other system and you’re in a PoC phase to add digital pathology capabilities to your own platform, PIMS LS automation may be a quicker route to go than adapting our SDKs. |
| - | Do keep in mind however that we’re providing the PMA.studio back-end mostly for convenience, at least for the time being. There are any number of ways in which you may want to integrate digital pathology in your infrastructure and workflows. For a high level of customization, you’re really going to have to move up to PMA.UI, as well as a back-end counterpart like PMA.python, PMA.php, or PMA.java. | + | Do keep in mind however that we’re providing the PIMS LS back-end mostly for convenience, at least for the time being. There are any number of ways in which you may want to integrate digital pathology in your infrastructure and workflows. For a high level of customization, you’re really going to have to move up to PMA.UI, as well as a back-end counterpart like PMA.python, PMA.php, or PMA.java. |