New and optimized functions expand the range of analysis capabilities, while the Panel and curve window now offer new display and operating possibilities.


New design in imc-Look

imc FAMOS 2021 presents itself in a modernised and refreshed surface, which offers increased contrast and, thanks to better separation of the work areas, increases usability. In addition, high resolution monitors are now better supported by large toolbars, depending on the DPI setting.

Innovations in the panel

Curve window with event

The curve widget now recognizes "mouse events" such as clicking and dragging, which in turn can be assigned to their own sequence actions. Thus for instance, clicking the mouse while pressing the CTRL-key sets a marker or circles an object graphically; similar areas can be filled or regression lines drawn across a selected region.

Frame width

The frame width and color for tables and labels can now be set separately for each edge. Thus for instance the outer frame of the table can be formatted to be a solid thick red line, while the inner cells are separated by a dashed black line.


Text formatting

The texts in text boxes, labels and tables can now be formatted by HTML. Supported styles include <color> and <backcolor>, <size>, bold <b>, italic <i> and many other tags.  


For text arrays and tables, there are now new placeholders available. By using these, it is now possible use  <VAR.COMMENT> and <VAR.ORIGIN> to embed the comment and the file origin into text arrays and tables, respectively, and to automatically update them by means of data binding. User-defined properties can be embedded using the command <VAR.PROPS>("userpropname"). 

Furthermore, the context menu for widgets with pre-defined placeholders has been expanded:

New widget SpinEdit

The new widget SpinEdit makes it possible to increase or reduce numerical values using an "Up" and "Down"-button, respectively. Thus for example, series of measurements can be stepped through on the basis of their number, orders can be selected in an order analysis, boundary values can be increased incrementally, etc.

New widgets "Timespan” and “NumericRange”

The new widget "Timespan" makes it possible to define time spans and the widget "NumericRange" to define numerical ranges by means of slider bars. Using these widgets, it would be possible, for example, to analyze measured data only within a certain time range, or only display events which fall within a defined numerical range.


Further novelties in the panel

  • Linking text array variables with a textbox, input box, (cells of) tables:
    Text array variables can now be linked with labels, input boxes and tables. Each array element is outputted as a new line. It is possible to access each entry by its respective index.
  • Using Drag & Drop to place a text array variable at an empty location in the Panel:
    A menu is now available offering widget types (text box, (multi-line) input box, table, data grid) to create and link with the text array.
  • Taking a text array variable or data set to a table widget by Drag & Drop:
    When saving a simple, unstructured data set or a text array, a message box now appears in which the user is prompted to decide whether to expand the variable. If yes, the variable is distributed over the subsequent cells of the column.

Innovations in the curve window

Showing/hiding channels at the click of the mouse

In the curve window, it is now possible to show or hide individual channels at the click of a mouse. To do this, the mouse pointer is moved over a channel name and then showed/hidden by clicking on the eye-icon. Alternatively, it is also possible to navigate to the curve window's upper left corner and use a pop-up menu there to configure which channels are displayed and which are hidden. 

Expanded touchscreen operation for the curve window

In order to further increase operability of the curve window by touchscreen techniques, certain regions of the curve window have been allocated for triggering certain actions. Thus for instance, in the top or bottom regions of the curve window, it is possible to move the curve in the Y-direction, and in the left or right margins of the curve, the curve can be moved in the X-direction.

Innovations in the sequence editor

Syntax of the Initialization list has been expanded

With initialization lists, along with purely numerical values as well as texts, constants (e.g. PI), mathematical expressions, functions and variables are now possible, e.g. ZeroOneZero = sin( [0, PI/2, PI] ).


Additonal innovations in the sequence editor

  • Multiple lines can now be commented out as a block by means of (* … *)

  • In order to display double quotation marks within text constants, these can now be denoted by duplicating. Example: 
    Tx = "explorer.exe ""C:\Programme\Microsoft Office\MSAccess.EXE""" 

  • In order to prevent long lines of code from being limited by the editor's end-of-line ("EOL"), it is now possible to achieve a  code line wrap in the editor by means of SHIFT+ENTER.

New functions

Solving differential equations

Under Basic Functions\Integration, Differentiation, there are now new functions Deq*() for solving differential equations.

New functions

  • TxArraySort(): Sorts elements of a text array
  • TxArrayClean(): Deletes duplicates, empty entries and other entries according to pattern comparison/regular expressions in a text array.
  • TxArrayCombine(): Combines text arrays
  • TxArrayToChannel(): Conversion of a text array to a numerical data set
  • JoinEx(): Improved Join()-function. Up to 15 parameters; the data format of the parameters is retained in the result wherever possible.
  • CwUpdateEnable(): Replacement for CvUpdate()   
  • Name?(): Gets the variable's name
  • TxToClipboard(): Copy text field to clipboard
  • SoundIntensityThirds(): Sound intensity for each third or total

Expansions of existing functions

  • The functions Tleng(), TComp(), Tlike() and the comparison operators "=" and "<>" can now also be applied to text arrays
  • Tleng() now returns -1 whenever no text/text array is passed as the parameter. In older versions, this caused a runtime error
  • FileLineRead(): Significantly accelerated, reading in text arrays now possible, return value for queries now optional.
  • FileLineWrite(): Passing a text array now possible.
  • PnInsertItem(): Passing a text array now also possible.
  • SetDatFormat(): Min/Max parameters are now optional. When they are not specified in conjunction with Integer-formats, the system assumes Scaling factor = 1, Offset = 0.
  • TForm(): New formatting options "x" and "b" (without specified number of digits) for optimal formatting of integers.
  • BitShift, BitGet, BitSet, BitAnd, BitOr, BitNot: Enhancements for 64-bit
  • ClsOffRainflowInit3(): New option for span calculations, HCM-algorithm

Miscellaneous changes


With the new version of imc FAMOS, it is now possible to import and export files as an uninterpreted BLOB (Binary Large OBject). Thus for instance, the original measured data can be saved as a BLOB.

Import of text files with Unicode UTF-16 encoding

When importing files, text from files with character encoding UTF-8 or UTF-16 can now also be read.

Version history

imc FAMOS 7.5

  • Sequence functions
    • Clear separation of transferred (input/output) data from the internal, implicitly local variables. This
      helps avoid common mistakes such as accidently changing an iteration index in the calling
    • Declaring
    • Description
    • Library
    • Password mechanism
    • Drag&Drop
    • File extension ".sqf".
  • Import and export of imc FAMOS configurations
    • imc FAMOS global options, menu layouts
    • Favorites, data sources and Panel-templates
    • Data filters, pre-defined sequences and libraries
    • All kinds of templates for projects, curve configurations, sequences, reports, logos etc.
    • Import to or installation on the target system can even be executed via console command line ("xconfig -i PathToFamosCfgZip")
  • Functions
    • Video functions
      • VFOpen()
      • VFAppendPanelSnapshot()
      • VFAppendCwSnapshot()
      • VFAppendFrame()
      • VFAppendRGBData()
      • VFClose()
      • Video player:
    • Videoplayer
      • VpGetImages()
    • Variable/Properties
      • VerifyVar()
    • Exceptions and error handling
      • OnError()
      • ThrowError()
      • LogSetup()
      • LogTrace()
      • GetLastError()
  • Operating the editor
    • While holding down the CTRL-key, you can use Drag&Drop on a sub-sequence to move it from the Sequences tree diagram to "SEQU name" in the input window; with classic sequences, this saves the effort of typing the sub-sequence's name.
    • While holding down the CTRL-key, you can use Drag&Drop on a sub-sequence to move it from the Sequences tree diagram to the input window opens the call mask of the subsequence functions.
    • Copy/Paste for sub-sequences/sequence functions (in the context menu of the sequence tree diagram): This provides a quick way to generate variants of sub-sequences.
    • Supplemental Debugger option: "Always break on error". This allows the preset for OnError () to be overwritten.
    • Direct declaration of text boxes now possible
  • Curve window
    • Fills the area below a line in a graph
  • Marker-Order line
    • The curve window is now able to display order lines and hyperbola functions. For this purpose, the Marker-menu has been supplemented with the item Order line.
  • Picture as a variable
    • The data format has been supplemented with a "Colors-flag ". This enables the mathematics functions in FAMOS to interpret values as RGB values (for 4-Byte unsigned Integers) or grayscale (for 1-Byte unsigned Integer values).
  • Freely defined texts
    • The page "Text" of the Display dialog provides the ability to position any desired texts, e.g. for captions, headers and footers, or general comments. For this ASCII/EXCEL Import Assistent
  • ASCII/EXCEL Import Assistant
  • Datenformat
    • Colors-Flag
    • HDF5 and Matlab 7.3