How to distinguish stack DICOM images from overview image? - dicom

I have a stack of DICOM coronal images where I have used the Image Position (Patient)(0020,0032) tag to sort the images in correct order.
However, the stack also contains an "overview" image showing how the coronal slices where generated from an axial stack - see attachment.
Obviously I want to automatically skip this overview image when sorting the stack - does anyone know how to utilize DICOM tags (which?) to distinguish this one from the rest of the stack?

Sorting on Image Position (Patient)(0020,0032) seems correct.
Sorting on other tags like:
(0008,0012) Instance Creation Date and (0008,0013) Instance Creation Time
(0008,0022) Acquisition Date and (0008,0032) Acquisition Time
may not work. Technician may acquire intermediate images afterward if missing in earlier scan sequence.
(0020,0012) Acquisition Number and (0020,0013) Instance Number may not work for same reason.
So, tag you choose for sorting looks correct.
Now, images you are interested in are "AXIAL" and you want to skip "OVERVIEW" images from stacking.
Well, I am not sure if "OVERVIEW" is correct term. Do you mean Topogram/Scout/Scanogram/Localizer/Patient Protocol or something? Anyway, we will continue with your term.
Check the (0008,0008) Image Type attribute. For "AXIAL" images, it should contain value "AXIAL" generally at third position. Something like following:
ORIGINAL\PRIMARY\AXIAL
OR
DERIVED\SECONDARY\AXIAL
For "OVERVIEW" images, this either will not present or it will be different ("LOCALIZER" most probably assuming CT Image).
Please note that only first two values are mandatory. Values beyond that are optional.
Reference:
ftp://dicom.nema.org/MEDICAL/dicom/2016a/output/chtml/part03/sect_C.7.6.html#sect_C.7.6.1.1.2
https://dicom.innolitics.com/ciods/ct-image/ct-image/00080008
ftp://dicom.nema.org/MEDICAL/dicom/2016a/output/chtml/part03/sect_C.8.16.html#table_C.8-129

Another option which might be more reliable than the Image Type attribute is to check the Image Orientation Patient (0020,0037) since the localizers are usually perpendicular to the stack they are referencing.

Related

Here api not showing any data in /places/v1/dicover/here for specific lat long

I am using here map api for getting nearby places but it is giving blank data (/places/v1/descover/here). While in /descover/explore/ it is giving so many records on same lat long. I am sharing screenshot for better understanding, Visit https://www.awesomescreenshot.com/image/3804672/65583a3e4f228ade754feba101ef26eb.
This depends on the use case you have.
The Here entrypoint helps users to identify direct places at their location or at a point selected on a map by returning places close to a given point, sorted by distance. (Normally the closest known places are returned, but if the uncertainty in the position is high then some nearer places are excluded from the result in favour of more popular places in the area of uncertainty.)
Then again the Explore entrypoint retrieves a complete list of relevant places nearby a given position or area. It answers the question "What interesting places are in the viewport of the map?" The results presented to the user are confined to those located in the current map view or search area and are ordered by popularity.
In general I would recommend to use the Explore entrypoint as the Here one is deprecated:
https://developer.here.com/documentation/places/topics_api/entrypoint-maturity-availability.html

Detecting a product within an image

I want to detect a product within an image using cloud vision. If the product is too small relative to the image, then the algorithm does not detect it. For example, if I used an image of a product, it correctly labels it as a product but when I use a image of a person holding that product, it details plenty of (good) info about the person holding the object but fails to identify the object. Is there a way to force it?
You can use this image to test it using the Cloud Vision Web UI: https://img.bleacherreport.net/img/images/photos/003/758/947/hi-res-bc77cb085652783632d48c378e0a0ffb_crop_north.jpg?h=533&w=800&q=70&crop_x=center&crop_y=top
If I scan the entire image, it provides one label 'product' among other things. But if I crop just the coco cola in the image and scan that cropped image, it provides lot more details. E.g Coco Cola, soft drink etc. How can I get the details of the product if it only occupies a small portion within an larger image?
You can use Object Localization, which as stated can detect less prominent objects. I ran it on the image you provided, which returned 'bottle' for the cola - it also returns the boundingPoly vertices for the objects, which as you've noted you can use to crop the image and get a better detection
you need to pass feature PRODUCT_SEARCH with the request, which may default to TYPE_UNSPECIFIED ...so that it will know, that it shall detect products and not people or other prominent objects within the view.
see Searching for Products & Managing Products and Reference Images, which tell that, that you'd have to upload reference images of products to use that feature, which needs to ML learn to know these products first.

Tableau reacts poorly to latitude and longitude for one particular location

I have been troubleshooting this issue where I click on datapoint in geographic map and NOTHING appears. However, all other datepoints work as expected
Troubleshooting steps
I deleted and re-created the tableau map
I removed the offending datapoint, and all other datapoints worked
I renamed the address of the datapoint, same problem
But then, I changed the latitude and longitude of the data-point and it worked.
Now when I revert to the correct latitude and longitude of the data-point it doesn't work.
Why on Earth doesn't it work?
Is there a certain way I should format longitude and latitude? This is how I formatted it:
Please please please help. I've been working on this all day.
This is screenshot of it working, when I select location from drop-down
This is screenshot when I select data-point from map and it DOESN'T WORK.
Notice how data at the bottom is BLANK, as if nothing is selected.
But if I select any other data-point on map it works
Update
Proof of concept is here,
Notice when you click on Eat at Joes on map, the data display is blank, but if you select Eat at Joes from dropdown, then it works
Another update
If I go to dashboard, do rectangular select, this is what I get
If I go to original map and do rectangular select, I get this. It says 64 marks, 1 row by 1 column
And if I use quick filter, select Eat at Joes, it displays the data, including the name Eat at Joes
But if I hover over or select 'Eat at Joeson the map (not the drop-down), the name in the dashboard saysNoneinstead ofEat at Joes`.
And this happens to all data points that I hover over.
I uploaded latest workbook here
Update after calculated field
I dragged Cal_Loc to Details and it is aggregate (I am unable to change to Dimension) and not appearing in drop-down of dashboard panel.
However on lower left corner of Maps screen, it says 5 marks even though I see 4, which is still quite unsettling ...
There are two problems.
The first is that you're using ATTR(). Instead of putting the fields of interest into Tooltip as attributes, put them into Detail as dimensions. Filtering on an attribute is tricky (that *'ll get you into all sorts of trouble). For filtering, dimensions are usually the way to go.
The second is that you have lat/lng in the map as dimensions. Try changing them to a measure. If your dimensions (Location, Type) can uniquely identify every point on the map (and now that you've made them dimensions and not attributes, they can), then you can have the lat/lng averaged.
Your title problem is a known issue with Tableau. They've acknowledged the problem for about two and a half years now, but there's no fix in sight. Behavior with putting dimensions in titles is very inconsistent (a quick search through the Tableau forums reveals a pretty shocking number of people with your exact issue). I couldn't find a solution to your problem, but here's a hacked together one specific to your situation.
Make a calculated field:
IIF(COUNTD([Location]) > 1, 'Multiple Locations', ATTR([Location]))
Then replace [Location] in your title with that field. It just checks to see how many locations are present in the partition. If there's just one, it uses ATTR([Location]), which we can safely assume will return the name of a single location and not a "*". Otherwise, it returns "Multiple Locations", which you can obviously adjust to fit your needs.

How to remove/hide all Google Analytics data associated with a specific page?

For about a week, Google Analytics was erroneously reporting page views for a few request URIs, severely skewing my data. I have read that there is no way to remove data once it is reported. If this is the case, is there a way to simply hide this data from the view?
I have tried a number of things (such as creating global filters, view filters, etc.) to no avail. Using segments also doesn't work, because apparently you can only filter out visits/users (whereas my goal is to filter out page views associated with a specific page). At this point, I feel like I must be going about it the totally wrong way...
Below is a screenshot of the Behavior > Overview section. The page views I want to move are #1, #2, and #5.
Alex, unfortunately, there is nothing you can do about the historical data.
However, you can use simple filter to exclude pages you don't want to see (the filter field above the report table, not filters related to account/profiles) -- see the attached screen below.
Make sure you select exclude and then pick Page dimension. The easiest way would be to use regular expressions, like:
(a|b|c)
This one would remove any pages that contain either "a", or "b" or "c".
The expression would be probably a bit more complicated in your case and I suggest using tools like RegEx Hero (free, online). I am not sure if there is anything common for the pages you would like to remove from the reports, but regular expression can do quite a lot :).
One last thing -- be aware there is a slight difference in segments and (table) filters. If you use segments for page dimension, you would end up with ALL the pages that were seen during a visit, which includes the page you set in the segment. Might be a bit confusing, but see this article for detailed explanation.

Visio 2013: Limit displayed lines in a shape

Visio 2013: Create scrollbar for hidden overflow
.
I have a list of over 112 items. Which, is extensive for a simple diagram. I would like to have only 4 lines viewable and have a scroll bar to view the overflow.ties.
e.g.
I have a list of sites that are hosted on each server. To have all the sites for all servers displayed will decrease diagram readability. I need to set the max displayed lines to 4. The rest needs to be hidden. You should be able to view these by using a scroll bar.
This is a common practice in HTML. Hoping to find a way to do this with Visio 2013 also.
For example:
domain1.com
domain2.com
domain3.com
domain4.com
--Overflow--
domain5.com
domain6.com
andmanymore.com
Instead of doing the filtering in visio, provide already filtered data. ie: fill the list field already with a string, where the domains are separated by CHR(10).
This operation is easier to realise in excel/access/VBA.
I would send a draft, but I don't see a possibility to add attachments to answers.
HTH, otherwise don't hesitate to ask for details.
I guess that you have the list of domains in a user defined field.
Now add another field with the following formula mid(prop.yourlist,controls.start,prop.numberOfCharactersToDisplay)
where:
controls.start would be a control added to scroll your list and
prop.numberof.. the number of characters to display.
Insert now the new field to be displayed in your shape. Done.
These formulas will of course truncate your domains at any place in the string. If you want it to show always full lines, you should look for the line breaks (find(char(10), yourList)
HTH

Resources