Question on Image value range

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Question on Image value range

Lars Grant-West
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

The resulting models end up with striations (second image).

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

Thank you!

Lars Grant-West



_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Murat Maga

Lars,


Cool monkeys.


Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans).


Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen.


I never seen anything like the second set though, it almost looks like data got corrupted.


M



From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

The resulting models end up with striations (second image).

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

Thank you!

Lars Grant-West



_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Lars Grant-West
In reply to this post by Lars Grant-West
Thanks Murat!

Good eye, too. I never would have known that was a monkey from just the images I sent.

There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.

It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.

I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.

I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 

Thanks again!

Lars




On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:

Lars,

Cool monkeys.

Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 

Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 

I never seen anything like the second set though, it almost looks like data got corrupted. 

M


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

The resulting models end up with striations (second image).

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

Thank you!

Lars Grant-West

<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>

<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Murat Maga
In reply to this post by Lars Grant-West

I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.

 

Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?

 

Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.

 

If you can share the original data, I can take a quick look.

 

 

From: Lars Grant-West [mailto:[hidden email]]
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range

 

Thanks Murat!

 

Good eye, too. I never would have known that was a monkey from just the images I sent.

 

There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.

 

It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.

 

I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.

 

I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 

 

Thanks again!

 

Lars

 

 

 

 

On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:

 

Lars,

 

Cool monkeys.

 

Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 

 

Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 

 

I never seen anything like the second set though, it almost looks like data got corrupted. 

 

M

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range

 

I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

 

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

 

The resulting models end up with striations (second image).

 

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

 

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

 

Thank you!

 

Lars Grant-West

 

<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>

 

<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Andras Lasso-2

On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.

 

If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?

 

Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.

 

Andras

 

From: slicer-users [mailto:[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range

 

I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.

 

Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?

 

Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.

 

If you can share the original data, I can take a quick look.

 

 

From: Lars Grant-West [[hidden email]]
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range

 

Thanks Murat!

 

Good eye, too. I never would have known that was a monkey from just the images I sent.

 

There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.

 

It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.

 

I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.

 

I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 

 

Thanks again!

 

Lars

 

 

 

 

On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:

 

Lars,

 

Cool monkeys.

 

Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 

 

Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 

 

I never seen anything like the second set though, it almost looks like data got corrupted. 

 

M

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range

 

I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

 

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

 

The resulting models end up with striations (second image).

 

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

 

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

 

Thank you!

 

Lars Grant-West

 

<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>

 

<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Sharp, Gregory C.

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.

 

 

From: slicer-users [mailto:[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range

 

On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.

 

If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?

 

Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.

 

Andras

 

From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range

 

I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.

 

Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?

 

Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.

 

If you can share the original data, I can take a quick look.

 

 

From: Lars Grant-West [[hidden email]]
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range

 

Thanks Murat!

 

Good eye, too. I never would have known that was a monkey from just the images I sent.

 

There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.

 

It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.

 

I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.

 

I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 

 

Thanks again!

 

Lars

 

 

 

 

On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:

 

Lars,

 

Cool monkeys.

 

Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 

 

Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 

 

I never seen anything like the second set though, it almost looks like data got corrupted. 

 

M

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range

 

I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

 

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

 

The resulting models end up with striations (second image).

 

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

 

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

 

Thank you!

 

Lars Grant-West

 

<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>

 

<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Lars Grant-West
In reply to this post by Andras Lasso-2
Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process.

I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 

I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.

Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.

Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.

With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.

PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.

I’ll keep hunting and see what I can find.

Thank you all!

Lars


A second dimage, first as it stands then as corrected in PS.

This is the second image with an automatic adjustment in photoshop. It may work fine.

On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.
 
 
From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.
 
If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?
 
Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.
 
Andras
From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.
 
Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?
 
Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.
 
If you can share the original data, I can take a quick look.
 
 
From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range
 
Thanks Murat!
 
Good eye, too. I never would have known that was a monkey from just the images I sent.
 
There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.
 
It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.
 
I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.
 
I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 
 
Thanks again!
 
Lars
 
 
 
 
On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:
 
Lars,
 
Cool monkeys.
 
Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 
 
Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 
 
I never seen anything like the second set though, it almost looks like data got corrupted. 
 
M
 

From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.
 
An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)
 
The resulting models end up with striations (second image).
 
Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?
 
I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.
 
Thank you!
 
Lars Grant-West
 
<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>
 
<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>
 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.



_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Murat Maga

OK. So I downloaded the datasets. First off, those dicoms are not in a format that Slicer understands. I am using the stable version on linux (4.6.2) and when I use the dicom import, it goes through all the files and reports "0 cases, studies etc.. imported". 


I had to open the image sequence in ImageJ and save it as a nrrd file to get into slicer. Once I did that it opened fine, there was no artifacting (or anything beyond reasonable) and no slice to slice intensity variation. I think whatever you did to get the dataset into Slicer introduced some changes to the intensity values.


Good luck
M



From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Tuesday, January 17, 2017 7:04:25 AM
To: Sharp, Gregory C.
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process.

I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 

I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.

Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.

Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.

With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.

PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.

I’ll keep hunting and see what I can find.

Thank you all!

Lars


A second dimage, first as it stands then as corrected in PS.

This is the second image with an automatic adjustment in photoshop. It may work fine.

On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.
 
 
From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.
 
If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?
 
Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.
 
Andras
From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.
 
Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?
 
Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.
 
If you can share the original data, I can take a quick look.
 
 
From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range
 
Thanks Murat!
 
Good eye, too. I never would have known that was a monkey from just the images I sent.
 
There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.
 
It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.
 
I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.
 
I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 
 
Thanks again!
 
Lars
 
 
 
 
On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:
 
Lars,
 
Cool monkeys.
 
Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 
 
Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 
 
I never seen anything like the second set though, it almost looks like data got corrupted. 
 
M
 

From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.
 
An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)
 
The resulting models end up with striations (second image).
 
Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?
 
I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.
 
Thank you!
 
Lars Grant-West
 
<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>
 
<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>
 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.



_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ

lars_saimiri.png (1M) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Lars Grant-West
In reply to this post by Lars Grant-West
Fantastic. Thank you. Sorry to have put you through that, but I appreciate it.

I don’t understand why they would have shifted on PS import, but I’ll try bringing them directly into slicer. I did have that “0 case studies” thing happen too though.

Thanks again,

Lars


On Jan 17, 2017, at 1:11 PM, Murat Maga <[hidden email]> wrote:

OK. So I downloaded the datasets. First off, those dicoms are not in a format that Slicer understands. I am using the stable version on linux (4.6.2) and when I use the dicom import, it goes through all the files and reports "0 cases, studies etc.. imported". 

I had to open the image sequence in ImageJ and save it as a nrrd file to get into slicer. Once I did that it opened fine, there was no artifacting (or anything beyond reasonable) and no slice to slice intensity variation. I think whatever you did to get the dataset into Slicer introduced some changes to the intensity values. 

Good luck
M


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Tuesday, January 17, 2017 7:04:25 AM
To: Sharp, Gregory C.
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process.

I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 

I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.

Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.

Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.

With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.

PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.

I’ll keep hunting and see what I can find.

Thank you all!

Lars

<Screen Shot 2017-01-17 at 9.52.43 AM.png>

A second dimage, first as it stands then as corrected in PS.
<Screen Shot 2017-01-17 at 9.51.37 AM.png>

This is the second image with an automatic adjustment in photoshop. It may work fine.
<Screen Shot 2017-01-17 at 9.55.25 AM.png>
On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.
 
 
From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.
 
If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?
 
Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.
 
Andras
From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.
 
Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?
 
Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.
 
If you can share the original data, I can take a quick look.
 
 
From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range
 
Thanks Murat!
 
Good eye, too. I never would have known that was a monkey from just the images I sent.
 
There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.
 
It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.
 
I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.
 
I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 
 
Thanks again!
 
Lars
 
 
 
 
On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:
 
Lars,
 
Cool monkeys.
 
Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 
 
Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 
 
I never seen anything like the second set though, it almost looks like data got corrupted. 
 
M
 

From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.
 
An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)
 
The resulting models end up with striations (second image).
 
Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?
 
I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.
 
Thank you!
 
Lars Grant-West
 
<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>
 
<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>
 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

<lars_saimiri.png>


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Steve Pieper-2
In reply to this post by Murat Maga
Now even I can see it's a monkey!

On Tue, Jan 17, 2017 at 1:11 PM, Murat Maga <[hidden email]> wrote:

OK. So I downloaded the datasets. First off, those dicoms are not in a format that Slicer understands. I am using the stable version on linux (4.6.2) and when I use the dicom import, it goes through all the files and reports "0 cases, studies etc.. imported". 


I had to open the image sequence in ImageJ and save it as a nrrd file to get into slicer. Once I did that it opened fine, there was no artifacting (or anything beyond reasonable) and no slice to slice intensity variation. I think whatever you did to get the dataset into Slicer introduced some changes to the intensity values.


Good luck
M



From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Tuesday, January 17, 2017 7:04:25 AM
To: Sharp, Gregory C.

Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process.

I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 

I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.

Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.

Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.

With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.

PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.

I’ll keep hunting and see what I can find.

Thank you all!

Lars


A second dimage, first as it stands then as corrected in PS.

This is the second image with an automatic adjustment in photoshop. It may work fine.

On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.
 
 
From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.
 
If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?
 
Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.
 
Andras
From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.
 
Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?
 
Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.
 
If you can share the original data, I can take a quick look.
 
 
From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range
 
Thanks Murat!
 
Good eye, too. I never would have known that was a monkey from just the images I sent.
 
There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.
 
It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.
 
I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.
 
I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 
 
Thanks again!
 
Lars
 
 
 
 
On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:
 
Lars,
 
Cool monkeys.
 
Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 
 
Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 
 
I never seen anything like the second set though, it almost looks like data got corrupted. 
 
M
 

From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.
 
An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)
 
The resulting models end up with striations (second image).
 
Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?
 
I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.
 
Thank you!
 
Lars Grant-West
 
<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>
 
<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>
 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.



_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Andras Lasso-2

If Slicer cannot load a DICOM image then most commonly it is due to some non-conformity in the image. We didn’t want to add endless list of vendor-specific workarounds in the DICOM importer (as many commercial systems do) or ignore most metadata (as ImageJ, Matlab, and others do), so we added the DICOM patcher module that fixes most common errors.

 

Please run DICOM patcher on your data set and see if it fixes the data import and let us know.

 

Andras

 

From: slicer-users [mailto:[hidden email]] On Behalf Of Steve Pieper
Sent: January 17, 2017 13:19
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range

 

Now even I can see it's a monkey!

 

On Tue, Jan 17, 2017 at 1:11 PM, Murat Maga <[hidden email]> wrote:

OK. So I downloaded the datasets. First off, those dicoms are not in a format that Slicer understands. I am using the stable version on linux (4.6.2) and when I use the dicom import, it goes through all the files and reports "0 cases, studies etc.. imported". 

 

I had to open the image sequence in ImageJ and save it as a nrrd file to get into slicer. Once I did that it opened fine, there was no artifacting (or anything beyond reasonable) and no slice to slice intensity variation. I think whatever you did to get the dataset into Slicer introduced some changes to the intensity values.


Good luck
M

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Tuesday, January 17, 2017 7:04:25 AM
To: Sharp, Gregory C.


Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range

 

Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process.

 

I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 

 

I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.

 

Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.

 

Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.

 

With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.

 

PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.

 

I’ll keep hunting and see what I can find.

 

Thank you all!

 

Lars

 

 

A second dimage, first as it stands then as corrected in PS.

 

This is the second image with an automatic adjustment in photoshop. It may work fine.

On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:

 

Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.

 

 

From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range

 

On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.

 

If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?

 

Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.

 

Andras

 

From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range

 

I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.

 

Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?

 

Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.

 

If you can share the original data, I can take a quick look.

 

 

From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range

 

Thanks Murat!

 

Good eye, too. I never would have known that was a monkey from just the images I sent.

 

There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.

 

It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.

 

I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.

 

I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 

 

Thanks again!

 

Lars

 

 

 

 

On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:

 

Lars,

 

Cool monkeys.

 

Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 

 

Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 

 

I never seen anything like the second set though, it almost looks like data got corrupted. 

 

M

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range

 

I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.

 

An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)

 

The resulting models end up with striations (second image).

 

Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?

 

I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.

 

Thank you!

 

Lars Grant-West

 

<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>

 

<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>

 

 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Lars Grant-West
Andras - I’m not finding a DICOM patcher module in 3D Slicer (which I just downloaded 2 days ago - so assume it’s current). Is it located somewhere other than the 
Incidentally - I don’t know if this is a bug or something I’ve set incorrectly. I imported a skull that was scanned with a the third of the image spacing axis longer than the first or second - and now it seems to have gotten baked into all my imports. Is there a way to reset 

Murat - Looks like I have to add a plugin to get the nrrd thing to work - but I’ll try to dig that up. Thanks!


On Jan 17, 2017, at 1:43 PM, Andras Lasso <[hidden email]> wrote:

If Slicer cannot load a DICOM image then most commonly it is due to some non-conformity in the image. We didn’t want to add endless list of vendor-specific workarounds in the DICOM importer (as many commercial systems do) or ignore most metadata (as ImageJ, Matlab, and others do), so we added the DICOM patcher module that fixes most common errors.
 
Please run DICOM patcher on your data set and see if it fixes the data import and let us know.
 
Andras
 
From: slicer-users [[hidden email]] On Behalf Of Steve Pieper
Sent: January 17, 2017 13:19
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
Now even I can see it's a monkey!
 
On Tue, Jan 17, 2017 at 1:11 PM, Murat Maga <[hidden email]> wrote:

OK. So I downloaded the datasets. First off, those dicoms are not in a format that Slicer understands. I am using the stable version on linux (4.6.2) and when I use the dicom import, it goes through all the files and reports "0 cases, studies etc.. imported". 

 

I had to open the image sequence in ImageJ and save it as a nrrd file to get into slicer. Once I did that it opened fine, there was no artifacting (or anything beyond reasonable) and no slice to slice intensity variation. I think whatever you did to get the dataset into Slicer introduced some changes to the intensity values.


Good luck
M 

 


From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Tuesday, January 17, 2017 7:04:25 AM
To: Sharp, Gregory C. 

Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
Good point. What I’m trying to do now is standardize the value range across each, so I can create a printable surface model with as few artifacts from those aberrations as possible - and in  doing so, to automate the process. 
 
I’m using Photoshop because that’s what I’m familiar with. It’s quite fully featured when it comes to image editing, but what I’m not finding is a way to standardize the value range form image to image numerically - that is to make the lowest value, say, X, match the lowest value in another image. Photoshop will automate some aspects of that, but not as precisely perhaps. 
 
I’ll have to look over the filters in Slicer, or perhaps imageJ, to see if any of them can do that.
 
Perfect precision isn’t necessary, but if there’s a straightforward way to fix the issue and end up with something that is more accurate in the end, that’s what I’d like to do.
 
Opening two slices in Photoshop shows me this range of difference between fairly close slices. What I need is to standardize the minimum and maximum value range slice by slice.
 
With PS I can automate editing the individual slices, but I’ve yet to find a process that will let me do the precise editing I need done, so maybe slicer has that.
 
PS does a reasonably good job, but levels adjustments like this require the software to interpolate data.
 
I’ll keep hunting and see what I can find.
 
Thank you all!
 
Lars
 
<image001.png>
 
A second dimage, first as it stands then as corrected in PS.
<image002.png>
 
This is the second image with an automatic adjustment in photoshop. It may work fine.
<image003.png>
On Jan 17, 2017, at 9:27 AM, Sharp, Gregory C. <[hidden email]> wrote:
 
Just a comment on the data corruption.  I feel your image variations are within the typical range for CT.  Sometimes you can understand the cause, such as a bit of metal or pocket of air in the slice in question.  Other times it is hard to guess.
 
 
From: slicer-users [[hidden email]] On Behalf Of Andras Lasso
Sent: Monday, January 16, 2017 11:41 PM
To: Lars Grant-West
Cc: SPL Slicer Users
Subject: Re: [slicer-users] Question on Image value range
 
On the images you’ve attached, the striping artifact were not so bad. Probably you can suppress those artifacts by the Smoothing effect in the Segment Editor module.
 
If you find that you lose important details at the level of smoothing that is necessary to remove striping, then you can dig into the DICOM file headers to see if you can recover pixel values in Hounsfield units (those are absolute values, not slice-dependent). How have you loaded the CT into Slicer? Using Slicer’s DICOM import feature?
 
Trying to standardize image brightness/contrast using histogram equalization or similar method might work, but will never be perfect, so I would only recommend trying it if everything else fail.
 
Andras
From: slicer-users [[hidden email]] On Behalf Of Murat Maga
Sent: January 16, 2017 23:11
To: Lars Grant-West <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range
 
I wish I could say that I know inner ear anatomy so well that I got it down to family, but I cheated. Saimiri was the giveaway.
 
Some research CT facilities (like UTCT or Penn State) used to reconstruct every slice individually with it is own histogram range. So while the contrast for every slice looked better and detail was increased, there wasn’t any consistency throughout the volumes and there would be a big variation from slice to slice (especially when mean intensity changed). I haven’t seen datasets like that for quite a while though. What format did the facility give the dataset to you? Do you know whether it is the ‘untouched’ data or any post-processing applied to them?
 
Experts can correct me, but I am not sure whether there would be a tool in Slicer to deal with threshold at individual slice level (or at least not without doing some programming I recon). Software that operate on image stacks (ImageJ or Mipav) might be more useful for you.
 
If you can share the original data, I can take a quick look.
 
 
From: Lars Grant-West [[hidden email]] 
Sent: Monday, January 16, 2017 7:44 PM
To: Murat Maga <[hidden email]>
Cc: SPL Slicer Users <[hidden email]>
Subject: Re: Question on Image value range
 
Thanks Murat!
 
Good eye, too. I never would have known that was a monkey from just the images I sent.
 
There may have been something wonky going on with the data - though the black vertical bar on the right doesn’t seem to translate into the actual full sized image, so it may just be the thumbnail.
 
It seems odd to me that there would be that much variation in overall value range from slice to slice, but there is.
 
I’ll look into adjustments in the volumes module, though I think I’ve played with all of them to no avail. I need to find a way to adjust the value range on each individual slice without going through all 1400 or so individually.
 
I did check another CT scan from this source and it was also a pretty haphazard set, lacking in consistency from slice to slice. 
 
Thanks again!
 
Lars
 
 
 
 
On Jan 16, 2017, at 6:30 PM, Murat Maga <[hidden email]> wrote:
 
Lars,
 
Cool monkeys.
 
Slicer should not modify the underlying grayscale values of your volumes. In my case, Slicer usually does not automatically pick up the most appropriate look up table values, which you can modify manually in volumes module (which looks exactly like the first pair in your pictures). My default is to manually set the min/max to the to minimum and maximum of the data type I am using (0, 255 in most CT scans). 
 
Again this has no bearing on the grayscale values, just simply adjusts the contrast on screen. 
 
I never seen anything like the second set though, it almost looks like data got corrupted. 
 
M
 

From: slicer-users <[hidden email]> on behalf of Lars Grant-West <[hidden email]>
Sent: Monday, January 16, 2017 2:02:03 PM
To: SPL Slicer Users
Subject: [slicer-users] Question on Image value range
 
I’m new to 3D Slicer, and have been learning to convert CT scans to models for 3D printing.
 
An issue I’ve run into a couple of times is slice images that are dramatically out of sync in value range (see first image below)
 
The resulting models end up with striations (second image).
 
Is there a way within 3D Slicer to automatically correct these slices so they’re more consistent?
 
I can come up with an action to do it in Photoshop - but it’ll be rough as that will compress the gradients. I might be able to reduce the effect that way, but it’ll still be there.
 
Thank you!
 
Lars Grant-West
 
<Screen-Shot-2017-01-16-at-4.51.02-PM.jpg>
 
<Screen-Shot-2017-01-16-at-4.55.36-PM.jpg>
 
 

The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

 

_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
 
_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Lars Grant-West
In reply to this post by Andras Lasso-2
Downloaded the nightly build. I was using the stable build. I see the patcher is there. I’ll try it.

On Jan 17, 2017, at 1:43 PM, Andras Lasso <[hidden email]> wrote:

If Slicer cannot load a DICOM image then most commonly it is due to some non-conformity in the image. We didn’t want to add endless list of vendor-specific workarounds in the DICOM importer (as many commercial systems do) or ignore most metadata (as ImageJ, Matlab, and others do), so we added the DICOM patcher module that fixes most common errors.
 
Please run DICOM patcher on your data set and see if it fixes the data import and let us know.
 
Andras


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ
Reply | Threaded
Open this post in threaded view
|

Re: Question on Image value range

Andras Lasso-2
In reply to this post by Andras Lasso-2

Based on the image header I can tell that the image was taken by and industrial CT scanner and then using Matlab, the images were converted to invalid DICOM files.

 

The created DICOM files had several serious issues, including:

  • Missing mandatory fields, such as modality and study instance UID
  • Incorrect patient name (patient name should be the same for all the frames in the same series, but the patient name was set to the file name of each frame)
  • MediaStorageSOPClassUID was set to an invalid value (to a private value that is used by DCMTK for cases when the user does not specify storage SOP class UID).
  • Image position fields contain incorrect values (this industrial CT, like many others, save volume in isotropuc

 

Slicer rightfully refuses loading of these corrupted files, but I’ve updated the DICOM patcher to fix these issues before you attempt to import the files into Slicer.

 

Run DICOM patcher with “Force same patient name and ID…” option enabled (you can leave all other settings at default). You may need to clear the DICOM database by deleting all files in your Slicer DICOM database directory (especially ctkDICOM.sql and ctkDICOMTagCache.sql).

 

The volume size is very large, so you may want to crop and/or resample it using Crop volume module, using “Input spacing scaling constant” of 2 or more. You can then open the Segment Editor to create a 3D-printable model:

·         Extract bone using Threshold effect

·         Remove small speckles and separate two bone parts to two segments using Islands effect / Split islands to segments (computation may take a couple of minutes)

·         Smooth the model to remove small feature or thin walls that you may have difficulty printing using Smoothing effect using for example Closing method with 1mm kernel size (computation may take a couple of minutes)

·         Switch to Segmentations module export segments to models (Export/Import section)

·         Save models as STL files (File / Save scene)

 

See the 3D-printable model that I’ve created using these steps:

https://1drv.ms/v/s!Arm_AFxB9yqHrfBrBni1eI0m13lpgg

Segmentation:

https://1drv.ms/u/s!Arm_AFxB9yqHrfB1obhrWJ5xNDIkHQ

 

Andras

 

From: Lars Grant-West [mailto:[hidden email]]
Sent: January 17, 2017 22:59
To: Andras Lasso <[hidden email]>
Subject: Re: [slicer-users] Question on Image value range

 

 

On Jan 17, 2017, at 10:54 PM, Andras Lasso <[hidden email]> wrote:

 

Can you share the data so that I can test what prevents the import?

 

Andras

 

 

This is where I got the data.

 

 


_______________________________________________
slicer-users mailing list
[hidden email]
http://massmail.spl.harvard.edu/mailman/listinfo/slicer-users
To unsubscribe: send email to [hidden email] with unsubscribe as the subject
http://www.slicer.org/slicerWiki/index.php/Documentation/4.3/FAQ