Dynamic Ranges and Dynamic SQL

Hi,
I have built a table of ranges and would like to use them in an sql query. Ive had a look but cannot think of a way to get this to work.
I have a table of fieldnames and a table of ranges. Does abap have a way of selecting a element from a table so I can generate the following sql.
select * from table
  into some_table
  where
    'FIELD0' IN range[0] AND
    'FIELD1' IN range[1] AND
    'FIELD2' IN range[2] AND
    'FIELD3' IN range[3] AND
I know how to build dynamic sql thats the easy bit. The hard bit is inserting a reference to a table element dynamically into the sql :S
Any help would be much appretiated,
Thanks,
James

hi,
  Yes, We can make use of Subroutine pools.
  This is from F1 help about dynamic where..
  1. This variant is exclusively for use with SELECT. The         
     internal table itab can only have one field which must be of 
     type C and not be greater than 72 characters. itab must be   
     specified in parentheses with no blanks between the          
     parentheses and the table name. The condition specified in   
     the internal table itab must have the same form as a         
     condition in the ABAP/4 source code. The following           
     restrictions apply:                                                                               
- You can only use literals as values, not variables.        
<b>     - The operator IN cannot be used in the form f1 IN itab1.    </b>
Regards,
Sailaja.

Similar Messages

  • Dynamic Range and Native ISO information

    I manage the mobile app "Formats" (https://itunes.apple.com/us/app/formats/id890528993?mt=8), and I'm looking to find information on a number of Canon camcorders. In particular, I'm trying to verify the dynamic range and native ISO of the following cameras:  XF100XF200XF300 I called Canon customer service and was told they "dont publish that infromation". Can anyone help me? Thanks!

    zakray wrote:
    I manage the mobile app "Formats" (https://itunes.apple.com/us/app/formats/id890528993?mt=8), and I'm looking to find information on a number of Canon DSLRs. In particular, I'm trying to verify the dynamic range and native ISO of the following cameras:  5D Mk II5D Mk III6D7DT5i I called Canon customer service and was told they "dont publish that infromation". Can anyone help me? Thanks!Dynamic range varies depending on the definition used.You might want to check clarkvision.com.

  • Dynamic Range and Exposure

    Hi,
    This is slightly off topic, but I'm hoping someone might be able to shed some light on issues that I'm experiencing with noise and and posterisation in the shadow areas of shots taken in dimly lit situations. The effect is most noticeable on indoor portait shots - and is common despite correct exposure information in my Canon 5D. I understand the need to bias exposures towards the right of the historgram to ensure maximum dynamic range, but I'm finding this quite challenging to accomplish in practice, without blowing out the highlights.
    I'm using fast and expensive glass (e.g. EF24-70 F/2.8 L), and am lead to belive that the 5D has one of the best low light sensors around.
    No amount of tweaking in Aperture seems to help (e.g. Chroma Blur) - so I'm running out of ideas (I've tried a variety of ISO settings etc. on the camera). Is this a case of camera technique ? Should I surrender to the flash - or is there anything else I can try.
    Thoughts appreciated.
    Paul

    Hi Paul
    Do you have an sample image uploaded some ware that I could have a look at.
    I am making the assumption that you are shooting RAW. I am not studio based but have shot a lot of low light images with the 1D/1D MKII/s and I tested a 5D that I had on loan from Canon, the 5D is probably the best low light camera I have used so far.
    One trick you may wish to try is running your image trough Noise Ninja!! This seems to pull detail out of the shadows as well as cleaning the noise.
    Powerbook 1.5, PowerMac Quad, MacBook Pro   Mac OS X (10.4.8)  

  • WCF-WebHttp dynamic URL and Dynamic Header/Behavior configuration.

    HI,
    I have an requirement to integrate with the REST Services in BizTalk Server 2013 R2, And This REST Service URL and HTTP Headers will differs per message. So I had created an Orchestration with the Dynamic Request-Response port and assign the properties in
    Message Assignment Shape. However while testing HTTP Headers were not added to service request message.
    I had tried with create Custom endpoint behaviour and assigned this behaviour to service request in Orchestration, however this property also not assigned from the Orchestration.
    Is this a bug for WCF-WebHttp Adapter? Is any other options to achieve my requirement?
    Thanks,
    Raj
    Praveen

    Hi Praveen,
    Its a known bug already
    reported to Microsoft. 
    BizTalk 2013 servers that have been upgraded from BizTalk 2010 are missing
    some of the new global properties including HttpHeaders properties because
    of this even in orchestration we cannot change the HttpHeaders on messages.
    As a workaround WCF behavior extension
    can be used to solve this problem.
    Which can be downloaded from here.
    For the detailed explanation, I would adivce you to follow the below link on how to dynamically change
    the WCF-HttpHeaders for WCF-WebHTTP adapter.
    Dynamic
    WCF-HttpHeaders for WCF WebHttp adapter
    There is already a discussion going on around this on another post. Ashwin has also recommend to use custom pipeline component as a work around .
    Refer: BizTalk WCF-WebHttp Custom Headers per message
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Finding column count with dynamic columns and dynamic tables

    I've done some PL/SQL for awhile now but was trying to devise a solution for the following problem:
    I wish to find the number of times a specific value for a column exists in all the tables that contain the field and I have access to see with the current user. The column name and value will be passed in via parameters.
    I was hoping to use something like
    select table_name from all_tab_columns where column_name = <variable table name>;
    then use the results from this to create a select statment based off the tables from the select above. I know the difference between dba_tab_columns and all_tab_columns - I want to make sure that I only retrieve the values i have access to.
    Can anyone point me to some guide / website / reference material I can read to catch up on the idea of creating this statment?
    Thank you.

    Hi,
    it's a test version.
    You can naturally tune it, but it seemed to work:
    declare
    pi_column VARCHAR2(30) := 'DEPTNO';
    pi_value VARCHAR2(4000) := '20';
    v_count NUMBER := 0;
    v_count_tab NUMBER;
    BEGIN
    FOR I IN (select owner, table_name from dba_tab_columns
              where column_name = pi_column
    LOOP
        EXECUTE IMMEDIATE 'SELECT count(*) FROM '||i.owner||'.'||i.table_name||
                          ' WHERE '||pi_column||' = :pi_value'  INTO v_count_tab USING pi_value; 
        v_count := v_count + v_count_tab;
    END LOOP;                   
    dbms_output.put_line(v_count);
    END;Regards

  • What's the dynamic range of PCI-6289?

    Dear Sir:
    Could you tell me the dynamic range of PCI-6289?
    Is there any difference using PCI-4472 or PCI-6289 when measuring vibration signal?
    Thank you!
    Regards,

    Hello,
    The PCI-4472 would be best suited for vibration measurments. It has 24-bit resolution, Simultaneous Sampling, Hardware Time-to-Frequency Domain Conversion, 110 dB Dynamic Range, and hardware filtering. See the following Link for more details on the 4472: http://sine.ni.com/apps/we/nioc.vp?cid=10572〈=US
    The 6289 was not built with vibration analysis in mind, the the dynamic range is not spec'd.
    Let me know if you have any further questions.
    Sean C.

  • Dynamic fetch for dynamic sql query

    Hi All,
    I want to dynamically create a query and fetch it into a dynamic cursor record...The structure of the record should be the same as that of the query...
    Can you suggest any method to do that.
    eg
    OPEN <dynamic cur> FOR <dynamic stmt>;
    LOOP
    FETCH <dynamic cur> INTO <dynamic rec>;
    END LOOP;
    CLOSE <dynamic cur>;
    How do I declare the dynamic rec here?I would not know the columns in the query beforehand either.
    Thanks,
    Merz
    Edited by: merz on Sep 12, 2011 5:02 PM
    Edited by: merz on Sep 12, 2011 5:03 PM

    merz wrote:
    Hi All,
    I want to dynamically create a query and fetch it into a dynamic cursor record...The structure of the record should be the same as that of the query...
    Can you suggest any method to do that.And how are you expecting to write an application around a dynamic query and dynamic structure that you don't know?
    Saying that, as others have said, there is the DBMS_SQL package which can be used for certain valid reasons such as the following example....
    As sys user:
    CREATE OR REPLACE DIRECTORY TEST_DIR AS '\tmp\myfiles'
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser
    /As myuser:
    CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2
                                         ,p_dir IN VARCHAR2
                                         ,p_header_file IN VARCHAR2
                                         ,p_data_file IN VARCHAR2 := NULL) IS
      v_finaltxt  VARCHAR2(4000);
      v_v_val     VARCHAR2(4000);
      v_n_val     NUMBER;
      v_d_val     DATE;
      v_ret       NUMBER;
      c           NUMBER;
      d           NUMBER;
      col_cnt     INTEGER;
      f           BOOLEAN;
      rec_tab     DBMS_SQL.DESC_TAB;
      col_num     NUMBER;
      v_fh        UTL_FILE.FILE_TYPE;
      v_samefile  BOOLEAN := (NVL(p_data_file,p_header_file) = p_header_file);
    BEGIN
      c := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
      d := DBMS_SQL.EXECUTE(c);
      DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
      FOR j in 1..col_cnt
      LOOP
        CASE rec_tab(j).col_type
          WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
          WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
          WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
        ELSE
          DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
        END CASE;
      END LOOP;
      -- This part outputs the HEADER
      v_fh := UTL_FILE.FOPEN(upper(p_dir),p_header_file,'w',32767);
      FOR j in 1..col_cnt
      LOOP
        v_finaltxt := ltrim(v_finaltxt||','||lower(rec_tab(j).col_name),',');
      END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
      UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      IF NOT v_samefile THEN
        UTL_FILE.FCLOSE(v_fh);
      END IF;
      -- This part outputs the DATA
      IF NOT v_samefile THEN
        v_fh := UTL_FILE.FOPEN(upper(p_dir),p_data_file,'w',32767);
      END IF;
      LOOP
        v_ret := DBMS_SQL.FETCH_ROWS(c);
        EXIT WHEN v_ret = 0;
        v_finaltxt := NULL;
        FOR j in 1..col_cnt
        LOOP
          CASE rec_tab(j).col_type
            WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
                        v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
            WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
                        v_finaltxt := ltrim(v_finaltxt||','||v_n_val,',');
            WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
                        v_finaltxt := ltrim(v_finaltxt||','||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'),',');
          ELSE
            v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
          END CASE;
        END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
        UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      END LOOP;
      UTL_FILE.FCLOSE(v_fh);
      DBMS_SQL.CLOSE_CURSOR(c);
    END;This allows for the header row and the data to be written to seperate files if required.
    e.g.
    SQL> exec run_query('select * from emp','TEST_DIR','output.txt');
    PL/SQL procedure successfully completed.Output.txt file contains:
    empno,ename,job,mgr,hiredate,sal,comm,deptno
    7369,"SMITH","CLERK",7902,17/12/1980 00:00:00,800,,20
    7499,"ALLEN","SALESMAN",7698,20/02/1981 00:00:00,1600,300,30
    7521,"WARD","SALESMAN",7698,22/02/1981 00:00:00,1250,500,30
    7566,"JONES","MANAGER",7839,02/04/1981 00:00:00,2975,,20
    7654,"MARTIN","SALESMAN",7698,28/09/1981 00:00:00,1250,1400,30
    7698,"BLAKE","MANAGER",7839,01/05/1981 00:00:00,2850,,30
    7782,"CLARK","MANAGER",7839,09/06/1981 00:00:00,2450,,10
    7788,"SCOTT","ANALYST",7566,19/04/1987 00:00:00,3000,,20
    7839,"KING","PRESIDENT",,17/11/1981 00:00:00,5000,,10
    7844,"TURNER","SALESMAN",7698,08/09/1981 00:00:00,1500,0,30
    7876,"ADAMS","CLERK",7788,23/05/1987 00:00:00,1100,,20
    7900,"JAMES","CLERK",7698,03/12/1981 00:00:00,950,,30
    7902,"FORD","ANALYST",7566,03/12/1981 00:00:00,3000,,20
    7934,"MILLER","CLERK",7782,23/01/1982 00:00:00,1300,,10The procedure allows for the header and data to go to seperate files if required. Just specifying the "header" filename will put the header and data in the one file.
    Adapt to output different datatypes and styles are required.

  • How to create high dynamic range image in Photoshop Elements 2.0?

    I wonder if it is possible to Photoshop Elements 2.0. Any advice would be greatly appreciated.

    If you are talking about the idea of merging exposures IN ELEMENTS 2 and you are shooting RAW, you can do what Barbara suggests: Open the file once with favorable settings for the bright parts of the image and a second time for the shadows and merge. In Elements 2, the images will not open in 16-bit, and will be converted immediately to 8-bit. You will find that registration is right on, but there will be issues with the process if you want to retain higher bit counts (which to me is really the only way to have higher dynamic range in reality). I don't know where these started to be called 'high-dynamic range', and I think it is really a bit of a misnomer--especially in 8-bit. Even Elements 5 will not support 16-bit images with layers, so the opportunity to get true accentuation of dynamic range is...limited.

  • X-tended dynamic range versus x-tended dynamic range pro: what's the difference?

    What is the difference between X-tended dynamic range, Sony's version of HDR, and X-tended dyanmic range pro?  

    Hello,
    The PCI-4472 would be best suited for vibration measurments. It has 24-bit resolution, Simultaneous Sampling, Hardware Time-to-Frequency Domain Conversion, 110 dB Dynamic Range, and hardware filtering. See the following Link for more details on the 4472: http://sine.ni.com/apps/we/nioc.vp?cid=10572〈=US
    The 6289 was not built with vibration analysis in mind, the the dynamic range is not spec'd.
    Let me know if you have any further questions.
    Sean C.

  • LR dynamic Range Technic?!

    hello everyone,
    i came accross this video which i can't find again that shows some kind of a technic of handeling images.
    and it's as follows:
    taking the highlights all the way down to -100
    takingthe shadows all the way up to +100
    than,
    move the whites up with the alt key pressed untill clipped highlights occur.
    move the blacks down with the alt key pressed, untill clipped shadows occur.
    now i do see what it does to the image, but i wondered if someone is familiar with this technic and can explain furthuer what can be the uses of such a technic?
    thank much

    ShacharOren wrote:
    you said it all
    And yet I could go on for days (but don't worry: I won't - or at least I'll try not to ).
    Perhaps another formula which also has some redeeming qualities (oriented toward more natural results which incorporate exposure and contrast adjustments too):
    * If obviously over-exposed, reduce exposure some, else pass.
    * If obviously under-exposed, increase exposure some, else pass.
    * If obviously overly contrasty, decrease contrast some, else pass.
    * if seemingly under contrasty, pass (note: the distinction here: it's often impossible to tell if a photo is under-contrasty until blacks and/or whites are adjusted).
    then
    * adjust blacks
    repeat.
    The take-aways so far:
    * you can't adjust exposure and contrast in any meaningful (or near-final) way without blacks in the ball-park, so don't try.
    * you must use -contrast to knock overly contrasty shots down, lest you end up with a very unnatural looking photo.
    * you don't want to use +contrast unless a shot really needs it, which you can't tell until blacks (at least) are in the ball-park.
    If I've relayed the importance of not deferring blacks slider too long, then you got most of my point so far.
    Now do something similar but different:
    * If not occupying full (enough) dynamic range on the right, increase whites some.
    * if too bright, reduce exposure.
    * if still overly contrasty (or lacking in highlight/shadow detail), -highlights & +shadows.
    repeat.
    Conceptually:
    * you don't want to rely soley on -contrast for reducing contrast, lest you end up with an anemic looking photo (that's where the -highlights +shadows comes in).
    * You want to use whites slider for maximizing dynamic range without overexposing (and if you crank whites up, you may need to compensate by dropping exposure down - and in doing so, you'll reveal more highlight detail, and thus not need so much -highlights).
    The astute reader will have noticed: I left +contrast out of the formula. Not sure what to say, except in my opinion, increasing contrast is more of a "fine-tuning" activity, than getting blacks/whites/exposure balanced, which is primary. In other words, once one has basic dynamic range and brightness established, they can play with increasing contrast, and/or adding clarity, and tweak the others in concert.., to finish.
    PS - skewing (asymmetrical) highlight and shadow values I also consider a "fine-tuning" activity, at least for normal photos where a fairly normal result is desired.
    Examples:
    * if you want a brighter photo without excessive shadow brightness/detail, and with recovery of stubborn highlights, you may need:
    +exposure -highlights -shadows.
    But if you want a relatively dim photo but without closed-out shadows, you may need:
    -exposure +highlights +shadows.
    If you are after artistic effect, then forget all of this - no rules! (except maybe #5: have fun).
    UPDATE:
    =======
    The original formula, set forth by Adobe/Eric-Chan, Lee Jay, Victoria Bampton, etc. went more like this:
    * Adjust exposure as if it was the only adjustment you'd be allowed to make, until photo looks as good as possible with only exposure adjusted, then
    * Adjust contrast as if it was the only remaining adjustment you'd be allowed to make, until photo looks as good as possible with only exposure and contrast adjusted, then
    * Maybe adjust highlights and shadows...
    * Only adjust blacks & whites if necessary to set clipping points.
    Please forgive if I haven't paraphrased 100% accurately (in the interest of making a point), but the formula was known as "top-down" - and it had that name because the sliders were considered to be pre-ordered as they should be adjusted: most bang for buck at the top, and on down...
    I think this formula was invented due to dependent behaviors of PV2012 sliders (e.g. you don't want to dive into +shadows before considering +exposure because exposure influences range of tones affected by shadows slider), and I also suspect it was at least partly influenced by Revel, which has same sliders as Lightroom, but without the blacks & whites. Nevertheless, such formula so does not work for me, again: YMMV.
    =======
    Cheers,
    Rob
    Message was UPDATED by: Rob Cole

  • Difference between Static SQL Query and Dynamic SQL Query.

    Hi,
    Please explain the basic difference between static and dynamic sql queries. Please explain with example.

    Static: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/static.htm
    Dynamic: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/dynamic.htm

  • Pivot and dynamic SQL

    Hi Team,
    I need to write a SQL to cater the requirements. Below is my requirements:
    pagename fieldname fieldvalue account_number consumerID
    AFAccountUpdate ArrangementsBroken dfsdff 1234 1234
    AFAccountUpdate ArrangementsBroken1 dfsdff 1234 1234
    AFAccountUpdate ArrangementsBroken2 dfsdff 1234 1234
    AFAccountUpdate ArrangementsBroken2 dfsdff 12345 12345
    AFAccountUpdate ArrangementsBroken1 addf 12345 12345
    Create table test_pivot_dynamic
    pagename varchar(200),
    fieldname Varchar(200),
    fieldvalue varchar(500),
    N9_Router_Account_Number bigint,
    TC_Debt_Item_Reference bigint
    --Input
    insert into test_pivot_dynamic Values('AFAccountUpdate','ArrangementsBroken','addf',1234,1234)
    insert into test_pivot_dynamic Values('AFAccountUpdate','ArrangementsBroken1','dfsdff',1234,1234)
    insert into test_pivot_dynamic Values('AFAccountUpdate','ArrangementsBroken2','fder',1234,1234)
    insert into test_pivot_dynamic Values('AFAccountUpdate','ArrangementsBroken2','dfdfs',12345,12345)
    insert into test_pivot_dynamic Values('AFAccountUpdate','ArrangementsBroken1','dfdwe',12345,12345)
    insert into test_pivot_dynamic Values('AFAccountUpdate1','Arrangements','addf',1234,1234)
    insert into test_pivot_dynamic Values('AFAccountUpdate1','Test1','dfsdff',1234,1234)
    --Expected output:
    Select 1234,1234,'AFAccountUpdate','ArrangementsBroken','addf','ArrangementsBroken1','dfsdff','ArrangementsBroken2','fder','ArrangementsBroken2','fder'
    Select 12345,12345,'AFAccountUpdate','ArrangementsBroken','addf','ArrangementsBroken1','dfdwe','ArrangementsBroken2','dfdfs'
    Select 1234,1234,'AFAccountUpdate1','Arrangements','addf','Test1','dfsdff'
    so basically we have to pivot and dynamic sql and insert the expected output to a common table which will have all the required fields
    Thanks,Ram.
    Please don't forget to Marked as Answer if my post solved your problem and use Vote As Helpful if a post was useful. It will helpful to other users.

    This should give you what you're looking for
    SELECT N9_Router_Account_Number,TC_Debt_Item_Reference,PageName,
    MAX(CASE WHEN SEQ = 1 THEN fieldname END) AS fieldname1,
    MAX(CASE WHEN SEQ = 1 THEN fieldvalue END) AS fieldvalue1,
    MAX(CASE WHEN SEQ = 2 THEN fieldname END) AS fieldname2,
    MAX(CASE WHEN SEQ = 2 THEN fieldvalue END) AS fieldvalue2,
    MAX(CASE WHEN SEQ = 3 THEN fieldname END) AS fieldname3,
    MAX(CASE WHEN SEQ = 3 THEN fieldvalue END) AS fieldvalue3,
    MAX(CASE WHEN SEQ = 4 THEN fieldname END) AS fieldname4,
    MAX(CASE WHEN SEQ = 4 THEN fieldvalue END) AS fieldvalue4
    FROM
    SELECT *,ROW_NUMBER() OVER (PARTITION BY N9_Router_Account_Number,TC_Debt_Item_Reference,PageName ORDER BY PageName) AS SEQ,*
    FROM test_pivot_dynamic
    )t
    GROUP BY N9_Router_Account_Number,TC_Debt_Item_Reference,PageName
    To make it dynamic see
     http://www.beyondrelational.com/modules/2/blogs/70/posts/10791/dynamic-crosstab-with-multiple-pivot-columns.aspx
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Problem with "PL/SQL Dynamic Content" and displaying rows

    hi,
    im new to APEX, and pl/sql [but not web dev or sql].
    ive found the bit in APEX that lets you add data from your DB using the 'CREATE' > 'PL/SQL Dynamic Content'.
    maybe there's a better option for people who dont know pl/sql? i dont know?
    however, i think i can getting working with a little bit of help but im stumbling around in the dark a bit here.
    ok so this is the pl/sql ive come up with to show three example values on page 23 of my aplplication:
    BEGIN
    SELECT ID, NAME, OWNER
    FROM COM_MAILSHOTS
    INTO :P23_ID, :P23_NAME, :P23_OWNER;
    END;
    im getting the error:
    1 error has occurred 
    ORA-06550: line 5, column 21: PL/SQL: ORA-00933: SQL command not properly ended ORA-06550: line 4, column 1: PL/SQL: SQL Statement ignored
    thanks for reading!

    Metabaron wrote:
    hi,
    im new to APEX, and pl/sql [but not web dev or sql].
    ive found the bit in APEX that lets you add data from your DB using the 'CREATE' > 'PL/SQL Dynamic Content'.
    maybe there's a better option for people who dont know pl/sql? i dont know?
    The easiest (and best) way to "display rows" is using a report. Dynamic PL/SQL regions are more complex and are required much less frequently.
    The Oracle® Database 2 Day + Application Express Developer's Guide tutorial explains how to create reports and other basic APEX techniques.

  • ACR and dynamic range tests

    I have been looking at dynamic range tests on dpreview.com for different cameras. I'm particularly intrigued by the "RAW headroom" graphs. They have things like "ACR Best: Exp. -0.85 EV, Shadows 0, Bright. 70, Contrast -25, Curve Linear" (Pentax K10D), "ACR Best: Exp. -1.3 EV, Shadows 0, Bright. 70, Contrast -50, Curve Linear" (Canon 30D) "ACR Best: Exp. -1.0 EV, Shadows 0, Bright. 70, Contrast -50, Curve Linear" (Canon 400D). The "RAW ACR Best" curves for all these cameras are very different, and I don't think I understand their real meaning, so here are a few questions:
    - What is a "linear curve" in ACR? Does it mean no curve at all is applied to the RAW data, and so what we see is the actual sensor response? Or, does ACR apply a standard curve to RAW data from all cameras, even when a "linear curve" is selected? Or even yet, are there different default curves (even with "linear curve" selected) for different cameras in ACR, and what implications would this have when comparing graphs from different cameras?
    - Since these cameras have most likely been processed with different versions of ACR (since they were released at different times), could ACR's algorithms and defaults have been changed in any way that might prevent these tests from being readily comparable? For example, the noise reduction and highlight recovery algorithms might have been improved in the latest versions of ACR.
    Thanks,
    Marcos

    >- What is a "linear curve" in ACR? Does it mean no curve at all is applied to the RAW data, and so what we see is the actual sensor response? Or, does ACR apply a standard curve to RAW data from all cameras, even when a "linear curve" is selected? Or even yet, are there different default curves (even with "linear curve" selected) for different cameras in ACR, and what implications would this have when comparing graphs from different cameras?
    ACR will not give you the actual sensor response with no white balance or gamma encoding; for this purpose you need a specialized program such as DCRaw. If you convert into sRGB or aRGB, the image is encoded with a gamma of 2.2, whereas a gamma of 1.8 is used for ProPhotoRGB.
    If you want to linearize the tonal response in ACR you can set the sliders on the basic tab to zero (Exposure, Brightness, Contrast to and Shadows). Curves was added in ACR ver 3.X and you should also set the curve to linear. The Medium and Strong Contrast in the curves tab adds to the Contrast slider in the basic tab, and I think that the two were not merged for reasons of backward compatibility. In all cases, the resulting image is gamma encoded. To learn more about these controls, I would recommend Bruce Fraser's Real World Camera Raw for PSCS2 book. The Exposure and Black sliders set the black and white endpoints respectively. The contrast control applies an S curve around the midpoint, which is set by the Brightness control (see p 81). Jeff Schewe is revising the book for PSCS3 due out shortly.
    Dynamic range is limited by the noise floor and improvements in noise reduction in the current version of ACR could affect the results. Phil's dynamic range measurement uses highlight recovery with the Exposure slider (negative values). ACR 4.1 also has the Recovery slider, but he apparently does not use this control.

  • ACR Defaults and Dynamic Range

    The tone curve in ACR has a profound effect on the dynamic range of the rendered image, and often this is not appreciated by users. To demonstrate the effects of the tone curve on DR, I photographed a Stouffer step wedge with the Nikon D3 and rendered the image into a TIFF with various tone curves and determined the resulting dynamic range with Imatest.
    Here is the target rendered with the ACR defaults for this camera, which include a black point of 5 (downsampled and shown as a JPEG):
    http://bjanes.smugmug.com/photos/422699368_FRdKT-O.jpg
    Shown below is the resulting characteristic curve as determined by Imatest along with the DR and other data. The total dynamic range is only 7.64 stops. This low DR results from the default black point of 5, which rolls off the darker tones as shown on the graph.
    http://bjanes.smugmug.com/photos/422697342_tnUFo-O.png
    By setting the black to 0, the total DR is increased to 12.3 stops and the useful photographic DR according to various quality levels is shown.
    http://bjanes.smugmug.com/photos/422697338_5e8pv-O.png
    One can also use a linear tone curve by setting all the basic settings to 0 and the point curve to linear.
    http://bjanes.smugmug.com/photos/422697332_u59B5-O.png
    For convenience, the tone curves are shown together here.
    http://bjanes.smugmug.com/photos/422697328_26BFV-O.gif
    One might wonder why Adobe chose a default black value of 5 for the D3, since it severely limits dynamic range by rolling off the blacks. The probable answer is that the full DR can not be reproduced on screen or in print without using a tone curve that would give the image a flat and unattractive appearance. Note that the darker steps of the Stouffer wedge are not distinguishable on the screen but differences can be noted if one measures the values with the eyedropper in PS. The default setting of 5 rolls of shadows which would not be reproduced and enhances contrast in the remaining image.

    >Why? Real World Camera Raw is platform agnosticaside from the fact that most all of the images contained in the book happen to come from cameras Bruce and I had/have and those are Canons. To the best of my knowledge, there is nothing in Camera Raw that is camera model dependent except for the DNG Profiles and the baseline demosiacing and noise reduction which vary camera by camera. Why should I care about the Nikon D3 specifically?
    In 35 mm style dSLRs (which I would venture to say are used by the vast majority of ACR users) Nikon and Canon are the two major brands. One thing that is camera specific is the baseline exposure offset that ACR uses for these cameras. For the Nikon D3 (and other recent Nikon cameras), ACR uses a baseline exposure offset of +0.5 EV. If you don't know this and try to expose to the right as much as possible, the histogram will appear overexposed in ACR when in reality the channels are far from clipping.
    This is demonstrated in the following screen capture using ACR defaults with an Exposure value of 0. The highlights of the target appear blown.
    http://bjanes.smugmug.com/photos/423897106_wvzqw-O.png
    They also appear blown using the new beta profile, which does not take the baseline exposure offset into account.
    http://bjanes.smugmug.com/photos/423897066_xeHoi-O.png
    Looking at the raw histogram with Rawnalize, we see that the channels are not blown:
    http://bjanes.smugmug.com/photos/423898181_md3kC-O.png
    And here are the actual raw values for the red, green and blue channels (highlighted) of Step 1:
    http://bjanes.smugmug.com/photos/423901972_MguxL-O.png
    The raw headroom in each of the color channels (as shown in the raw histogram) also has something to do with the amount of highlight recovery that is possible. I would think that these considerations would be of inerest to the readers of your Camera Raw book.

Maybe you are looking for

  • Using iMac as display for Xbox One

    I have the latest iMac http://www.apple.com/uk/imac/specs/ Would there be any way I could connect the new XBox One to the iMac screen and use it as a display? Here is the rear of the Xbox one, anybody have a idea? Many thanks xbox-720-hardware-ports-

  • Can you share playlists on iTunes with other computers?

    I recently started to share my iTunes library across all my home computers. I have my main libray shared and can view all the music entries. Now I wanted to see if I could share playlists already compiled among these computers.

  • Please read - Rules of Engagement

    Before posting your questions please read [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement]

  • Tecra M2 725 dark spots lower left and right corner.

    I have bought a Tecra M2 725 and in the lower right and left corner there is a spot. It's looks the same as when you hold a magnet close to a CRT monitor.They are small in size and stay within the measurements of the Windows taskbar. Sometimes they a

  • How to install Oracle Process Automation  for Mobile

    Hi I want to install Oracle Process Automation components for Mobile. I have downloaded the V20466-01.Zip file from Oracle Website, i dont find any setup file to intall OPA. Please let me know how to install OPA( i already installed Oracle Process Mo