Processing in Tiles necessary?

Hi,
the photoshop documentation says that you should process the whole image in tiles using the prefered tile size given in filterRecord.
Thats fine for separate pixel processing, e.g. color correction.
But what is when I need a lot of neigbor-pixel for my filtering?
Especially in the theoretical worst case where each out-pixel is the weighted sum of _all_ in-pixel?
is it only a matter of memory allocation or will I have problems processing (very) large images?
Thomas

That's kind of the same thing isn't it. You should strive to get the <br />smallest footprint for your processing as possible.<br /><br /><br /><[email protected]> wrote in message <br />news:[email protected]..<br />> Hi,<br />><br />> the photoshop documentation says that you should process the whole image <br />> in tiles using the prefered tile size given in filterRecord.<br />> Thats fine for separate pixel processing, e.g. color correction.<br />> But what is when I need a lot of neigbor-pixel for my filtering?<br />><br />> Especially in the theoretical worst case where each out-pixel is the <br />> weighted sum of _all_ in-pixel?<br />><br />> is it only a matter of memory allocation or will I have problems <br />> processing (very) large images?<br />><br />> Thomas

Similar Messages

  • Big files into smaller chunks to process them til EOF

    Hello,
    I have a file that is about 10,000 (+ or - 500) which I want to process them by about 2500 lines at a time. I am reading each line by line and stroing them in object to update the database. The reason I am doing this is beacuse I get aan OutOfMemoryError Does anyone have ideas?? if you do can you kinda give me an idea how i can write it since i am new to the java.
    Thanks
    Here are the basic concept of the code that i am using
    while ( line != null )<--will access each line of the file
    processLines();<- process the files accordingly

    The answer to your question
    try {
      String line = "";
      BufferedReader in = new BufferedReader(new FileReader("filename"));
      while (line != null) {
        for (int i = 0;i < 2500 && line != null;i++)
          parseLine(line);
          line = in.readLine();
        doDatabaseStuff()
    } catch (Exception e) {
    e.printStackTrace();
    }Although it answers your question, it does not solve the real problem, which is why are you getting an out of memory exception. Unless you working on a machine with 8MB RAMM, I don't see how reading in a 10,000 line file will cause this. Java will try to use 64MB at most of RAMM, unless you specify more. I think the real issue has to do with what you are doing with the Strings once they are read in.

  • Error while processing your request while opening PDF in ESS

    Hi,
       I had one more issue in Travel and expenses -->Movement Order
       we are not able to open the PDF ,when we are trying to open that getting the below error
        In R/3 also we are not able to open the PDF  ,but in portal side I am getting below error.
              Guys please share your inputs.....
                   what are the steps need to do  for resolve the issue.
        Eror while processing your request!
    What has happened?
    The call of URL http://rcihwrepa1v.hastinapur.res:8003/sap/bc/webdynpro/sap/FITV_TRIP_FORM/ has been terminated due to an error.
    uF0A7     The following error occurred in system REP : Syntax error in program /1BCDWB/SAPLSM00000007 .
    uF0A7     The error occurred on application server rcihwrepa1v_REP_03 and in work process 0 .
    uF0A7     The termination type was: RABAX_STATE
    uF0A7     The ABAP call hierarchy was:
    Form: GET_REQUEST_FORM of program SAPLPTRM_WEB_FORMS
    Form: GET_REQUEST_FORM of program SAPLPTRM_WEB_FORMS
    Function: PTRM_WEB_FORM_PDF_GET of program SAPLPTRM_WEB_FORMS
    Function: PTRM_WEB_FORM_GET of program SAPLPTRM_WEB_FORMS
    Method: DISPLAY_FORM of program CL_FITV_POWL_UTIL=============CP
    Method: DISPLAY_FORM of program /1BCWDY/9BDOSL87UR8KAUWCEZMQ==CP
    Method: IWCI_FITV_UI_DISPLAY_FORMS~DISPLAY_FORM of program /1BCWDY/9BDOSL87UR8KAUWCEZMQ==CP
    Method: ONACTIONSHOWDATA of program /1BCWDY/9BDOSL87UR8KAUWCEZMQ==CP
    Method: IF_WDR_VIEW_DELEGATE~WD_INVOKE_EVENT_HANDLER of program /1BCWDY/9BDOSL87UR8KAUWCEZMQ==CP
    Method: INVOKE_EVENTHANDLER of program CL_WDR_DELEGATING_VIEW========CP
    What can you do?
    uF0A7     In the case of termination type RABAX_STATE, you will find more information on the cause of termination in system REP in transaction ST22.
    uF0A7     In the case of termination type ABORT_MESSAGE_STATE, you will find more information on the cause of termination on application server rcihwrepa1v_REP_03 in transaction SM21.
    uF0A7     In the case of termination type ERROR_MESSAGE_STATE, you can search for more information in the trace file for the work process 0 in transaction ST11 on application server rcihwrepa1v_REP_03 . An analysis of the trace files for other work processes may be necessary.
    uF0A7     If you do not yet have any user ID, contact your system administrator.
    Error Code: ICF-IE-http -c: 500 -u: 1502 -l: E -s: REP -i: rcihwrepa1v_REP_03 -w: 0 -d: 20120215 -t: 121310 -v: RABAX_STATE -e: SYNTAX_ERROR -X: -x:
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team
    Regards,
    Sony.
    << moved by moderator - check out the list of other forums on top of portal forum >>
    http://forums.sdn.sap.com/thread.jspa?threadID=1239838&tstart=0
    Second move of threads opened by your user ID today. Please check the list of forums and open a thread in the most relevant one.
    Edited by: Anja Engelhardt on Feb 15, 2012 1:33 PM
    Thank you Anja
    Edited by: sonyepmdm on Feb 15, 2012 1:47 PM

    this is to do with ADS config
    Can you please enable the ADS Trace as described in SAP note:
    #846610 and reproduce the problem?
    and
    the destination  possibly service is not working.
    Please follow note:
    #915399

  • BI Admin Cockpit: Program variant missing in Process chain

    Hi,
    I'm installing BI Admin Cockpit and have troubles with Process chains. I followed the installatin guide and had problems activating process chains: 0TCT_C2_INIT_P01 and 0TCT_MD_C_FULL_P01 because of missing InfoPackages. I solved this by installing an correction as it is described by Note: 1432353. After this I activate these Process chains manually in RSA1 Administration--> BI Content -->Process Chains (all necessary objects). No Problems occured. The Problem is when I'm start these Process chains, I get an error on the last step. There is an Abap Programm with an variant. This variant is missing in the System.
    The Variants are:
    - RSTCC_Dataload (0TCT_C2_INIT_P01)
    - RSTCC_QRuntime (0TCT_MD_C_FULL_P01)
    I tried also to get these Process chains with Dataflow before and after to view if I forgot anything to activate, but there is no programm variant. Can anybody explain, how to get these programm variants?
    Thanks and greetings,
    Sebastian

    Sebastian,
    I faced the same problem. Basically what I found was that variants were not defined. So I manually created the value for variants:
    1. For RSTCC_DATALOAD assign value  TCT_C2_DELTA_P01
    2. For RSTCC_QRUNTIME  assign value   0TCT_C0_DELTA_P01
    Our system info is similar to what you have and I in fact had Basis team patch BI Cont to level 6 but this did not help. If I were to take a guess i would have to say that these variants are missing in the 7.01 BI version, you can either choose to create a OSS message with SAP and wait for them to fix it or you could fix it manually.

  • Best way to do a tile-based map

    Hello everybody-
    This should be a simple thing but I just can't get it to work. I'm making a tile-based top-down online rpg (application, not applet), and I pretty much have most of it done except I can't get the map to display and scroll right. i will admit that java graphics isn't really my thing, but i just can't get it. Its been so frustrating that i actually quite develpment on my game and quit for awhile, but i decided to try again. What I have is an array if images that make up the map, and then i manipulate the array depending where the character is so i only draw the tiles necessary. what i want to do is to combine all the tiles i need for the particular position, draw that image to the screen (so i don't have to draw each tile individually to the screen). then i could move that large image depending where the character moved, and add tiles to it depending on which way the character moves. I just can't get it to work however. I've looked at double-bufferning posts and that gave me some ideas, but not enough for my particular situation. if anybody has any experience in this i would be more than greatful. thank you

    I know exactly what you are talking about, I had your problem a while back when I was doing mobile phone games.
    To reduce the number of cell draws needed, cells were only drawn when at the edges of the view area. (all other cells were maintained from the previously drawn frame.)
    It gets pretty complicated, but it will work - stick with it.
    I would post some code - but I don't have it anymore - and it was pretty specific to J2ME MIDP API (java mobile phone).
    p.s. When I did it, I had to include several additional optimisation, these made it incredibly complex :(
    I will try to describe it, but without pictures, It will probably be in vain. (don't worry if you don't understand it :P)
    here is the summary of the logic :-
    the backbuffer had dimensions SCREEN_WIDTH+CELL_WIDTH*2, SCREEN_HEIGHT+CELL_HEIGHT*2 (I effectively had a border that was CELL_WIDTH wide, and CELL_HEIGHT tall.)
    this meant new cells only had to be drawn every time the view area passed over a cell boundary.
    however, doing this, meant it was super smooth until it hit a cell boundary, at which point it had to draw all the cells in the newly exposed column and/or row - which caused a jerk.
    To get around this, I devised a speculative rendering, where by the next column/row was pre-rendered over a series of game frames.
    (each column/row had its own buffer into which the pre-rendering was done)
    On average 2-4 times as many edge cells had to be rendered than needed, but, because the camera moved slowly, this could be distributed over approx. 10 game frames.
    By distributing the rendering of the edge cells over a number of game frames, I hoped to remove the jerk experienced as the camera crossed a cell boundary.
    The system worked... ish... but I never finished it :(
    basically, these were crazy optimisations that were only necessary because I was developing for mobile phones.
    On mobile phones the speed of rendering is relative to the number of draw calls, NOT the actual area of the screen being repainted.
    e.g.
    fillRect(0,0,50,50)
    fillRect(0,50,50,50)
    will take almost twice as long as
    fillRect(0,0,100,100)
    even though you are only painting 1/2 the area.

  • Polling flag in the Process Chain

    Hello Gurus,
    What is the meaning of the polling flag in the Process Chain attributes?
    When and why do we use it?
    Please explain with scenarios, examples, pros and cons.
    It’s my pleasure to award points,
    Thanks and best wishes,
    i-bi

    hi,
    polling flag is an attribute of a process chain.
    With this indicator you can control the behavior of the main process when you have distributed processes. Distributed processes, such as the loading process, are characterized as having different work processes involved in specific tasks.
    With the polling flag you determine whether the main process needs to be kept as long as the actual process has ended.
    By selecting the indicator,
    a high level of process security is guaranteed, and
    external scheduling tools can be provided with the status of the distributed processes.
    However, the resource use of the system is increased and a background process is more necessary
    hope it helps,
    regards,
    yunus

  • Business process-BUSES

    Sirs, My project is the related to the Manufacturing, industrie BUSES , Under this one what we can say as the BUSINESS PROCESS,(how to the intial stage comes to work in, and how to the finished completed structure) please what have ur valuble suggestion..... help

    Dear Ameer,
    <b>ASAP Methodology</b>
    Forward Media has adopted ASAP (Accelerated SAP) as its methodology of choice for SAP implementations, upgrades and module additions.
    Our in-depth knowledge of ASAP allows us to customise and streamline ASAP to suit widely varying project requirements. For example - while ASAP was originally conceived as an implementation methodology, Forward Media has found ways to apply its strengths to the smaller tasks of SAP upgrades and new module additions. Innovations such as these have become part of standard and offically endorsed ASAP methodology.
    Our involvement with the ASAP methodology began in 1996, when Forward Media Director Nadia Ward worked extensively with SAP America on the creation of the original ASAP methodology. Nadia led the technical component of the first commercial trial of ASAP in an implementation for CFS in New York - in the process contributing several operational templates to the ASAP toolkit.
    ASAP Phases
    The ASAP methodology structures the project lifecycle into five phases which run sequentially from project start to project completion. These standard ASAP phases are:
    1.     Project Preparation
    2.     Business Blueprint
    3.     Realisation
    4.     Final Preparation
    5.     Go-Live and Support
    Concurrently with these ASAP phases, we also run a series of continuous processes which cover the types of activities which, by their nature, transcend individual phase boundaries (eg: Quality Assurance) or which require activity throughout the project lifecycle (eg: Knowledge Transfer).
    These continuous processes identified as necessary for most SAP projects:
    1.     Quality Assurance
    2.     Data Migration
    3.     Basis
    4.     Knowledge Transfer
    5.     Cutover Planning
    6.     Project Accelerators
    Together, the ASAP phases and our continuous processes define the broad outline of our approach for SAP projects.
    Project Management Toolkit
    Forward Media has a series of Project Management tools in addition to those sourced from ASAP that we make available to our clients. These include templates such as our:
    •     Project Plan Template (for SAP Implementations and Upgrades)
    •     Data Conversion Strategy
    •     Cutover Plan
    •     ABAP specifications
    •     Test Scripts
    •     Client Landscape
    •     Change Management Strategy
    •     Month End Schedule
    •     Issues Log
    •     Phase 1: Project Preparation
    •     Phase 2: Business Blueprint
    •     Phase 3: Realization
    •     Phase 4: Final Preparation
    •     Phase 5: Go Live & Support
    <b>Phase 1: Project Preparation</b>
    In this phase of the ASAP Roadmap, decision-makers define clear project objectives and an efficient decision-making process. Here Project Organization and roles are defined and implementation scope is finalized.
    System landscape and Technical Requirement
    •      Infrastructure need (Hardware/interfaces): Available- QuickSizing Service: to be accessed via SAPNet
    •      System Landscape
    •      High level strategies for client
    •      Archiving strategy
    Issues Database:
    Issues must be resolved before phase completion ot before beginning of the next phase. The issues can be
    •     Unanticipated tasks
    •     Normal tasks that can not be completed
    •     External factors that need to be dealt with.
    Issues database allows the project team to enter, track and report on project issues.
    <b>Phase 2: Business Blueprint</b>
    In this phase scope of the R/3 implementation is defined & Business Blueprint is created. Business Blueprint is a detailed documentation of company’s requirements.
    Various tools are used in this phase.
    •     AcceleratedSAP Implementation Assistant
    •     Question & Answer Database (Q&Adb)
    •     Business Process Master List (BPML)
    •     R/3 Structure Modeler
    •     Business Navigator and external modeling tools
    <b>Project Management:</b>
    Activities nagement:in this work package are:
    •     Conducting Status meeting for project team
    •     Conducting steering committee meetings
    •     General project management
    •     Addressing organizational issues relating to organizational change management.
    Other activities include:
    •     Project Team Training
    •     Developing the System Environment
    •     Defining Organizational Structure
    •     Defining the Business processes
    R/3 reference model can be used for
    •     Comparing the standard functionality with your companies own organizational requirements
    •     Creating documentation for the conceptual design
    •     Optimizing business processes
    •     Training the project team and users
    •     Writing user documentation
    Question and Answer Database can be used to determine
    •     The Baseline Scope
    •     Cycle Plan
    •     Integration test Plan
    <b>Phase 3: Realization</b>
    The purpose of Phase 3 is to configure the R/3 system. The configuration is carries out in two steps; baseline configuration & Final configuration. 
    Business Process Master List (BPML) is created in phase 2 as a report from Q&A database. It is used to identify, plan, schedule and monitor the configuration and testing of all R/3 scenarios and processes within the scope of an implementation. BPML is a representation of the R/3 business and transactions that are contained within the scope of the project. BPML is feeds all business information to all subsequent worksheets.
    <b>Implementation Guide (IMG):</b>
    It is the main tool for setting the parameters to configure or ‘Customize’ R/3 during the realization phase.   IMG reflect the chronological order in which the customizing activities are carried out.
    The following aspects of configuration are also to be considered:
    •     Defining authorizations in the R/3 system
    •     Defining workflows
    •     Creating user documentation
    System Manager Procedures
    •     Developing system test plans
    •     Defining service level commitment
    •     Establishing system administration functions
    •     Setting up Quality Assurance environment
    •     Defining the design of the productive system
    •     Defining system management procedures for the productive system
    •     Setting up the productive environment
    At the end of this phase, Project Manager must check the status of deliverables for completeness and accuracy. This internal quality check should be carried out in addition to an external, independent third party Quality Audit.
    Preparation for end-user training needs to be gone through and approved at and of this phase.
    <b>Phase 4: Final Preparation</b>
    The purpose of this phase is to complete the final preparation of the R/3 system for going live. This includes testing, user training, system management and cutover activities, to finalize your readiness to go live.
    In this phase the R/3 system is handed over to individual departments for productive operation. This includes preparation of end-user documentation and training the end-users. The technical environment is installed on production system & is tested. Project managers prepare plans for going live, transfer of legacy data and support at early stages.
    End-user training is a critical activity for success of the project. InfoDB may be used to plan for the User Training activities. Computer Center Management System (CCMS) must be set at this time. Simulation of productive operation system & testing the same is of great important.
    The test plan contains the following activities
    •     Testing conversion procedures and programs.
    •     Testing interface programs
    •     Conducting volume & stress testing
    •     Conducting final user acceptance testing
    •     Developing a final go-live strategy.
    The Computer Aided Test Tool (CATT) can be used to automate test sequences for key business processes.
    Phase 4 also provides for the testing of the disaster recovery plan for the productive environment. Disaster downtimes are verified and details on de-escalation.
    <b>Phase 5: Go Live & Support</b>
    This phase is concerned with supporting and optimizing the operative R/3 system.
    Following activities are carried out
    •     Production support facilities are defined.
    •     Validation of business processes and their configuration.
    •     Follow-up training for users
    •     Signoffs etc.
    During phase 5, the first EarlyWatch session should be held, where experts from SAP analyze the system’s technical infrastructure. The aim is to ensure the system functions as smooth as possible.
    Version upgrades should be planned whenever found necessary. AcceleratedSAP contains a continuous roadmap, with standard activities necessary after implementation. The tasks in that structure provide solutions for all known types of continuous change: Business changes, technology changes or changes in user community.
    with regards,
    B.Ravindranath

  • What is polling flag in process chain

    Hi everbody,
    What is meant by polling flag in process chain.
    Points will be awared generously
    Thanks in advance

    polling flag is an attribute of a process chain.
    With this indicator you can control the behavior of the main process when you have distributed processes. Distributed processes, such as the loading process, are characterized as having different work processes involved in specific tasks.
    With the polling flag you determine whether the main process needs to be kept as long as the actual process has ended.
    By selecting the indicator,
    a high level of process security is guaranteed, and
    external scheduling tools can be provided with the status of the distributed processes.
    However, the resource use of the system is increased and a background process is more necessary
    refer:
    Polling flag....?

  • ODS activation process random error in process chain

    Dear All,
    In my process chains, the process of ODS activation is sometimes in error. It is a random error, it is not always the same ODS and process chain.
    The message error is DBIF_RSQL_SQL_ERROR.
    I noticed that, on right-clic -> Change variant to the process of ODS activation, I have the following message:
    "Not all infoobjects can be read".
    For information, in the processes of activation of the ODS, the unique parameter is the name of the ODS to be activated.
    Thank you very much for your help,
    Arnaud

    Hi......
    Check SAP Note : 631668......
    According to this note :
    Symptom
    This note applies only to BW systems under ORACLE.
    Loading data into InfoCubes terminates with an error: ORA 60, "deadlock detected". The monitor log displays the entry "CALLER 70 missing" and the request is flagged as red.
    Other terms
    Caller 70, DEADLOCK, ora0060, bitmap, indexes, DBIF_RSQL_SQL_ERROR
    CX_SY_OPEN_SQL_DB
    Reason and Prerequisites
    In SAP BW, there are two fact tables for including transaction data for Basis InfoCubes: The F and the E fact table.
    Unlike the E fact table, the F fact table contains the information about the request from where the transaction data originates.
    Therefore, transaction data is always written to the F fact table and the package dimension contains the request to which the loaded data belongs.
    Using 'Request compression', the system reads the data of a request from the F fact table and writes it to the E fact table without request ID and compresses.
    For good reporting performance, you must keep only the data of a few requests in the F fact table since the F fact table is partitioned according to the key of the package dimension and the data of all requests is always read. Therefore, you should compress the request if you are sure that the loaded data is correct and that you no longer have to delete the request.
    When you install BW on an ORACLE database, BITMAP indexes are created on the fact tables to improve the reporting performance of the system.
    These have a negative effect on the performance when loading data and the deadlock mentioned above (ORA 60) may occur as a result. The DEADLOCKs occur during parallel insert operations because ORACLE does not support a blocking concept for BITMAP indexes at data record level.
    Solution
    Before loading movement data, delete secondary indexes from the F fact table and create them again after the loading process. If the F fact table is small, no performance problems occur.
    Alternatively, you can also load requests serially into InfoCubes by first loading the data only into the Persistent Staging Area (PSA) and then serially into the InfoCube. If you use the data transfer process (DTP) for loading in BW 7.0, this option is no longer available.
    NOTE
               This avoids the deadlock problem. However, you should note that after some loading processes, it is necessary to reorganize the BITMAP indexes because they degenerate very heavily and, therefore, the read and writing performance deteriorates dramatically.
    Hope this helps you.....
    Thanks==Points as per SDN.........
    Regards,
    Debjani..........
    Edited by: Debjani  Mukherjee on Sep 29, 2008 3:14 PM

  • X6 pushserver.exe unnecessary processes

    Hello, can anybody tell me what the pushserver.exe is responsible for on my Nokia X6? I installed the Best Taskman and under processes there is a pushserver.exe running. But i have no nokia messaging installed or any pushservices activated on my phone (so far i know). I get often an error running opera mobile, that there is not enough memory and i have to close other apps, although i have no other programs running while opera mobile is loaded. But what processes are not necessary? Thanks for help Dendagard

    Hello Lenovo,
    I am also having problems with the Lenovo T61 with Windows Vista.
    At the startup there was an unacceptable lot of CPU activity and harddisk hdd grinding for 15 minutes. Since I intend to preserve my harddisk, I have identified the following culprits:
    Vista ReadyBoost
    Vista Prefetch Service
    Vista ReadyBoot
    Lenovo Registry Monitor Service
    Now, I have disabled the ReadyBoost Service, the Prefetch Service, and the ReadyBoot (through the Event Viewer - search for it on www to see where to drill down to do this), but the Registry Monitor Service is causing the most problems.
    Lenovo describes the Register Monitor Service as a general service used by other applications to support various Lenovo functionalities - these you want to keep, including the fingerprint security made available through the Client Security mechanism. 
    I too have tried removing scheduler_proxy.exe and tvt_reg_monitor_svc.exe from the registry, under Run. But they just come back. I have tried disabling the Register Monitor Service altogether, deleting its file - it just comes back when I use the fingerprint identifier. I have tried making the service startup manual, which is also unsatisfactory.
     What I would like is a real solution, it could along the lines of one the following:
    1) An updated tvt_reg_monitor which only does what its name implies - in other words which is decoupled from the functionalities mentioned by Lenovo, including Client Security. This would enable me to disable the monitor.
    2) A way to configure the tvt_reg_monitor_svc.exe to NOT look through the registry for changes, while still providing the fingerprint functionality.

  • Why different processing speeds...

    Hi, I´m interested in purchasing a new Macbook Pro as my old iMac G5 is seemingly worthless. Could someone kindly explain why the 13" Macbooks have a larger processing unit and if the smaller laptop is faster than the 15" or 17"? This would help me greatly in deciding which size and processing speed is necessary for me. Thanks.

    In short... they are not faster than their bigger brothers. The 13" model features 2 cores, where as the bigger models are quad core.
    Message was edited by: genfourth

  • PS gallery linked to Dreamweaver does not show up once on pub. server

    i created a photoshop gallery and linked it to my website (Dreamweaver) under construction (as im learning); it shows up fine when i preview it on browser from my computer location, however, it does not show up once on the public server. any help as to the direct problem with this link/file/coding, etc... would be greatly appreciated....
    site >>>> http://paulrosal.com/ >>>>> CLICK ON "ART"
    ******************************CHECK OUT CODING RIGHT HERE******************************
    <!-- saved from url=(0013)about:internet -->
    <html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>gallery</title>
    <style>
    body,html {
    margin-top:0;
    margin-left:0;
    margin-right:0;
    margin-bottom:0;
    height: 100%;
    width: 100%;
    </style>
    <!-- Active Content Workaround Support File -->
    <script src="resources/AC_RunActiveContent.js" language="javascript"></script>
    <script language="JavaScript" type="text/javascript">
    function getQueryVariable(variable) {
      var query = window.location.search.substring(1);
      var vars = query.split("&");
      for (var i=0;i<vars.length;i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
          return pair[1];
      return -1;
    </script>
    <script language="JavaScript" type="text/javascript">
      var startImg = getQueryVariable("startImg");
      //alert(startImg);
    </script>
    <!-- Flash Detection Script Block -->
    <script language="JavaScript" type="text/javascript">
    <!--
    // Globals
    // Major version of Flash required
    var requiredMajorVersion = 8;
    // Minor version of Flash required
    var requiredMinorVersion = 0;
    // Minor version of Flash required
    var requiredRevision = 0;
    // the version of javascript supported
    var jsVersion = 1.0;
    // -->
    </script>
    <script language="VBScript" type="text/vbscript">
    <!-- // Visual basic helper required to detect Flash Player ActiveX control version information
    Function VBGetSwfVer(i)
      on error resume next
      Dim swControl, swVersion
      swVersion = 0
      set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i))
      if (IsObject(swControl)) then
        swVersion = swControl.GetVariable("$version")
      end if
      VBGetSwfVer = swVersion
    End Function
    // -->
    </script>
    <script language="JavaScript1.1" type="text/javascript">
    <!-- // Detect Client Browser type
    var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
    var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
    var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
    jsVersion = 1.1;
    // JavaScript helper required to detect Flash Player PlugIn version information
    function JSGetSwfVer(i){
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
    if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
    var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
                    var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
    descArray = flashDescription.split(" ");
    tempArrayMajor = descArray[2].split(".");
    versionMajor = tempArrayMajor[0];
    versionMinor = tempArrayMajor[1];
    if ( descArray[3] != "" ) {
    tempArrayMinor = descArray[3].split("r");
    } else {
    tempArrayMinor = descArray[4].split("r");
                    versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
                flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
               } else {
    flashVer = -1;
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    // Can't detect in all other cases
    else {
    flashVer = -1;
    return flashVer;
    // When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
    function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
          reqVer = parseFloat(reqMajorVer + "." + reqRevision);
            // loop backwards through the versions until we find the newest version    
    for (i=25;i>0;i--) {    
    if (isIE && isWin && !isOpera) {
    versionStr = VBGetSwfVer(i);
    } else {
    versionStr = JSGetSwfVer(i);         
    if (versionStr == -1 ) {
    return false;
    } else if (versionStr != 0) {
    if(isIE && isWin && !isOpera) {
    tempArray         = versionStr.split(" ");
    tempString        = tempArray[1];
    versionArray      = tempString .split(",");                   
    } else {
    versionArray      = versionStr.split(".");
    versionMajor      = versionArray[0];
    versionMinor      = versionArray[1];
    versionRevision   = versionArray[2];
    versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
    versionNum        = parseFloat(versionString);
                 // is the major.revision >= requested major.revision AND the minor version >= requested minor
    if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
    return true;
    } else {
    return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );    
    // -->
    </script>
    </head>
    <body><div align="center" style="width:100%; height:100%">
    <script language="JavaScript" type="text/javascript">
    <!--
    // Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
    var hasProductInstall = DetectFlashVer(6, 0, 65);
    // Version check based upon the values entered above in "Globals"
    var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
    // Location visited after installation is complete if installation is required
    var MMredirectURL = window.location;
    // Stored value of document title used by the installation process to close the window that started the installation process
    // This is necessary to remove browser windows that will still be utilizing the older version of the player after installation is complete
    // DO NOT MODIFY THE FOLLOWING TWO LINES
    //document.title = document.title.slice(0, 47) + " - Flash Player Installation";
    document.title = document.title.slice(0, 47);
    var MMdoctitle = document.title;
    // Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback
    if ( hasProductInstall && !hasReqestedVersion ) {
        var productInstallOETags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
        + 'width="550" height="200"'
        + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
        + '<param name="movie" value="resources/playerProductInstall.swf?MMredirectURL='+MMredirectURL+'&MMplayerType=Ac tiveX&MMdoctitle='+MMdoctitle+'" />'
        + '<param name="quality" value="best" /><param name="bgcolor" value="#3A6EA5" />'
        + '<embed src="resources/playerProductInstall.swf?MMredirectURL='+MMredirectURL+'&MMplayerType=Plug In" quality="high" bgcolor="#3A6EA5" '
        + 'width="550" height="300" name="detectiontest" align="middle"'
        + 'play="true"'
        + 'loop="false"'
        + 'quality="best"'
        + 'wmode="opaque"'
        + 'allowScriptAccess="sameDomain"'
        + 'type="application/x-shockwave-flash"'
        + 'pluginspage="http://www.adobe.com/go/getflashplayer">'
        + '<\/embed>'
        + '<\/object>';
        document.write(productInstallOETags);   // embed the Flash Product Installation SWF
    } else if (hasReqestedVersion) {  // if we've detected an acceptable version
        AC_FL_RunContent(
    'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
    'flashvars','baseRefUrl=resources/&groupxml=group.xml&stylexml=style.xml&localText=localT ext.xml&livePreview=false&startImg='+startImg,
    'width', '100%',
    'height', '100%',
    'src', 'resources/gallery',
    'quality', 'high',
    'pluginspage', 'http://www.adobe.com/go/getflashplayer',
    'align', 'middle',
    'play', 'true',
    'loop', 'true',
    'scale', 'showall',
    'wmode', 'opaque',
    'devicefont', 'false',
    'id', 'gallery',
    'bgcolor', '#f7f7f7',
    'name', 'gallery',
    'menu', 'true',
    'allowScriptAccess','sameDomain',
    'movie', 'resources/gallery',
    'salign', ''
      } else {  // flash is too old or we can't detect the plugin
        var alternateContent = 'This photo gallery requires the Adobe Flash Player.'
            + '<a href=http://www.adobe.com/go/getflash/>Get the free Flash Player here</a>';
        document.write(alternateContent);  // insert non-flash content
    // -->
    </script>
    <noscript>
    // Provide alternate content for browsers that do not support scripting
    // or for those that have scripting disabled.
           Sorry, this photo gallery requires that scripting be enabled on your web browser and that the Adobe Flash Player be installed.
      <a href="http://www.adobe.com/go/getflash/">Download the Adobe Flash Player</a>
    </noscript>
    </div>
    </body>
    </html>

    Are you sure you have uploaded everything in the gallery folder to the correct location. It can't find the index.html page.

  • Communication Between Multiple Executables

    I'm building a system that needs to communicate with several different external executables (all were programmed in LabVIEW) at approximately the same time.  I say several because this number is not known until runtime, and I say approximately the same time because all of the executables will be communicating asynchronously.  Essentially I need to receive commands from each executable, put them in a queue of some sort, run a test with my system in the order the commands were received, and then send a result back to each executable.
    Because the number of external executables is not known until runtime, I was thinking about using a network published variable that would be an array of clusters.  I could then tell each executable which array element it should use to communicate with and then when data needs to be sent back and forth I could update or read from this array element in each executable as necessary.  In my VI, I would simply build a watcher that would constantly watch the array to see if new data came in, put this data in a queue, and then process it as necessary.  The communication back to the executables would be handled in the same way (perhaps with a second network published variable only to be used for results).
    The problem with this approach is that I would need to lock the network published variable (a functional global would really help here) while I'm writing to it from each of the executables so I could be sure that I wouldn't miss data.  The number of commands won't be high, but there is a chance that 2 commands could arrive at the same time.  I've played around with this in the Shared Variable Properties dialog ("Single Writer" and "Use Buffering"), but can't seem to get it right.
    I know that I could open a TCP communication port for each executable and then use that port to communicate directly between my program and the executable, but I was wondering if anyone had any other suggestions.  If you've got a suggestion, I'd love to hear about it.  Thanks.

    You can use a network queue. The attached code works very well for us. It is a modified version from some code I got from LAVA several years back. Just unzip this file into your user.lib directly. The queues work like normal queues except they work over TCP. This means your messages will be added to the receiving queue in the order they were sent. Simply dequeue the commands and execute them.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot
    Attachments:
    Network Queue Class.zip ‏361 KB

  • How do I create a new image composed of a number of smaller images?

    Hi,
    I'm attempting to work with the assorted image APIs for the first time and am experiencing one main problem with what I'm trying to do. Here's the scenario;
    I have an image file (currently a JPEG) which is 320*200 pixels in size, it contains a set of 20*20 images. I want to take such a file and convert it into a new JPG file containing all those 20*20 images but in a different grid, for example a single column.
    I'm currently having no problem in working my way through the input file and have created an ArrayList containing one BufferedImage for each 20*20 image. My problem is that I just can't see how to create a new file containing all those images in new grid.
    Any help would be much appreciated and FWIW I've included the code I've written so far.
    package mkhan.image;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import javax.imageio.ImageIO;
    import javax.imageio.stream.ImageInputStream;
    import javax.imageio.stream.ImageOutputStream;
    public class ImageTileConvertor {
       // arg 1 = input file
       // arg 2 = output file
       // arg 3 = tile x dimension
       // arg 4 = tile y dimension
       // arg 5 = number of tiles in x dimension
       // arg 6 = number of tiles in y dimension
       public static void main(String[] args) throws IllegalArgumentException,
                                                     IOException {
         if (args.length != 6) {
           System.out.println("Invalid argument list, please supply the following information in the specified order:");
           System.out.println("  - The input file name including full path");
           System.out.println("  - The output file name including full path");
           System.out.println("  - The size of the tile in the x dimension");
           System.out.println("  - The size of the tile in the y dimension");
           System.out.println("  - The number of tiles in the x dimension");
           System.out.println("  - The number of tiles in the y dimension");
         } else {
           ImageTileConvertor imageConvertor = new ImageTileConvertor(args[0], args[1], args[2],
                                                                      args[3], args[4], args[5]);
       * Instance member vars
      private File m_sourceFile = null;
      private File m_outputFile = null;
      private int m_tileSizeX = 0;
      private int m_tileSizeY = 0;
      private int m_numberOfXTiles = 0;
      private int m_numberOfYTiles = 0;
       * Ctor
      public ImageTileConvertor(String sourceFile, String outputFile,
                                String tileSizeX, String tileSizeY,
                                String tilesX, String tilesY) throws IllegalArgumentException,
                                                                     IOException {
        try {
          Integer tileSizeXInt = new Integer(tileSizeX);
          Integer tileSizeYInt = new Integer(tileSizeY);
          Integer tilesXInt = new Integer(tilesX);
          Integer tilesYInt = new Integer(tilesY);
          m_tileSizeX = tileSizeXInt.intValue();
          m_tileSizeY = tileSizeYInt.intValue();
          m_numberOfXTiles = tilesXInt.intValue() - 1;
          m_numberOfYTiles = tilesYInt.intValue() - 1; // convert to zero base
        } catch (NumberFormatException e) {
          throw new IllegalArgumentException("Tile Sizes must be integers");
        m_sourceFile = new File(sourceFile);
        m_outputFile = new File(outputFile);
        if (!m_sourceFile.exists()) {
          throw new IllegalArgumentException("Input file must exist and be a valid file");
        try {
          translateToTiles();
        } catch (IOException e) {
          throw e;
       * Performs the translation from one format to the other
      private void translateToTiles() throws IOException {
        ImageInputStream imageIn = null;
        BufferedImage bufferedWholeImage = null;
        int imageHeight = 0;
        int imageWidth = 0;
        int currentX = 0;
        int currentY = 0;
        ArrayList imageList = new ArrayList();
        try {
          imageIn = ImageIO.createImageInputStream(m_sourceFile);
          bufferedWholeImage = ImageIO.read(imageIn);
          if (bufferedWholeImage != null) {
            imageHeight = bufferedWholeImage.getHeight();
            imageWidth = bufferedWholeImage.getWidth();
            if (((m_tileSizeX * m_numberOfXTiles) > imageWidth) || ((m_tileSizeY * m_numberOfYTiles) > imageHeight)) {
              throw new IOException("Specified Tile Size is larger then image");
            } else {
              // Process each tile, work in columns
              for (int i=0; i <= m_numberOfXTiles; i++) {
                for (int j=0; j <= m_numberOfYTiles; j++) {
                  currentX = i * m_tileSizeX;
                  currentY = j * m_tileSizeY;
                  createTiledImage(imageList, bufferedWholeImage, currentX, currentY);
            createOutputTiles(imageList);
          } else {
            throw new IOException("Unable to identify source image format");
        } catch (IOException e) {
          throw e;
      private void createTiledImage(ArrayList listOfImages, BufferedImage wholeImage,
                                    int xPosition, int yPosition) {
        BufferedImage bufferedTileImage = wholeImage.getSubimage(xPosition, yPosition, m_tileSizeX, m_tileSizeY);
        listOfImages.add(bufferedTileImage);
      private void createOutputTiles(ArrayList imageList) throws IOException {
        ImageOutputStream out = ImageIO.createImageOutputStream(m_outputFile);
        Iterator iterator = imageList.iterator();
        // This doesn't work at the moment, it appears to output all the images but the end file only seems to contain the first small image
        while (iterator.hasNext()) {
          BufferedImage bi = (BufferedImage)iterator.next();
          ImageIO.write(bi, "JPG", out);
          System.out.println(out1.getStreamPosition());
        out.close();
        // This is another attempt in which I can see how to populate a Graphics object with a small sample of the images
        // Although I'm not sure how to output this to anywhere in order to see if it works - can this approach output to a file?
        BufferedImage singleTile = (BufferedImage)imageList.get(0);
        // Now populate the image with the tiles
        Graphics gr = singleTile.createGraphics();
        gr.drawImage(singleTile, 0, 0, Color.BLACK, null);
        singleTile = (BufferedImage)imageList.get(1);
        gr.drawImage(singleTile, 0, 20, Color.BLACK, null);
    }Thanks,
    Matt

    Construct a new BufferedImage whose width is the width of a tile, and whose height is the height of a tile times the number of tiles.BufferedImage colImg = new BufferedImage(m_tileSizeX,
                                             m_tileSizeY * m_numberOfXTiles * m_numberOfYTiles,
                                             BufferedImage.TYPE_INT_ARGB);Now write the tiles onto it.Iterator it = imageList.iterator();
    int columnYPos = 0;
    Graphics g = colImg.getGraphics();
    while (it.hasNext())
        g.drawImage((Image)it.next(), 0, columnYPos, null);
        columnYPos += m_tileSizeY;
    }Now save your image.*******************************************************************************
    Answer provided by Friends of the Water Cooler. Please inform forum admin via the
    'Discuss the JDC Web Site' forum that off-topic threads should be supported.

  • Is it possible to acquire audio data in Real-Time using a standard sound card?

    For the control of a Laser manufactoring process it is necessary to acquire and analize the typical sound. I realized this with a normal Soundblaster Card using the "SI CONFIG/READ.VI". The only disadvantage is that short parts of the signal are always missing because of the finite buffer size. Is it possible to optimize this without buying a DAQ card?

    Labview RT works with three different types of targets:
    -RT series DAQ (Traditional Data Acquisition board with a processor board attached to it. Connects on a PCI slot of your machine)
    -Field Pointistributed modules for Data Acquisition
    -PXI factor: Systems where you need a chassis and a controller then you can start filling the slots with the type of hardware that you need for your application.
    Then using a traditional SoundBlaster Card to acquire data under Labview RT is not going to be possible at the moment.
    Blasioz Valenzuela
    National Instruments
    Labview RT Applications Eng.
    *Note: Did you try the same application in a faster machine, this can improve the performance and hopefully not miss data.

Maybe you are looking for

  • My DVD/CD RW drive has dissapeared from Windows. Help!

    Somewhere during messing around trying to get a faulty Floppy Drive to work, now my DVD drive no longer shows up in Windows or is a recognized IDE during POST. I had to reconnect the cables a couple times while manuevering the Floppy cable and I also

  • LaCie External Disk Suddenly not on Desktop

    I've had a LaCie External Hard Drive (Firewire) connected to my iMac for about six months without any problems. I use it for backup, and use software (SuperDuper) to make it bootable. Suddenly, today, it's not showing up on my desktop. The System Pro

  • Tricking for-each iterators

    I've just discovered that a piece of my code is modifying a collection that's being iterated over through a for-each statement. My question is: Bug, or Feature?   List<Integer> xs = new ArrayList<Integer>();         for (int i=0; i<10; i++)          

  • Max cursors exceeds problem(ORA-01000)

    Hi In my server open_cursors is set as 300 .We are developing a java application(using struts & Jboss web server) nearly 10 computers access the oracle 10g server through plsql procedures/functions ,frequently I am getting ORA-01000 -MAX CURSOR EXCEE

  • One Button Code Changer

    Ok here is the outline. I have several folders with multiple pages that I need to change a copy of lines of coding and then apply a template to the entire page. Currently this is a seven or eight step process and I am curious to know if anyone knows