[Insight-users] Fwd: Volume overlay
Sara Rolfe
smrolfe at u.washington.edu
Thu Feb 10 15:18:24 EST 2011
>
> Thanks Robert, I was hoping there might be a way to do this without
> iterating through the pixels, but I think you are right that this is
> the best way to go.
>
> On Feb 10, 2011, at 11:09 AM, robert tamburo wrote:
>
>> You could create a blank RGB image, iterate the RGB image, then set
>> pixels one by one. Something like:
>>
>> // initialize zero filled RGB image
>> rgbImage = RGBImageType::New();
>> RGBImageType::PixelType tempPixel;
>> tempPixel.Fill(0);
>> rgbImage->FillBuffer(tempPixel);
>>
>> RGBImageType::PixelType rgbPixel;
>>
>> // iterate RGB image
>> RGBIteratorType it(rgbImage, rgbImage->GetLargestPossibleRegion())
>> it.GoToBegin();
>> while(!it.IsAtEnd())
>> {
>> if(labelImage1->GetPixel(it.GetIndex() != 0)
>> {
>> // set labelImage1 pixels to green
>> rgbPixel[0] = 0; rgbPixel[1] = 255; rgbPixel[2] = 0;
>> rgbImage->SetPixel(it.GetIndex(), rgbPixel);
>> }
>> else if(labelImage2->GetPixel(it.GetIndex() != 0)
>> {
>> // set labelImage2 pixels to blue
>> rgbPixel[0] = 0; rgbPixel[1] = 0; rgbPixel[2] = 255;
>> rgbImage->SetPixel(it.GetIndex(), rgbPixel);
>> }
>> else
>> {
>> // copy image data for non-label pixels
>> rgbPixel.Fill(originalImage->GetPixel(it.GetIndex());
>> rgbImage->SetPixel(it.GetIndex(), rgbPixel);
>> }
>> ++it;
>> }
>>
>> Caveats: 1) images need to be of the same size and 2) above code
>> was written freehand without testing :)
>>
>> On Thu, Feb 10, 2011 at 1:38 PM, Sara Rolfe
>> <smrolfe at u.washington.edu> wrote:
>> Hello,
>>
>> I'm attempting to overlay an image with color. I've had trouble
>> finding documentation on this, either in ITK or VTK. The way I'm
>> going about it is to scale the values of the image down and then
>> use the add image filter to add the labels on top. I could then
>> use VTK to create a corresponding colormap.
>>
>> However, I'm getting stuck on something that should be very
>> simple. My operations to combine the two images are failing. I
>> think the problem is the SubtractConstantFromImageFilter. I've
>> checked the output and it looks like the constant is not being
>> subtracted. The input to this filter is an image with a value of 0
>> for the background and 255 for the object. I'd like to change
>> these to 0 and 1. The pixel type is unsigned char. I use the
>> following:
>>
>> SubFilterType::Pointer subFilter = SubFilterType::New();
>> InputPixelType subValue = 254;
>> subFilter->SetConstant(subValue);
>> subFilter->SetInput( imageInverter->GetOutput() );
>> subFilter->Update();
>>
>> But the output image is still 0 - 255. Am I missing something
>> simple?
>>
>> Also, is there a better way to accomplish this task, or any
>> examples showing something similar?
>>
>> Thanks,
>> Sara
>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110210/b5a1cd80/attachment.htm>
More information about the Insight-users
mailing list