<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Why does Arcpy produce different results than raster calculator/map algebra? in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137940#M10774</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;could be a symbology issue,&amp;nbsp; what is the nodata value for both and how do their symbologies compare?&amp;nbsp; Also check the raster type (since the bit type may have been promoted in one)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Jun 2017 13:06:31 GMT</pubDate>
    <dc:creator>DanPatterson_Retired</dc:creator>
    <dc:date>2017-06-29T13:06:31Z</dc:date>
    <item>
      <title>Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137939#M10773</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need to do binary thresholding on several rasters of the Color Index of Vegetation Extraction (CIVE). First, I calculate the index in Arcpy, then I load each up raster individually in ArcMap to run binary thresholding from the Image Analysis Window. Unfortunately, I get an entirely black image.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I then selected one date and calculated the CIVE manually in the Raster Calculator (this takes a long time since each of the bands in the CIVE formula need to be modified before calculating the index). The binary thresholding image from this raster is perfect. Vegetation (maize) pixels are clearly identified.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As far as I can tell, the CIVE from ArcPy and the CIVE from ArcMap are identical (see attached images). I cannot figure out what is going on here, and really can't afford the time to do all this manually because I have the same problem with the Excess Red Index (ExG) and the Excess Green Minus Excess Red Index (ExGR). Oddly, I DON'T have this problem with the Excess Green Index even though it is run in the same script...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a code snippet for the CIVE calculation. Note that red=Band_1, Green=Band_2, and Blue=Band_6 because I merged the orthomosaics from two filter-modified digital cameras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;print &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Calculating and saving CIVE..."
&lt;/SPAN&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;for &lt;/SPAN&gt;&lt;SPAN style="background-color: #ffe4ff;"&gt;raster&lt;/SPAN&gt; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;in &lt;/SPAN&gt;rasters:
&amp;nbsp;&amp;nbsp;&amp;nbsp; red = Float(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_1"&lt;/SPAN&gt;))/(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_1"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_2"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_6"&lt;/SPAN&gt;))
&amp;nbsp;&amp;nbsp;&amp;nbsp; green = Float(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_2"&lt;/SPAN&gt;))/(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_1"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_2"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_6"&lt;/SPAN&gt;))
&amp;nbsp;&amp;nbsp;&amp;nbsp; blue = Float(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_6"&lt;/SPAN&gt;))/(Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_1"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_2"&lt;/SPAN&gt;)+Raster(&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"/Band_6"&lt;/SPAN&gt;))
&amp;nbsp;&amp;nbsp;&amp;nbsp; outcive = Float((&lt;SPAN style="color: #0000ff;"&gt;0.441&lt;/SPAN&gt;*red)-(&lt;SPAN style="color: #0000ff;"&gt;0.881&lt;/SPAN&gt;*green)+(&lt;SPAN style="color: #0000ff;"&gt;0.385&lt;/SPAN&gt;*blue)+&lt;SPAN style="color: #0000ff;"&gt;18.78745&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp; outcive.save(CIVEFolder+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"//"&lt;/SPAN&gt;+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"CIVE_"&lt;/SPAN&gt;+&lt;SPAN style="background-color: #e4e4ff;"&gt;raster&lt;/SPAN&gt;[-&lt;SPAN style="color: #0000ff;"&gt;6&lt;/SPAN&gt;:-&lt;SPAN style="color: #0000ff;"&gt;4&lt;/SPAN&gt;]+&lt;SPAN style="color: #008000; font-weight: bold;"&gt;".tif"&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;print &lt;/SPAN&gt;outcive
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;print &lt;/SPAN&gt;&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Done..."&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;P&gt;Binary thresholding of CIVE from ArcMap&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="359268" alt="CIVE from ArcMap" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/359268_CIVE_arcmap.JPG" style="width: 620px; height: 411px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Binary thresholding of &lt;/SPAN&gt;CIVE from ArcPy&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="359269" alt="CIVE from ArcPy" class="image-2 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/359269_CIVE_arcpy.JPG" style="width: 620px; height: 413px;" /&gt;&lt;/P&gt;&lt;P&gt;Example pixel showing that ArcMap and ArcPy CIVEs are identical&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="359285" alt="An example pixel showing that the values are identical for both CIVE calculation methods" class="image-3 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/359285_pixel_example.JPG" style="height: auto;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137939#M10773</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2021-12-11T07:39:01Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137940#M10774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;could be a symbology issue,&amp;nbsp; what is the nodata value for both and how do their symbologies compare?&amp;nbsp; Also check the raster type (since the bit type may have been promoted in one)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jun 2017 13:06:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137940#M10774</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2017-06-29T13:06:31Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137941#M10775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the advice, Dan.&amp;nbsp;I think you are right about the bit-depth because the NoData values and symbologies are identical. The Excess Green Index I produced is 32-bit floating point, whereas the CIVE and all other indices are 64-bit double-precision.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could it be possible that the decimal coefficients in the CIVE index are messing up the bit-depth? If so, how could I fix the outputs to be 32-bit floating point? Some formulas are below for comparison.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CIVE = 0.441r - 0.881g +0.385b +18.78745&lt;/P&gt;&lt;P&gt;ExG = 2g-r-b&lt;/P&gt;&lt;P&gt;ExR = 1.4r-b&lt;/P&gt;&lt;P&gt;ExGR = Exg-ExR&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 Jul 2017 02:11:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137941#M10775</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2017-07-01T02:11:40Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137942#M10776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also, the NoData value is&amp;nbsp;-1.797693e+308.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also found &lt;A _jive_internal="true" href="https://community.esri.com/thread/121679"&gt;this discussion from 2015&lt;/A&gt;&amp;nbsp;which you were also involved in. This is almost certainly my problem, but the OP never updated with a solution.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 Jul 2017 02:33:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137942#M10776</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2017-07-01T02:33:57Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137943#M10777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I suspect you are going to have to deal with the &lt;A href="http://desktop.arcgis.com/en/arcmap/latest/tools/environments/nodata.htm"&gt;Nodata (Environment Settings) &lt;/A&gt;in your script and 'Map Down' I think, but it has been some time since I normally work with numpy arrays where you have direct explicit control over the data type.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 Jul 2017 02:57:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137943#M10777</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2017-07-01T02:57:43Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137944#M10778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This didn't work, unfortunately.&amp;nbsp;Numpy would be better but am not sure how I would go about it. Here's what I am thinking:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;# assume that I already set up a list called composites, which are 6-band GeoTiffs for which I need to use bands 1,2, and 6
# Also assume that I have lists for all the relevant geotransform properties in order to convert output back to raster 
&lt;SPAN style="text-decoration: line-through;"&gt;#N ot sure what to set NoData to in RasterToNumpyArray&lt;/SPAN&gt;
nparrays = []
&lt;SPAN style="color: #000080; font-weight: bold;"&gt;for &lt;/SPAN&gt;i, raster &lt;SPAN style="color: #000080; font-weight: bold;"&gt;in enumerate&lt;/SPAN&gt;(composites):
&amp;nbsp;&amp;nbsp;&amp;nbsp; nparrays.append(arcpy.RasterToNumPyArray(raster, &lt;SPAN style="color: #660099;"&gt;nodata_to_value&lt;/SPAN&gt;=raster.noDataValue).astype(&lt;SPAN style="color: #000080;"&gt;float&lt;/SPAN&gt;))
# Apply the CIVE formula of &lt;SPAN style="color: #3d3d3d;"&gt;0.441r - 0.881g +0.385b +18.78745&lt;/SPAN&gt; 
CIVE_arrays = []
for date, numpyarrays &lt;SPAN style="color: #000080; font-weight: bold;"&gt;in &lt;/SPAN&gt;&lt;SPAN style="color: #000080;"&gt;enumerate&lt;/SPAN&gt;(nparrays):
&amp;nbsp;&amp;nbsp;&amp;nbsp; CIVE = np.zeros_like (numpyarrays, np.float32)
&amp;nbsp;&amp;nbsp; &amp;nbsp;# **not sure how to actually run the formula from here** because I don't know how to select dimensions 0,1, and 5
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i in range (0,5) #
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CIVE[i,:,:] = 0.441*[i=0]-0.881[i=2]+0.385[i=6]+18.78745&amp;nbsp;&amp;nbsp;&amp;nbsp;# obviously the i= are invalid syntax


&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137944#M10778</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2021-12-11T07:39:03Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137945#M10779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;An example... I used an array with a shape of (5, 5, 6)... 5 rows, 5 columns and 6 bands... This can just as easily be done using reshaped array with the bands first, then rows and cols (ie (6, 5, 5)&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; np&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;zeros&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;shape&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;6&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'float32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;
a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6&lt;/SPAN&gt;
r &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# = 1 from 'a' definition&lt;/SPAN&gt;
g &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
b &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
args &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;r&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Band 1\n{}\nBand 2\n{}\nBand 6\n{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;args&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
result &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0.441&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;r &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0.881&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;g &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.385&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;b &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;18.78745&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Result...\n{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;result&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;which would look like this as results&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;Band &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;1.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
Band &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;2.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
Band &lt;SPAN class="number token"&gt;6&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;6.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
Result&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137945#M10779</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2021-12-11T07:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137946#M10780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;deja vu.... copyraster or numpy... who would have thought ... memory is slipping ... enjoy the example&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDIT&lt;/P&gt;&lt;P&gt;I should add if you want to change the dtype back to something before saving, then you can do the conversion by making an array of the desired dtype and shape and copying the values over into it.&amp;nbsp; Here is an example using the cive changing out to an int32 array rather than the float64 array you would get&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;cive_2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; np&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;zeros&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cive&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;shape&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'int32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
cive_2&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; cive

cive result&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="number token"&gt;19.4&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

cive_2 result&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
 &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;19&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

cive&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dtype&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; cive_2&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dtype
&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;dtype&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'float64'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'int32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137946#M10780</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2021-12-11T07:39:09Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137947#M10781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I made a mistake in the formula and forgot to carry over the normalization (e.g. r/r+g+b) from my original spatial analyst script. Altering your example with the division yields a divide by zero error:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;numpyarrays = arcpy.RasterToNumPyArray(infile, nodata_to_value=infile.noDataValue).astype(float)

# Apply the CIVE formula of 0.441r - 0.881g +0.385b +18.78745
r = numpyarrays[0,:,:]
g = numpyarrays[1,:,:]
b = numpyarrays[5,:,:]
args = [r, g, b]
print("Band 1\n{}\nBand 2\n{}\nBand 6\n{}".format(*args))
CIVE = 0.441*(r/r+g+b) - 0.881*(g/r+g+b) +0.385*(b/r+g+b) + 18.78745
print("Result...\n{}".format(CIVE))
#----------------------------------------------------------------------------------------------------------------------------------
C:/Users/Default.Default-PC/.PyCharmEdu3.5/config/scratches/scratch_5.py:48: RuntimeWarning: invalid value encountered in divide
&amp;nbsp; CIVE = 0.441*(r/r+g+b) - 0.881*(g/r+g+b) +0.385*(b/r+g+b) + 18.78745
C:/Users/Default.Default-PC/.PyCharmEdu3.5/config/scratches/scratch_5.py:48: RuntimeWarning: divide by zero encountered in divide
&amp;nbsp; CIVE = 0.441*(r/r+g+b) - 0.881*(g/r+g+b) +0.385*(b/r+g+b) + 18.78745
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137947#M10781</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2021-12-11T07:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137948#M10782</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Numpy done, png in... tif out, The middle line is green in the lower figure believe it or not&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/359793_rgb_image.png" style="width: 502px; height: 573px;" /&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;num_109&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;"raster band math&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; just a quick demo
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; note&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; Bands are number &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt; to n&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; references
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; http&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;//&lt;/SPAN&gt;conteudo&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;icmc&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;usp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;br&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;pessoas&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;moacir&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;papers&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;Ponti_GRSL2013&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;pdf
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; http&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;//&lt;/SPAN&gt;www&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sciencedirect&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;com&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;science&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;article&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;pii&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;S2214317315000347
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; np&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;zeros&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;shape&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;6&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'int32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; vals&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;# 1&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; vals&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;# 2&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; vals&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;# 6&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&amp;nbsp;&amp;nbsp;&amp;nbsp; f &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;'C:\Book_Materials\images\rgb.png'&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;# an image&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;overwriteOutput &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;True&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bands &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;RasterToNumPyArray&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bands&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; r &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bands&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; g &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bands&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; b &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bands&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; k &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bands&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;# normalize&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; denom &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;r &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; g &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; denom &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; denom&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;astype&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'float'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; r1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;denom&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; g1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; g&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;denom&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; b1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; b&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;denom&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; args &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;r&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Band 1\n{}\nBand 2\n{}\nBand 6\n{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;args&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cive &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.441&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; r&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.881&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.385&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;18.78745&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cive_2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; np&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;zeros&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cive&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;shape&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'int32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cive_2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; np&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;zeros&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cive&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;shape&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dtype&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'int32'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#exg = 2*g1 - r1 - b1&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"CIVE result...\n{}\n ExG result...\n{}"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;format&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cive&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; cive_2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; out &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;NumPyArrayToRaster&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cive_2&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; out&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;save&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;f&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;replace&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'.png'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'1.tif'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; a&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; r&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; k

&lt;SPAN class="comment token"&gt;# __main__ .... code section&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; __name__ &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"__main__"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; r&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; g&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; b&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; k &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; num_109&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&amp;nbsp; &lt;SPAN class="comment token"&gt;# raster band math demo&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:39:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137948#M10782</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2021-12-11T07:39:15Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137949#M10783</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks so much for this. I have not yet had time to run it (my Python skills have not yet extended to defining functions) but I trust that it is correct so I am marking it as the answer.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Jul 2017 12:46:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137949#M10783</guid>
      <dc:creator>JacobNederend</dc:creator>
      <dc:date>2017-07-04T12:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137950#M10784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jacob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a guess that Raster Calculator may be different then arcpy because you may be&amp;nbsp;running Raster Calculate from ArcMap &amp;nbsp;(in x32) and running arcpy in x64 Python you may get different results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the bit depth of your arcpy map algebra output is not what you need, you may want to try using the Copy Raster function instead of running .save(), which allows you to specify the bit depth and NoData value. Or maybe try running the script using arcpy x32. (C:\Python27\ArcGIS10.5\python.exe).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Aug 2017 03:13:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137950#M10784</guid>
      <dc:creator>curtvprice</dc:creator>
      <dc:date>2017-08-19T03:13:29Z</dc:date>
    </item>
    <item>
      <title>Re: Why does Arcpy produce different results than raster calculator/map algebra?</title>
      <link>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137951#M10785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You probably just need to add a "Calculate Statistics" step in your script. &amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Aug 2017 23:23:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/why-does-arcpy-produce-different-results-than/m-p/137951#M10785</guid>
      <dc:creator>Luke_Pinner</dc:creator>
      <dc:date>2017-08-20T23:23:17Z</dc:date>
    </item>
  </channel>
</rss>

