Abstract:
A method and appertaining system load 3D shape information defining a hearing aid shell into a processor and present a representation of the shell on a display. A fill boundary is entered by a user operating a user input device and a fill region for the shell is thus defined. The fill boundary is then displayed, but can be modified by the user. Various checks may be performed to ensure that the fill region is a proper one, and if not, a status can be provided to the user indicating why the fill region is unacceptable. The displayed shell can be rotated and moved to assist the user. Once an acceptable fill region has been defined, an indication is provided by the user that the displayed fill region is to be used as the actual fill region.

Description:
BACKGROUND 
       [0001]    The present invention is directed to a system and method for performing a selective fill for a hearing aid shell. 
         [0002]    Recent advances in hearing instrument technology have created the impetus for special adaptation of modeling software systems to facilitate optimum virtual assembly and fitting of hearing aid shell components. These requirements call for adaptations of software such that the final shell can be modified at the point of sale, utilize electro-acoustic advantages, as well as accounting factors, for ease-of-assembly. 
       SUMMARY 
       [0003]    A system and method are provided in which a 3D Shell Modeling and Detailing application provides protocols for invoking a simplified mechanism for defining the parts of a hearing aid shell that are filled. Advantageously, a simple method is given for providing a filling of the parts of the shell in order to take advantage of the electro-acoustic effect that will help to reduce feedback. Furthermore, selective filling also enhances possibilities for manual modification at the point of sale because extra material can be safely removed from the shell in the places where selective fill was applied without physically damaging the instrument. 
       Abbreviations 
       [0004]    The following abbreviations are used in this document: 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Abbreviation 
                 Explanation 
               
               
                   
               
             
             
               
                 3D 
                 3-Dimensional; 
               
               
                 ASCII 
                 A(merican) S(tandard) C(ode for) I(nformation) 
               
               
                   
                 I(nterchange). A standard for assigning numerical values 
               
               
                   
                 to the set of letters in the Roman alphabet and 
               
               
                   
                 typographic characters; 
               
               
                 COM 
                 A model for binary code developed by Microsoft. The 
               
               
                   
                 Component Object Model (COM) enables programmers 
               
               
                   
                 to develop objects that can be accessed by any COM- 
               
               
                   
                 compliant application; 
               
               
                 DWOM 
                 Digital Work Order Management; DWOM is the interface 
               
               
                   
                 between 3D Shell Modeling and Detailing application 
               
               
                   
                 and back-end/business systems that may be based, 
               
               
                   
                 e.g., on Microsoft COM; 
               
               
                 ITE 
                 In-the-Ear; 
               
               
                 N/A 
                 Not Applicable; 
               
               
                 UI 
                 User Interface; 
               
               
                   
               
             
          
         
       
     
       Definitions 
       [0005]    The following definitions are used in this document. 
         [0000]    
       
         
               
               
             
           
               
                   
               
               
                 Definition 
                 Explanation 
               
               
                   
               
             
             
               
                 ear impression 
                 3D impression from a patient&#39;s ear. The actual 
               
               
                   
                 physical impression is scanned by 3D scanners to 
               
               
                   
                 create a pointcloud; 
               
               
                 pointcloud 
                 A set of 3D coordinates defining a 3D shape. 
               
               
                   
                 Pointcloud files that come from 3D scanners are 
               
               
                   
                 usually in ASCII format; 
               
               
                 work order 
                 An entry in DWOM that contains all information 
               
               
                   
                 relevant for modelling a shell (or shells in case of 
               
               
                   
                 binaural order) for the specific order of the ITE 
               
               
                   
                 hearing instrument. 
               
               
                   
               
             
          
         
       
     
     
     
       DESCRIPTION OF THE DRAWINGS 
         [0006]    Various embodiments of the invention are illustrated in the following figures and the appertaining descriptive portion. 
           [0007]      FIG. 1A  is a flowchart illustrating the basic system flow; 
           [0008]      FIG. 1B  is a basic system block diagram; 
           [0009]      FIGS. 2A&amp;B  are pictorial diagrams of a display illustrating the use of a bounding plane to define a fill region; and 
           [0010]      FIGS. 3A&amp;B  are pictorial diagrams illustrating cutting planes in a semi-modular shell and non-semi-modular shell. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0011]      FIG. 1A  provides an overview of the process flow  100  according to an embodiment of the invention, and  FIG. 1  B provides an overview of the system  50  according to an embodiment of the invention. 
         [0012]    The system  50  and process  100  may all be implemented by standard computer components that include a processor  90 , a display  60 , and user input devices  70 . By way of example, the processor  90  could be a networked desktop or laptop PC, the display  60  could be a traditional monitor, and the input devices  70  could include a keyboard, mouse, and the like. The various embodiments discussed below are advantageous in that they provide very simple, quick, and straightforward mechanisms for implementing the various described functions of the system. 
         [0013]    According to a preferred embodiment of the process  100  illustrated in  FIG. 1A , a user loads  110  a work order  82  stored in a database  80  for a particular user&#39;s shell into the computer system. The shell definition  84 , which is defined by data representing a three-dimensional shape, is presented  62  on the display  60  to the user. 
         [0014]    After possibly executing other operations related to the work order  82  or the shell, the user invokes  120  a software fill process  92  that is used to specify fill regions  14  of the shell. When this routine  92  is invoked, in a preferred embodiment, the shell that is displayed  62  can be rendered transparent or transluscent. 
         [0015]    Next the user identifies the desired fill region  14  of the shell  130 . Referring to  FIG. 2A , in an exemplary embodiment, in order to define  140  a boundary plane  12 , the user moves a mouse  70  outside of the displayed shell  10  and draws a line (plane)  12  (e.g., by clicking and dragging the mouse  70 , by separately clicking on two endpoints, or specifying the line or endpoints in some other known manner using the user input devices) respresentative of a plane having an axis in a direction perpendicular to the display  60  and having another perpendicular axis going through the displayed shell  10 . 
         [0016]    A portion  14  of the shell that is bounded by the plane  12  is shaded or colored with some indicia that indicates it is the defined fill region. This could be done by the use of a color, degree of transparency, or any other form of distinguishing the fill portion of the shell  10  from the non-fill portion. By default, the smallest part of the two regions bounded by the plane  12  would be selected as the fill region  14 . 
         [0017]    In order to further inspect the selected fill region  14 , the three-dimensional model of the shell  10  may be rotated on the display with the user interface of the computer so that the selected fill region can be better displayed. In  FIG. 2B , the line  12  that was originally formed becomes a plane, and the linear intersection line becomes an ellipse or other shape  16  defined by the intersection of the plane  12  and the shell  10  as specified by the user. 
         [0018]    As indicated above, the fill region  14  can either default to the smaller of the split shell regions, or the user can be required to select the region  150 . In either case, however, the non-selected region can be chosen, e.g., by clicking the mouse  70  over the non-selected region, as the selected region by the user via the user interface, if desired. 
         [0019]    Furthermore, if the user is not satisfied with the position  160  of the plane  12 , the user can repeat the steps described above to specify the new position. of the filled area  14 . The user interface can be designed so that the drawing of a further line  12  removes the region selected by the drawing of a previous line  12 . 
         [0020]    When the user is satisfied with the position of the filling plane  12 , the user can provide some confirmation  170 , via the user interface, indicating that this is the actual desired fill region  14 . For example, the user can click a “Fill” button  68  presented on the display  60 . This provides an indication to the software  92  that the indicated region  14  should be the fill region, and this fill region is identified by data on the system representative of the three-dimensional fill region. Although any form of such an indication could be provided, a one-mouse-button click provides, in a preferred embodiment, a very simple and easy mechanism for performing this function. 
         [0021]    The software may comprise a routine  93  that ensures all surfaces forming the internal shape of the shell are removed in the area where filling is applied. These surfaces include all surfaces in the region  14  except outer shell surface, inner venting channel surface and the selective fill plane. 
         [0022]    If the line  12  for selection of the fill plane  12  as drawn by the user intersects the shell  10  more than two times, an individual fill plane  12  can be created for each intersection. Changes of the part selected for filling on one of the Selective Fill Planes can automatically change the filling part  14  in all other filling planes  12 . 
         [0023]    If the line  12  for selection of the selective fill plane  12  as drawn by the user doesn&#39;t intersect the shell more than one time, but if a logical continuation of this line  12  does intersects the shell  10  more than one time, the fill plane(s)  12  located on the logical continuation of the line can be ignored. 
         [0024]    This process could be repeated to define multiple fill regions  14  for the shell  10 , and the multiple fill regions  14  so defined could either be displayed simultaneously or individually. A selectable display option could be provided so that the current, all, or some (defined by a user selection) of the fill regions are displayed. 
         [0025]    In further embodiments of the invention, the fill boundary can take on more complex shapes, e.g., spheres, ellipsoids, or any other three-dimensional surface shapes. Standard computer aided drafting (CAD) techniques could be used to define more complex boundary shapes. 
         [0026]    A reset function can be provided, e.g., by way of a reset button  66 , so that any or all of the selective fill regions  14  defined can be removed. 
         [0027]    The selective fill routines  100  should be able to take into account some critical parts of the inner shell topology of the shell and avoid applying selective fill operations, which could damage the critical parts of the inner shell topology. These critical parts of the inner shell topology can be for example any kind of suspension systems integrated into the shell. 
         [0028]    In the event that a fill region  14  has been defined, and subsequent modifications have been performed on the shell shape, the software has a mechanism  64  for alerting the user that the fill region  14  may need to be modified. By way of example, this could be done by a “traffic light” display element  64  having, e.g., red, yellow, and green light elements. A red light would indicate that the shell shape has been modified and that the selective fill process should be performed again to accommodate any changes affecting the fill region  14 . A status bar  63  could provide some explanatory text, such as, “Changes in the previous functions have invalidated the Selective Fills. Please either press Reset to confirm that Selective Fills are not needed or make new Selective Fills.” The user could then either press Reset  66  to confirm that Selective Fills are not needed or make new Selective Fills. On pressing Reset  66 , the traffic light element  64  could become yellow. 
         [0029]    The traffic light element  64  can be added to a procedure dialog or toolbar of the display  90  or elsewhere. After each (re-)selection of the area selected to be filled, the traffic light  64  should show whether this selection is allowed. 
         [0030]    Various other rules  95  may be utilized in the software for ensuring that only permissible fills are implemented. For example, if the area selected for filling contains the receiver hole, then the “Fill” button  68  should be disabled, and an explanatory message can be provided in the status bar  63 . If the area selected for filling  14  contains the complete opening of the shell, then the “Fill” button  68  should be disabled, and an explanatory message can be provided in the status bar  63 . If the tip of the shell contains any openinings in addition to the standard opening on the bottom of the shell and the area selected for the filling  14  contains any part of the opening(s) on the tip of the shell, the “Fill” button  68  should be disabled, and an explanatory message can be provided in the status bar  63 . 
         [0031]    As illustrated in  FIG. 3A , if the area for filling  14  is selected and the selective fill plane  12  intersects the opening  19  on the bottom of the shell, then the plane  13 , which defines the bottom of the shell  10 , can be used for closing the selective fill plane contour  16  and for the filling operation as the additional boundary of the filled part  14 . This case can happen in the case where a non-semi-modular shell is built, as illustrated by  FIG. 3A . 
         [0032]    For a semi-modular shell, as illustrated in  FIG. 3B , if the area for filling  14  is selected and the selective fill plane  12  intersects the faceplate opening  18  geometry, then the “Fill” button  68  should be disabled, and an explanatory message can be provided in the status bar  63 . If selective fill plane does not intersect the faceplate opening, then selective fill can be allowed. This design does not allow use of the cutting plane  12  for the selective fill operation. In the case where the selective fill area  14  has the shell material everywhere except the selective fill plane  12  itself, then selective fill should be allowed. When the selective fill area  14  has some areas, where it borders neither shell material nor the selective fill plane  12  (like in the case when the selective fill plane  12  intersects the faceplate, opening  18 ), then a fill should not be allowed. 
         [0033]    If the area seleted for filling  14  contains any of floating components (such as, but not limited to a receiver, hearing aid electronics, hybrid, WL Coil, etc.), then the “Fill” button  68  could be disabled, and an explanatory message can be provided in the status bar  63 . 
         [0034]    Various preferences on how the final fill region should be can be provided in the software via, e.g., a configuration edit dialog or preferences table  86 . For example, a selective filling color or degree of transparency for rendering the part  14  of the shell  10  selected for filling may be specified in preferences  86 . The preferences table  86  can also indicate whether the Receiver, Faceplate, Electronics, and Wireless Coil are rendered in the display  60  or not by default, and it is also possible to indicate in the preferences table  86  whether a Grid is rendered on the display  60  by default in the procedure  92 . 
         [0035]    In further developments, a feature recognition routine  96 , such as that disclosed in U.S. application Ser. No. 11/347,151, herein incorporated by reference, may be used to automatically or assist in identifying the shell fillable areas such as helix, canal, anti-tragus, and to automatically fill these area on the device basis. 
         [0036]    For the purposes of promoting an understanding of the principles of the invention, reference has been made to the preferred embodiments illustrated in the drawings, and specific language has been used to describe these embodiments. However, no limitation of the scope of the invention is intended by this specific language, and the invention should be construed to encompass all embodiments that would normally occur to one of ordinary skill in the art. 
         [0037]    The present invention may be described in terms of functional block components and various processing steps. Such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the present invention may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. Similarly, where the elements of the present invention are implemented using software programming or software elements the invention may be implemented with any programming or scripting language such as C, C++, Java, assembler, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements. Furthermore, the present invention could employ any number of conventional techniques for electronics configuration, signal processing and/or control, data processing and the like. 
         [0038]    The particular implementations shown and described herein are illustrative examples of the invention and are not intended to otherwise limit the scope of the invention in any way. For the sake of brevity, conventional electronics, control systems, software development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail. Furthermore, the connecting lines, or connectors shown in the various figures presented are intended to represent exemplary functional relationships and/or physical or logical couplings between the various elements. It should be noted that many alternative or additional functional relationships, physical connections or logical connections may be present in a practical device. Moreover, no item or component is essential tot he practice of the invention unless the element is specifically described as “essential” or “critical”. Numerous modifications and adaptions will be readily apparent to those skilled in this art without departing from the spirit and scope of the present invention.