The Visualization Toolkit ( VTK ) is a free software system for 3D computer graphics , image processing and scientific visualization .
67-686: VTK is distributed under the GNU -approved and FSF -approved BSD 3-clause License . VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk , Java , and Python . The toolkit is created and supported by the Kitware team. VTK supports a various visualization algorithms including: scalar , vector , tensor , texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation . VTK has an information visualization framework, has
134-432: A monitor , mouse , keyboard , and speakers . By contrast, software is a set of written instructions that can be stored and run by hardware. Hardware derived its name from the fact it is hard or rigid with respect to changes, whereas software is soft because it is easy to change. Hardware is typically directed by the software to execute any command or instruction . A combination of hardware and software forms
201-455: A GPU integrated into the motherboard. Most computers also have an external data bus to connect peripheral devices to the motherboard. Most commonly, Universal Serial Bus (USB) is used. Unlike the internal bus, the external bus is connected using a bus controller that allows the peripheral system to operate at a different speed from the CPU. Input and output devices are used to receive data from
268-455: A Linux distribution) qualifies as free (libre), and helps distribution developers make their distributions qualify. The list mostly describes distributions that are a combination of GNU packages with a Linux-libre kernel (a modified Linux kernel that removes binary blobs, obfuscated code, and portions of code under proprietary licenses) and consist only of free software (eschewing proprietary software entirely). Distributions that have adopted
335-675: A Unix system so that one could get along without any software that is not free." Development was initiated in January 1984. In 1991, the Linux kernel appeared, developed outside the GNU project by Linus Torvalds , and in December 1992 it was made available under version 2 of the GNU General Public License . Combined with the operating system utilities already developed by the GNU project, it allowed for
402-761: A basis for the GNU Project, as it was portable and "fairly clean". When the GNU project first started they had an Emacs text editor with Lisp for writing editor commands, a source level debugger , a yacc -compatible parser generator, and a linker . The GNU system required its own C compiler and tools to be free software, so these also had to be developed. By June 1987, the project had accumulated and developed free software for an assembler , an almost finished portable optimizing C compiler ( GCC ), an editor ( GNU Emacs ), and various Unix utilities (such as ls , grep , awk , make and ld ). They had an initial kernel that needed more updates. Once
469-479: A centralized memory that stored both data and programs, a central processing unit (CPU) with priority of access to the memory, and input and output (I/O) units . Von Neumann used a single bus to transfer data, meaning that his solution to the storage problem by locating programs and data adjacent to each other created the Von Neumann bottleneck when the system tries to fetch both at the same time—often throttling
536-590: A commensurate increase in energy use and cooling demand. The personal computer is one of the most common types of computer due to its versatility and relatively low price. Virtual hardware is software that mimics the function of hardware; it is commonly used in infrastructure as a Service (IaaS) and platform as a Service (PaaS). Embedded systems have the most variation in their processing power and cost: from an 8-bit processor that could cost less than USD $ 0.10, to higher-end processors capable of billions of operations per second and costing over USD$ 100. Cost
603-468: A fully free (libre) GNU/Linux distribution. From the mid-1990s onward, with many companies investing in free software development, the Free Software Foundation redirected its funds toward the legal and political support of free software development. Software development from that point on focused on maintaining existing projects, and starting new projects only when there was an acute threat to
670-406: A result, any user who obtains the software legally has the same freedoms as the rest of its users do. The GNU Project and the Free Software Foundation sometimes differentiate between "strong" and "weak" copyleft. "Weak" copyleft programs typically allow distributors to link them together with non-free programs, while "strong" copyleft strictly forbids this practice. Most of the GNU Project's output
737-400: A suite of 3D interaction widgets, supports parallel processing, and integrates with various databases and GUI toolkits such as Qt and Tk . VTK is cross-platform and runs on Linux, Windows, Mac and Unix platforms. The core of VTK is implemented as a C++ toolkit, requiring users to build applications by combining various objects into an application. The system also supports automated wrapping of
SECTION 10
#1732859004095804-421: A usable computing system, although other systems exist with only hardware. Early computing devices were more complicated than the ancient abacus date to the seventeenth century. French mathematician Blaise Pascal designed a gear-based device that could add and subtract, selling around 50 models. The stepped reckoner was invented by Gottfried Leibniz by 1676, which could also divide and multiply. Due to
871-400: A variety of plastics that are present in bulk in computers or other electronics can reduce the costs of constructing new systems. Components frequently contain copper , gold , tantalum , silver , platinum , palladium , and lead as well as other valuable materials suitable for reclamation. The central processing unit contains many toxic materials. It contains lead and chromium in
938-464: A version of GNU/Hurd that is suitable for production environments since the commencement of the GNU/Hurd project over 33 years ago. A stable version (or variant) of GNU can be run by combining the GNU packages with the Linux kernel , making a functional Unix-like system. The GNU project calls this GNU/Linux, and the defining features are the combination of: Within the GNU website, a list of projects
1005-444: A very similar commodity . Profit margins have also been reduced. Even when the performance is not increasing, the cost of components has been dropping over time due to improved manufacturing techniques that have fewer components rejected at quality assurance stage. The most common instruction set architecture (ISA)—the interface between a computer's hardware and software—is based on the one devised by von Neumann in 1945. Despite
1072-492: Is a growing movement to recycle old and outdated parts. Computer hardware contain dangerous chemicals such as lead, mercury, nickel, and cadmium. According to the EPA these e-wastes have a harmful effect on the environment unless they are disposed of properly. Making hardware requires energy, and recycling parts will reduce air pollution , water pollution, as well as greenhouse gas emissions. Disposing unauthorized computer equipment
1139-427: Is a particular concern with these systems, with designers often choosing the cheapest option that satisfies the performance requirements. A computer case encloses most of the components of a desktop computer system. It provides mechanical support and protection for internal elements such as the motherboard, disk drives, and power supply, and controls and directs the flow of cooling air over internal components. The case
1206-464: Is also part of the system to control electromagnetic interference radiated by the computer and protects internal parts from electrostatic discharge. Large tower cases provide space for multiple disk drives or other peripherals and usually stand on the floor, while desktop cases provide less expansion room. All-in-one style designs include a video display built into the same case. Portable and laptop computers require cases that provide impact protection for
1273-401: Is also used in the visualization pipeline of radiological imaging software such as MEDInria or Starviewer which perform multi-volume (also called fusion) and time-dependent (also called phase) visualizations. GNU Project The GNU Project ( / ɡ n uː / ) is a free software , mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal
1340-473: Is either true or false. Boolean algebra is now the basis of the circuits that model the transistors and other components of integrated circuits that make up modern computer hardware. In 1945, Turing finished the design for a computer (the Automatic Computing Engine ) that was never built. Around this time, technological advancement in relays and vacuum tubes enabled the construction of
1407-524: Is in fact illegal. Legislation makes it mandatory to recycle computers through the government approved facilities. Recycling a computer can be made easier by taking out certain reusable parts. For example, the RAM , DVD drive, the graphics card , hard drive or SSD , and other similar removable parts can be reused. Many materials used in computer hardware can be recovered by recycling for use in future production. Reuse of tin , silicon , iron , aluminum , and
SECTION 20
#17328590040951474-483: Is laid out and each project has specifics for what type of developer is able to perform the task needed for a certain piece of the GNU project. The skill level ranges from project to project but anyone with background knowledge in programming is encouraged to support the project. The packaging of GNU tools, together with the Linux kernel and other programs, is usually called a Linux distribution (distro). The GNU Project calls
1541-539: Is now independently managed by the GNOME Project . GNU Enterprise ( GNUe ) was a meta-project started in 1996, and can be regarded as a sub-project of the GNU Project. GNUe's goal is to create free "enterprise-class data-aware applications" ( enterprise resource planners , etc.). GNUe is designed to collect Enterprise software for the GNU system in a single location (much like the GNOME project collects Desktop software),it
1608-490: Is released under a strong copyleft, although some is released under a weak copyleft or a lax, push-over free software license. The first goal of the GNU project was to create a whole free-software operating system. Because UNIX was already widespread and ran on more powerful machines, compared to contemporary CP/M or MS-DOS machines of time, it was decided it would be a Unix-like operating system. Richard Stallman later commented that he considered MS-DOS "a toy". By 1992,
1675-434: Is surrounded by cooling fluid) and direct-to-chip (where the cooling fluid is directed to each computer chip) can be more expensive but are also more efficient. Most computers are designed to be more powerful than their cooling system, but their sustained operations cannot exceed the capacity of the cooling system. While performance can be temporarily increased when the computer is not hot ( overclocking ), in order to protect
1742-534: Is the main component of a computer. It is a board with integrated circuitry that connects the other parts of the computer including the CPU , the RAM , the disk drives ( CD , DVD , hard disk , or any others) as well as any peripherals connected via the ports or the expansion slots . The integrated circuit (IC) chips in a computer typically contain billions of tiny metal–oxide–semiconductor field-effect transistors (MOSFETs). Components directly attached to or to part of
1809-555: Is the same detailed history as at their web site. The GNU Manifesto was written by Richard Stallman to gain support and participation in the GNU Project. In the GNU Manifesto, Stallman listed four freedoms essential to software users: freedom to run a program for any purpose, freedom to study the mechanics of the program and modify it, freedom to redistribute copies, and freedom to improve and change modified versions for public use. To implement these freedoms, users needed full access to
1876-446: Is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license . In order to ensure that the entire software of a computer grants its users all freedom rights (use, share, study, modify), even
1943-536: The free software community . One of the most notable projects of the GNU Project is the GNU Compiler Collection , whose components have been adopted as the standard compiler system on many Unix-like systems. The copyright of most works by the GNU Project is owned by the Free Software Foundation. The GNOME desktop effort was launched by the GNU Project because another desktop system, KDE ,
2010-454: The kernel and the compiler were finished, GNU was able to be used for program development . The main goal was to create many other applications to be like the Unix system. GNU was able to run Unix programs but was not identical to it. GNU incorporated longer file names, file version numbers, and a crash-proof file system. The GNU Manifesto was written to gain support and participation from others for
2077-401: The operating system to map virtual memory to different areas of the finite physical memory. Computer processors generate heat, and excessive heat impacts their performance and can harm the components. Many computer chips will automatically throttle their performance to avoid overheating. Computers also typically have mechanisms for dissipating excessive heat, such as air or liquid coolers for
VTK - Misplaced Pages Continue
2144-415: The source code . To ensure code remained free and provide it to the public, Stallman created the GNU General Public License (GPL), which allowed software and the future generations of code derived from it to remain free for public use. Although most of the GNU Project's output is technical in nature, it was launched as a social, ethical, and political initiative. As well as producing software and licenses,
2211-475: The C++ core into Python, Java and Tcl, so that VTK applications may also be written using these programming languages. VTK was initially created in 1993 as companion software to the book The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics . The book and software were written by three researchers (Will Schroeder, Ken Martin and Bill Lorensen) on their own time and with permission from General Electric (thus
2278-403: The CPU and GPU and heatsinks for other components, such as the RAM . Computer cases are also often ventilated to help dissipate heat from the computer. Data centers typically use more sophisticated cooling solutions to keep the operating temperature of the entire center safe. Air-cooled systems are more common in smaller or older data centers, while liquid-cooled immersion (where each computer
2345-501: The GNU FSDG include Dragora GNU/Linux-Libre , GNU Guix System , Hyperbola GNU/Linux-libre , Parabola GNU/Linux-libre , Trisquel GNU/Linux , PureOS , and a few others. The Fedora Project's distribution license guidelines were used as a basis for the FSDG. The Fedora Project's own guidelines, however, currently do not follow the FSDG, and thus the GNU Project does not consider Fedora to be
2412-423: The GNU Project has published a number of writings, the majority of which were authored by Richard Stallman. The GNU project uses software that is free for users to copy, edit, and distribute. It is free in the sense that users can change the software to fit individual needs. The way programmers obtain the free software depends on where they get it. The software could be provided to the programmer from friends or over
2479-452: The GNU project had completed all of the major operating system utilities, but had not completed their proposed operating system kernel , GNU Hurd . With the release of the Linux kernel , started independently by Linus Torvalds in 1991, and released under the GPLv2 with version 0.12 in 1992, for the first time it was possible to run an operating system composed completely of free software. Though
2546-455: The Internet, or the company a programmer works for may purchase the software. Proceeds from associate members, purchases, and donations support the GNU Project. Copyleft is what helps maintain free use of this software among other programmers. Copyleft gives the legal right to everyone to use, edit, and redistribute programs or programs' code as long as the distribution terms do not change. As
2613-499: The Linux kernel is not part of the GNU project, it was developed using GCC and other GNU programming tools and was released as free software under the GNU General Public License . Most compilation of the Linux kernel is still done with GNU toolchains, but it is currently possible to use the Clang compiler and the LLVM toolchain for compilation. As of present, the GNU project has not released
2680-548: The annual rate of improvement in hardware performance exceeded 50 percent, enabling the development of new computing devices such as tablets and mobiles. Alongside the density of transistors, DRAM memory as well as flash and magnetic disk storage also became exponentially more compact and cheaper. The rate of improvement slackened off in the twenty-first century. In the twenty-first century, increases in performance have been driven by increasing exploitation of parallelism . Applications are often parallelizable in two ways: either
2747-618: The atmosphere, landfill or waterways. While electronics consist a small fraction of total waste generated, they are far more dangerous. There is stringent legislation designed to enforce and encourage the sustainable disposal of appliances, the most notable being the Waste Electrical and Electronic Equipment Directive of the European Union and the United States National Computer Recycling Act. E-cycling ,
VTK - Misplaced Pages Continue
2814-451: The combination of GNU and the Linux kernel "GNU/Linux", and asks others to do the same, resulting in the GNU/Linux naming controversy . Most Linux distros combine GNU packages with a Linux kernel which contains proprietary binary blobs . The GNU Free System Distribution Guidelines (GNU FSDG) is a system distribution commitment that explains how an installable system distribution (such as
2881-443: The design of the CPU, memory, and memory interconnect . Memory hierarchy ensures that the memory quicker to access (and more expensive) is located closer to the CPU, while slower, cheaper memory for large-volume storage is located further away. Memory is typically segregated to separate programs from data and limit an attacker's ability to alter programs. Most computers use virtual memory to simplify addressing for programs, using
2948-440: The design was incorporated into the earliest computers: punch cards for input and output, memory , an arithmetic unit analogous to central processing units , and even a primitive programming language similar to assembly language . In 1936, Alan Turing developed the universal Turing machine to model any type of computer, proving that no computer would be able to solve the decision problem . The universal Turing machine
3015-490: The development of VTK and even developed a number of VTK modules themselves. VTK forms the core of the 3DSlicer biomedical computing application, and numerous research papers at IEEE Visualization and other conferences based on VTK have appeared. VTK has been used on a large 1024-processor computer at the Los Alamos National Laboratory to process nearly a Petabyte of data. Later VTK was expanded to support
3082-575: The external world or write data respectively. Common examples include keyboards and mice (input) and displays and printers (output). Network interface controllers are used to access the Internet . USB ports also allow power to connected devices—a standard USB supplies power at 5 volts and up to 500 milliamps (2.5 watts ), while powered USB ports with additional pins may allow the delivery of more power—up to 6 amps at 24v. Global revenue from computer hardware in 2023 reached $ 705.17 billion. Because computer parts contain hazardous materials, there
3149-594: The first computers. Building on Babbage's design, relay computers were built by George Stibitz at Bell Laboratories and Harvard University 's Howard Aiken , who engineered the MARK I . Also in 1945, mathematician John von Neumann —working on the ENIAC project at the University of Pennsylvania —devised the underlying von Neumann architecture that has served as the template for most modern computers. Von Neumann's design featured
3216-486: The first operating system that was free software, commonly known as Linux . The project's current work includes software development, awareness building, political campaigning, and sharing of new material. Richard Stallman announced his intent to start coding the GNU Project in a Usenet message in September 1983. Despite never having used Unix prior, Stallman felt that it was the most appropriate system design to use as
3283-461: The hardware from excessive heat, the system will automatically reduce performance or shut down the processor if necessary. Processors also will shut off or enter a low power mode when inactive to reduce heat. Power delivery as well as heat dissipation are the most challenging aspects of hardware design, and have been the limiting factor to the development of smaller and faster chips since the early twenty-first century. Increases in performance require
3350-694: The ingestion, processing and display of informatics data. This work was supported by Sandia National Laboratories under the 'Titan' project. In 2013, a survey paper on visualization for radiotherapy noticed that while VTK is a powerful and widely known toolkit, it lacked a number of important features, such as multivolume rendering, had no support of proprietary CUDA from NVidia , no support of out-of-core rendering and no native support for visualization of time-dependent volumetric data. However, since 2013 there have been improvements such as VTK-m which can speed-up and parallelize certain computationally intensive tasks using libraries like Sandia 's Kokkos . VTK
3417-413: The limitations of contemporary fabrication and design flaws, Leibniz' reckoner was not very functional, but similar devices ( Leibniz wheel ) remained in use into the 1970s. In the 19th century, Englishman Charles Babbage invented the difference engine , a mechanical device to calculate polynomials for astronomical purposes. Babbage also designed a general-purpose computer that was never built. Much of
SECTION 50
#17328590040953484-525: The lungs, liver, and kidneys. Computer components contain many toxic substances, like dioxins , polychlorinated biphenyls (PCBs), cadmium , chromium , radioactive isotopes and mercury . Circuit boards contain considerable quantities of lead-tin solders that are more likely to leach into groundwater or create air pollution due to incineration. Recycling of computer hardware is considered environmentally friendly because it prevents hazardous waste , including heavy metals and carcinogens, from entering
3551-506: The metal plates. Resistors, semiconductors, infrared detectors, stabilizers, cables, and wires contain cadmium. The circuit boards in a computer contain mercury, and chromium. When these types of materials, and chemicals are disposed improperly will become hazardous for the environment. When e-waste byproducts leach into groundwater, are burned, or get mishandled during recycling, it causes harm. Health problems associated with such toxins include impaired mental development, cancer, and damage to
3618-475: The most fundamental and important part, the operating system (including all its numerous utility programs) needed to be free software. Stallman decided to call this operating system GNU (a recursive acronym meaning " GNU's not Unix! "), basing its design on that of Unix , a proprietary operating system. According to its manifesto, the founding goal of the project was to build a free operating system, and if possible, "everything useful that normally comes with
3685-443: The motherboard include: An expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or backplane to add functionality to a computer system via the expansion bus. Expansion cards can be used to obtain or expand on features not offered by the motherboard. Using expansion cards for a video processor used to be common, but modern computers are more likely to instead have
3752-509: The number of instructions the machines need to use. Based on a recognition that only a few instructions are commonly used, RISC shrinks the instruction set for added simplicity, which also enables the inclusion of more registers . After the invention of RISC in the 1980s, RISC based architectures that used pipelining and caching to increase performance displaced CISC architectures, particularly in applications with restrictions on power usage or space (such as mobile phones ). From 1986 to 2003,
3819-574: The ownership of the software resided with, and continues to reside with, the authors). After the core of VTK was written, users and developers around the world began to improve and apply the system to real-world problems. With the founding of Kitware , the VTK community grew rapidly, and toolkit usage expanded into academic, research and commercial applications. A number of major companies and organizations, such as Sandia National Laboratories , Livermore National Laboratory , Los Alamos National Laboratory funded
3886-487: The project. Programmers were encouraged to take part in any aspect of the project that interested them. People could donate funds, computer parts, or even their own time to write code and programs for the project. The origins and development of most aspects of the GNU Project (and free software in general) are shared in a detailed narrative in the Emacs help system. (C-h g runs the Emacs editor command describe-gnu-project .) It
3953-552: The recycling of computer hardware, refers to the donation, reuse, shredding and general collection of used electronics. Generically, the term refers to the process of collecting, brokering, disassembling, repairing and recycling the components or metals contained in used or discarded electronic equipment, otherwise known as electronic waste (e-waste). E-cyclable items include, but are not limited to: televisions, computers, microwave ovens, vacuum cleaners, telephones and cellular phones, stereos, and VCRs and DVDs just about anything that has
4020-646: The same function is running across multiple areas of data ( data parallelism ) or different tasks can be performed simultaneously with limited interaction ( task parallelism ). These forms of parallelism are accommodated by various hardware strategies, including instruction-level parallelism (such as instruction pipelining ), vector architectures and graphical processing units (GPUs) that are able to implement data parallelism, thread-level parallelism and request-level parallelism (both implementing task-level parallelism). Microarchitecture , also known as computer organization, refers to high-level hardware questions such as
4087-451: The separation of the computing unit and the I/O system in many diagrams, typically the hardware is shared, with a bit in the computing unit indicating whether it is in computation or I/O mode. Common types of ISAs include CISC ( complex instruction set computer ), RISC ( reduced instruction set computer ), vector operations , and hybrid modes. CISC involves using a larger expression set to minimize
SECTION 60
#17328590040954154-445: The system's performance. Computer architecture requires prioritizing between different goals, such as cost, speed, availability, and energy efficiency. The designer must have a good grasp of the hardware requirements and many different aspects of computing, from compilers to integrated circuit design. Cost has also become a significant constraint for manufacturers seeking to sell their products for less money than competitors offering
4221-446: The unit. Hobbyists may decorate the cases with colored lights, paint, or other features, in an activity called case modding . Most personal computer power supply units meet the ATX standard and convert from alternating current (AC) at between 120 and 277 volts provided from a power outlet to direct current (DC) at a much lower voltage: typically 12, 5, or 3.3 volts. The motherboard
4288-423: Was GNOME, which tackled the same issue from a different angle. It aimed to make a replacement for KDE that had no dependencies on proprietary software. The Harmony project did not make much progress, but GNOME developed very well. Eventually, the proprietary component that KDE depended on ( Qt ) was released as free software. GNOME has since dissociated itself from the GNU Project and the Free Software Foundation, and
4355-451: Was a type of stored-program computer capable of mimicking the operations of any Turing machine (computer model) based on the software instructions passed to it. The storage of computer programs is key to the operation of modern computers and is the connection between computer hardware and software. Even prior to this, in the mid-19th century mathematician George Boole invented Boolean algebra —a system of logic where each proposition
4422-511: Was becoming popular but required users to install Qt , which was then proprietary software . To prevent people from being tempted to install KDE and Qt, the GNU Project simultaneously launched two projects. One was the Harmony toolkit . This was an attempt to make a free software replacement for Qt. Had this project been successful, the perceived problem with the KDE would have been solved. The second project
4489-658: Was later Decommissioned . In 2001, the GNU Project received the USENIX Lifetime Achievement Award for "the ubiquity, breadth, and quality of its freely available redistributable and modifiable software, which has enabled a generation of research and commercial development". Computer hardware Computer hardware includes the physical parts of a computer , such as the central processing unit (CPU), random access memory (RAM) , motherboard , computer data storage , graphics card , sound card , and computer case . It includes external devices such as
#94905