Link to home
Start Free TrialLog in
Avatar of websss
websssFlag for Kenya

asked on

stretch float[320,240] to float[640,480] and maintain data integrity

I have a radiometric image (320px by 240px) with temperature data behind each pixel

I have extracted the temperature data and put into float[320, 240];
Then I can reference by X Y and get the temperature data


This all works fine, I over lay the temperature data over the image, and when the user hovers it shows the temperature data for that pixel

however I need to now increase the size of the image for display purposes and on hover show the temperatures, the image bit is easy, I just set in CSS

However, the original data (X Y pixels) also needs to be stretched so when the user hovers it shows the correct temperatures
The issue is the original data half the size, so would somehow need to duplicate diagonally

here is the code in question which gets the data into the float array.
I now need to return a float array of 640,480, with the correct pixel temperature data
Any idea how i would stretch the float array and maintain the correct pixel data considering the original is 320x240 and the output needs to be 640x480 ?

_tempData = new float[320, 240];

            using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(tempContents)))
            {
                BinaryReader br = new BinaryReader(ms);
                for (int x = 0; x < 320; x++)
                {
                    for (int y = 0; y < 240; y++)
                    {

                        //write temp value for pixel
                        float pixelTemperature = br.ReadSingle();
                         _tempData[x, y] = pixelTemperature;
                      }
                 }
             }

return _tempData;

Open in new window

Avatar of AndyAinscow
AndyAinscow
Flag of Switzerland image

If you are doubling each point in the display then halving the display x, y gives you the matrix index
ASKER CERTIFIED SOLUTION
Avatar of sarabande
sarabande
Flag of Luxembourg image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
If you didn't understand my comment then feel free to ask for further clarification.  The comment by sarabande is just explaining why my comment appears to be what you asked for.